From 5588a70ef810cbc01baa066da6bed78b50fe0051 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 19 Sep 2024 21:57:35 +0530 Subject: [PATCH] Kobo driver: Add some USB ids that Kobo say they will be using in the future It will be nice if they give their distinct product lines unique ids. Fixes #2081193 [Kobo / Tolino usb ids](https://bugs.launchpad.net/calibre/+bug/2081193) --- src/calibre/devices/kobo/driver.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/calibre/devices/kobo/driver.py b/src/calibre/devices/kobo/driver.py index b956b920aa..67a86e8a48 100644 --- a/src/calibre/devices/kobo/driver.py +++ b/src/calibre/devices/kobo/driver.py @@ -1489,6 +1489,13 @@ class KOBOTOUCH(KOBO): TOUCH2_PRODUCT_ID = [0x4224] LIBRA_COLOR_PRODUCT_ID = [0x4237] # This is shared by Kobo Libra Color, Clara Color and Clara BW # as well as tolino shine 5, shine color and vision color. Sigh. + # Kobo says the following will be used in future firmware (end 2024/2025) + CLARA_COLOR_PRODUCT_ID = [0x4238] + CLARA_BW_PRODUCT_ID = [0x4239] + TOLINO_VISION_COLOR_PRODUCT_ID = [0x5237] + TOLINO_SHINE_COLOR_PRODUCT_ID = [0x5238] + TOLINO_SHINE_5thGEN_PRODUCT_ID = [0x5239] + PRODUCT_ID = AURA_PRODUCT_ID + AURA_EDITION2_PRODUCT_ID + \ AURA_HD_PRODUCT_ID + AURA_H2O_PRODUCT_ID + AURA_H2O_EDITION2_PRODUCT_ID + \ GLO_PRODUCT_ID + GLO_HD_PRODUCT_ID + \ @@ -1496,7 +1503,8 @@ class KOBOTOUCH(KOBO): AURA_ONE_PRODUCT_ID + CLARA_HD_PRODUCT_ID + FORMA_PRODUCT_ID + LIBRA_H2O_PRODUCT_ID + \ NIA_PRODUCT_ID + ELIPSA_PRODUCT_ID + \ SAGE_PRODUCT_ID + LIBRA2_PRODUCT_ID + CLARA_2E_PRODUCT_ID + ELIPSA_2E_PRODUCT_ID + \ - LIBRA_COLOR_PRODUCT_ID + LIBRA_COLOR_PRODUCT_ID + CLARA_COLOR_PRODUCT_ID + CLARA_BW_PRODUCT_ID + \ + TOLINO_VISION_COLOR_PRODUCT_ID + TOLINO_SHINE_COLOR_PRODUCT_ID + TOLINO_SHINE_5thGEN_PRODUCT_ID BCD = [0x0110, 0x0326, 0x401, 0x409] @@ -3648,10 +3656,10 @@ class KOBOTOUCH(KOBO): return self.detected_device.idProduct in self.CLARA_2E_PRODUCT_ID def isClaraBW(self): - return self.device_model_id.endswith('391') + return self.device_model_id.endswith('391') or self.detected_device.idProduct in self.CLARA_BW_PRODUCT_ID def isClaraColor(self): - return self.device_model_id.endswith('393') + return self.device_model_id.endswith('393') or self.detected_device.idProduct in self.CLARA_COLOR_PRODUCT_ID def isElipsa2E(self): return self.detected_device.idProduct in self.ELIPSA_2E_PRODUCT_ID