diff options
author | Nikolai Kondrashov <spbnick@gmail.com> | 2016-09-14 14:38:18 -0400 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2016-09-19 08:32:23 -0400 |
commit | 18e3dfac16ae66209fdb570a429089be1907caa1 (patch) | |
tree | f6652dc9afaaa2dd0e4afe7f6e5fdfc3b4c48385 | |
parent | 4b7e7e5eda1d415158c04c77b0b2a1648fa59815 (diff) |
HID: uclogic: Support UGTizer GP0610 partially
Add partial support for the UGTizer GP0610 tablet (aka iBall PF1064U,
aka UGTizer GT1060) to the hid-uclogic.c driver.
The pen input is supported fully, but frame buttons and wheel don't work
yet.
Signed-off-by: Nikolai Kondrashov <spbnick@gmail.com>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-rw-r--r-- | drivers/hid/hid-core.c | 1 | ||||
-rw-r--r-- | drivers/hid/hid-ids.h | 3 | ||||
-rw-r--r-- | drivers/hid/hid-uclogic.c | 14 |
3 files changed, 18 insertions, 0 deletions
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c index df2770a5291f..e21ac0b9f566 100644 --- a/drivers/hid/hid-core.c +++ b/drivers/hid/hid-core.c | |||
@@ -2087,6 +2087,7 @@ static const struct hid_device_id hid_have_special_driver[] = { | |||
2087 | { HID_USB_DEVICE(USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UGEE_TABLET_81) }, | 2087 | { HID_USB_DEVICE(USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UGEE_TABLET_81) }, |
2088 | { HID_USB_DEVICE(USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UGEE_TABLET_45) }, | 2088 | { HID_USB_DEVICE(USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UGEE_TABLET_45) }, |
2089 | { HID_USB_DEVICE(USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_DRAWIMAGE_G3) }, | 2089 | { HID_USB_DEVICE(USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_DRAWIMAGE_G3) }, |
2090 | { HID_USB_DEVICE(USB_VENDOR_ID_UGTIZER, USB_DEVICE_ID_UGTIZER_TABLET_GP0610) }, | ||
2090 | { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_SMARTJOY_PLUS) }, | 2091 | { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_SMARTJOY_PLUS) }, |
2091 | { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_SUPER_JOY_BOX_3) }, | 2092 | { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_SUPER_JOY_BOX_3) }, |
2092 | { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_DUAL_USB_JOYPAD) }, | 2093 | { HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_DUAL_USB_JOYPAD) }, |
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index 6ef9dbf84059..15067a902e8e 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h | |||
@@ -1089,4 +1089,7 @@ | |||
1089 | #define USB_DEVICE_ID_RAPHNET_2NES2SNES 0x0002 | 1089 | #define USB_DEVICE_ID_RAPHNET_2NES2SNES 0x0002 |
1090 | #define USB_DEVICE_ID_RAPHNET_4NES4SNES 0x0003 | 1090 | #define USB_DEVICE_ID_RAPHNET_4NES4SNES 0x0003 |
1091 | 1091 | ||
1092 | #define USB_VENDOR_ID_UGTIZER 0x2179 | ||
1093 | #define USB_DEVICE_ID_UGTIZER_TABLET_GP0610 0x0053 | ||
1094 | |||
1092 | #endif | 1095 | #endif |
diff --git a/drivers/hid/hid-uclogic.c b/drivers/hid/hid-uclogic.c index f4377c458787..72778b34046e 100644 --- a/drivers/hid/hid-uclogic.c +++ b/drivers/hid/hid-uclogic.c | |||
@@ -974,6 +974,19 @@ static int uclogic_probe(struct hid_device *hdev, | |||
974 | drvdata->ignore_pen_usage = true; | 974 | drvdata->ignore_pen_usage = true; |
975 | } | 975 | } |
976 | break; | 976 | break; |
977 | case USB_DEVICE_ID_UGTIZER_TABLET_GP0610: | ||
978 | /* If this is the pen interface */ | ||
979 | if (intf->cur_altsetting->desc.bInterfaceNumber == 1) { | ||
980 | rc = uclogic_tablet_enable(hdev); | ||
981 | if (rc) { | ||
982 | hid_err(hdev, "tablet enabling failed\n"); | ||
983 | return rc; | ||
984 | } | ||
985 | drvdata->invert_pen_inrange = true; | ||
986 | } else { | ||
987 | drvdata->ignore_pen_usage = true; | ||
988 | } | ||
989 | break; | ||
977 | } | 990 | } |
978 | 991 | ||
979 | rc = hid_parse(hdev); | 992 | rc = hid_parse(hdev); |
@@ -1031,6 +1044,7 @@ static const struct hid_device_id uclogic_devices[] = { | |||
1031 | { HID_USB_DEVICE(USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UGEE_TABLET_81) }, | 1044 | { HID_USB_DEVICE(USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UGEE_TABLET_81) }, |
1032 | { HID_USB_DEVICE(USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UGEE_TABLET_45) }, | 1045 | { HID_USB_DEVICE(USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UGEE_TABLET_45) }, |
1033 | { HID_USB_DEVICE(USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_DRAWIMAGE_G3) }, | 1046 | { HID_USB_DEVICE(USB_VENDOR_ID_UCLOGIC, USB_DEVICE_ID_UCLOGIC_DRAWIMAGE_G3) }, |
1047 | { HID_USB_DEVICE(USB_VENDOR_ID_UGTIZER, USB_DEVICE_ID_UGTIZER_TABLET_GP0610) }, | ||
1034 | { } | 1048 | { } |
1035 | }; | 1049 | }; |
1036 | MODULE_DEVICE_TABLE(hid, uclogic_devices); | 1050 | MODULE_DEVICE_TABLE(hid, uclogic_devices); |