Skip to contentSkip to conversation

HID: kye: Add support for 3 tablets

PATCH Superseded Nikolai Kondrashov 3 participants 6 messages Feb 23, 2012 – Feb 28, 2012 1 message not in the archive

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 HID: kye: Add support for 3 tablets

Add support for three KYE tablets: EasyPen i405X, MousePen i608X, EasyPen M610X. Update Kconfig entry accordingly, remove EXPERT dependency.

---

I'm not sure if the Kconfig entry is changed correctly, and maybe it's not worth citing these huge original report descriptors. Otherwise, the patch was tested with all the tablets and they work.

 drivers/hid/Kconfig             |    9 +-
 drivers/hid/hid-core.c          |    3 +
 drivers/hid/hid-ids.h           |    3 +
 drivers/hid/hid-kye.c           | 1119 ++++++++++++++++++++++++++++++++++++++-
 drivers/hid/usbhid/hid-quirks.c |    2 +
 5 files changed, 1116 insertions(+), 20 deletions(-)
drivers/hid/Kconfig +6 -3
index 58776c4..54cc92f 100644
@@ -200,11 +200,14 @@ config HID_KEYTOUCH
 		- Keytouch IEC 60945
 
 config HID_KYE
-	tristate "Kye/Genius Ergo Mouse" if EXPERT
+	tristate "KYE/Genius devices"
 	depends on USB_HID
-	default !EXPERT
 	---help---
-	Support for Kye/Genius Ergo Mouse.
+	Support for KYE/Genius devices not fully compliant with HID standard:
+	- Ergo Mouse
+	- EasyPen i405X tablet
+	- MousePen i608X tablet
+	- EasyPen M610X tablet
 
 config HID_UCLOGIC
 	tristate "UC-Logic"
drivers/hid/hid-core.c +3 -0
index bd89b31..6d923bd 100644
@@ -1436,6 +1436,9 @@ static const struct hid_device_id hid_have_special_driver[] = {
 	{ HID_USB_DEVICE(USB_VENDOR_ID_KENSINGTON, USB_DEVICE_ID_KS_SLIMBLADE) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_KEYTOUCH, USB_DEVICE_ID_KEYTOUCH_IEC) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_ERGO_525V) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_EASYPEN_I405X) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_MOUSEPEN_I608X) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_EASYPEN_M610X) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_LABTEC, USB_DEVICE_ID_LABTEC_WIRELESS_KEYBOARD) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_LCPOWER, USB_DEVICE_ID_LCPOWER_LC1000 ) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_LG, USB_DEVICE_ID_LG_MULTITOUCH) },
drivers/hid/hid-ids.h +3 -0
index 520243c..0ce075b 100644
@@ -407,6 +407,9 @@
 #define USB_VENDOR_ID_KYE		0x0458
 #define USB_DEVICE_ID_KYE_ERGO_525V	0x0087
 #define USB_DEVICE_ID_KYE_GPEN_560	0x5003
+#define USB_DEVICE_ID_KYE_EASYPEN_I405X	0x5010
+#define USB_DEVICE_ID_KYE_MOUSEPEN_I608X	0x5011
+#define USB_DEVICE_ID_KYE_EASYPEN_M610X	0x5013
 
 #define USB_VENDOR_ID_LABTEC		0x1020
 #define USB_DEVICE_ID_LABTEC_WIRELESS_KEYBOARD	0x0006
drivers/hid/hid-kye.c +1102 -17

1,150 lines not on this page · raw message

drivers/hid/usbhid/hid-quirks.c +2 -0
index ae7d283..3cfea61 100644
@@ -95,6 +95,8 @@ static const struct hid_blacklist {
 	{ USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_MULTI_TOUCH, HID_QUIRK_MULTI_INPUT },
 	{ USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_WIRELESS, HID_QUIRK_MULTI_INPUT },
 	{ USB_VENDOR_ID_SIGMA_MICRO, USB_DEVICE_ID_SIGMA_MICRO_KEYBOARD, HID_QUIRK_NO_INIT_REPORTS },
+	{ USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_MOUSEPEN_I608X, HID_QUIRK_MULTI_INPUT },
+	{ USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_EASYPEN_M610X, HID_QUIRK_MULTI_INPUT },
 	{ 0, 0 }
 };
 
Signature · 1 line
1.7.9

A message that is not in the archive (sent off-list or not yet received): 1329985774-4123-1-git-send-email-spbnick-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org

#2 lore raw
Quoted 4 lines · Nikolai Kondrashov

Add support for three KYE tablets: EasyPen i405X, MousePen i608X, EasyPen M610X. Update Kconfig entry accordingly, remove EXPERT dependency.

Nikolai,

thanks a lot for the patch.

Quoted 1 line

I'm not sure if the Kconfig entry is changed correctly,

As it now becomes more mature and stand-alone driver than a trivial quirk for one simple device, it's correct.

Quoted 1 line

and maybe it's not worth citing these huge original report descriptors.

That's actually something I have been considering for quite some time already.

Would you strongly object to dropping all those you have added into various hid drivers already? I think the new rdesc + a few words of comment why we had to change the descriptor would be enough.

So I am not applying this patch now, and I'd like to ask you to respin it with the original rdesc comment removed and send a followup patch that does the substitution/removal in the other drivers.

Sounds ok?

Thanks,

Signature · 6 lines
Jiri Kosina
SUSE Labs
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#3 lore raw

Hi Jiri,

Quoted 3 lines · Jiri Kosina

Would you strongly object to dropping all those you have added into various hid drivers already? I think the new rdesc + a few words of comment why we had to change the descriptor would be enough.

No, I wouldn't object. I think it will make the code clearer. There is some value in having the original descriptors there, but not that much.

I think I'll post the original descriptors on the emerging DIGImend project wiki instead.

Quoted 5 lines

So I am not applying this patch now, and I'd like to ask you to respin it with the original rdesc comment removed and send a followup patch that does the substitution/removal in the other drivers.

Sounds ok?

Sure.

I'll be sending a new version of this patch in about a day and later the removal patch.

Thanks :)

Sincerely,
Nick

#4 lore raw

PATCH v2 1/1 HID: kye: Add support for 3 tablets

In reply to Jiri Kosina

Add support for three KYE tablets: EasyPen i405X, MousePen i608X, EasyPen M610X. Update Kconfig entry accordingly, remove EXPERT dependency.

---

This version replaces original report descriptor comments with links to tablet descriptions on the DIGImend project wiki.

 drivers/hid/Kconfig             |    9 +-
 drivers/hid/hid-core.c          |    3 +
 drivers/hid/hid-ids.h           |    3 +
 drivers/hid/hid-kye.c           |  399 +++++++++++++++++++++++++++++++++++++--
 drivers/hid/usbhid/hid-quirks.c |    2 +
 5 files changed, 396 insertions(+), 20 deletions(-)
drivers/hid/Kconfig +6 -3
index 58776c4..54cc92f 100644
@@ -200,11 +200,14 @@ config HID_KEYTOUCH
 		- Keytouch IEC 60945
 
 config HID_KYE
-	tristate "Kye/Genius Ergo Mouse" if EXPERT
+	tristate "KYE/Genius devices"
 	depends on USB_HID
-	default !EXPERT
 	---help---
-	Support for Kye/Genius Ergo Mouse.
+	Support for KYE/Genius devices not fully compliant with HID standard:
+	- Ergo Mouse
+	- EasyPen i405X tablet
+	- MousePen i608X tablet
+	- EasyPen M610X tablet
 
 config HID_UCLOGIC
 	tristate "UC-Logic"
drivers/hid/hid-core.c +3 -0
index bd89b31..6d923bd 100644
@@ -1436,6 +1436,9 @@ static const struct hid_device_id hid_have_special_driver[] = {
 	{ HID_USB_DEVICE(USB_VENDOR_ID_KENSINGTON, USB_DEVICE_ID_KS_SLIMBLADE) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_KEYTOUCH, USB_DEVICE_ID_KEYTOUCH_IEC) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_ERGO_525V) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_EASYPEN_I405X) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_MOUSEPEN_I608X) },
+	{ HID_USB_DEVICE(USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_EASYPEN_M610X) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_LABTEC, USB_DEVICE_ID_LABTEC_WIRELESS_KEYBOARD) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_LCPOWER, USB_DEVICE_ID_LCPOWER_LC1000 ) },
 	{ HID_USB_DEVICE(USB_VENDOR_ID_LG, USB_DEVICE_ID_LG_MULTITOUCH) },
drivers/hid/hid-ids.h +3 -0
index 520243c..0ce075b 100644
@@ -407,6 +407,9 @@
 #define USB_VENDOR_ID_KYE		0x0458
 #define USB_DEVICE_ID_KYE_ERGO_525V	0x0087
 #define USB_DEVICE_ID_KYE_GPEN_560	0x5003
+#define USB_DEVICE_ID_KYE_EASYPEN_I405X	0x5010
+#define USB_DEVICE_ID_KYE_MOUSEPEN_I608X	0x5011
+#define USB_DEVICE_ID_KYE_EASYPEN_M610X	0x5013
 
 #define USB_VENDOR_ID_LABTEC		0x1020
 #define USB_DEVICE_ID_LABTEC_WIRELESS_KEYBOARD	0x0006
drivers/hid/hid-kye.c +382 -17

430 lines not on this page · raw message

drivers/hid/usbhid/hid-quirks.c +2 -0
index ae7d283..3cfea61 100644
@@ -95,6 +95,8 @@ static const struct hid_blacklist {
 	{ USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_MULTI_TOUCH, HID_QUIRK_MULTI_INPUT },
 	{ USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_WIRELESS, HID_QUIRK_MULTI_INPUT },
 	{ USB_VENDOR_ID_SIGMA_MICRO, USB_DEVICE_ID_SIGMA_MICRO_KEYBOARD, HID_QUIRK_NO_INIT_REPORTS },
+	{ USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_MOUSEPEN_I608X, HID_QUIRK_MULTI_INPUT },
+	{ USB_VENDOR_ID_KYE, USB_DEVICE_ID_KYE_EASYPEN_M610X, HID_QUIRK_MULTI_INPUT },
 	{ 0, 0 }
 };
 
Signature · 1 line
1.7.9
Applied
#5 lore raw
Quoted 1 line · Nikolai Kondrashov

Add support for three KYE tablets: EasyPen i405X, MousePen i608X, EasyPen M610X.

Applied, thanks.

Signature · 2 lines
Jiri Kosina
SUSE Labs