aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorAndreas Nielsen <eas@svep.se>2012-03-19 10:41:03 -0400
committerJiri Kosina <jkosina@suse.cz>2012-03-20 08:17:22 -0400
commit4d5df5d11e8027c11c1079205757527cbaade62d (patch)
treee041e044fdc76626f0ed02dfb77f4b418a9d005b /drivers
parent740363fb75f421f9a00a183f673b477c3029b572 (diff)
HID: multitouch: add PID for Fructel product
Adds multitouch support for the Gametel Android game controller. The multitouch events are emulated by the Gametel device. Each physical button is configured to generate a MT event on a specific coordinate. This seems to be the only way for us to support Android games that doesn't support HID gamepads. It is possible to inject MT events at Android level, but this requires root on the phone. Signed-off-by: Andreas Nielsen <eas@svep.se> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/hid/hid-core.c1
-rw-r--r--drivers/hid/hid-ids.h3
-rw-r--r--drivers/hid/hid-multitouch.c5
3 files changed, 9 insertions, 0 deletions
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index 95095e5568a4..8ea595236d64 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -1422,6 +1422,7 @@ static const struct hid_device_id hid_have_special_driver[] = {
1422 { HID_USB_DEVICE(USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2515) }, 1422 { HID_USB_DEVICE(USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2515) },
1423 { HID_USB_DEVICE(USB_VENDOR_ID_EMS, USB_DEVICE_ID_EMS_TRIO_LINKER_PLUS_II) }, 1423 { HID_USB_DEVICE(USB_VENDOR_ID_EMS, USB_DEVICE_ID_EMS_TRIO_LINKER_PLUS_II) },
1424 { HID_USB_DEVICE(USB_VENDOR_ID_EZKEY, USB_DEVICE_ID_BTC_8193) }, 1424 { HID_USB_DEVICE(USB_VENDOR_ID_EZKEY, USB_DEVICE_ID_BTC_8193) },
1425 { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_FRUCTEL, USB_DEVICE_ID_GAMETEL_MT_MODE) },
1425 { HID_USB_DEVICE(USB_VENDOR_ID_GAMERON, USB_DEVICE_ID_GAMERON_DUAL_PSX_ADAPTOR) }, 1426 { HID_USB_DEVICE(USB_VENDOR_ID_GAMERON, USB_DEVICE_ID_GAMERON_DUAL_PSX_ADAPTOR) },
1426 { HID_USB_DEVICE(USB_VENDOR_ID_GAMERON, USB_DEVICE_ID_GAMERON_DUAL_PCS_ADAPTOR) }, 1427 { HID_USB_DEVICE(USB_VENDOR_ID_GAMERON, USB_DEVICE_ID_GAMERON_DUAL_PCS_ADAPTOR) },
1427 { HID_USB_DEVICE(USB_VENDOR_ID_GENERAL_TOUCH, USB_DEVICE_ID_GENERAL_TOUCH_WIN7_TWOFINGERS) }, 1428 { HID_USB_DEVICE(USB_VENDOR_ID_GENERAL_TOUCH, USB_DEVICE_ID_GENERAL_TOUCH_WIN7_TWOFINGERS) },
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 5dcda615da36..5d7ef721f09c 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -271,6 +271,9 @@
271#define USB_VENDOR_ID_EZKEY 0x0518 271#define USB_VENDOR_ID_EZKEY 0x0518
272#define USB_DEVICE_ID_BTC_8193 0x0002 272#define USB_DEVICE_ID_BTC_8193 0x0002
273 273
274#define USB_VENDOR_ID_FRUCTEL 0x25B6
275#define USB_DEVICE_ID_GAMETEL_MT_MODE 0x0002
276
274#define USB_VENDOR_ID_GAMERON 0x0810 277#define USB_VENDOR_ID_GAMERON 0x0810
275#define USB_DEVICE_ID_GAMERON_DUAL_PSX_ADAPTOR 0x0001 278#define USB_DEVICE_ID_GAMERON_DUAL_PSX_ADAPTOR 0x0001
276#define USB_DEVICE_ID_GAMERON_DUAL_PCS_ADAPTOR 0x0002 279#define USB_DEVICE_ID_GAMERON_DUAL_PCS_ADAPTOR 0x0002
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index 24fc4423b937..ddba4c50815b 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -742,6 +742,11 @@ static const struct hid_device_id mt_devices[] = {
742 HID_USB_DEVICE(USB_VENDOR_ID_GENERAL_TOUCH, 742 HID_USB_DEVICE(USB_VENDOR_ID_GENERAL_TOUCH,
743 USB_DEVICE_ID_GENERAL_TOUCH_WIN7_TWOFINGERS) }, 743 USB_DEVICE_ID_GENERAL_TOUCH_WIN7_TWOFINGERS) },
744 744
745 /* Gametel game controller */
746 { .driver_data = MT_CLS_DEFAULT,
747 HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_FRUCTEL,
748 USB_DEVICE_ID_GAMETEL_MT_MODE) },
749
745 /* GoodTouch panels */ 750 /* GoodTouch panels */
746 { .driver_data = MT_CLS_DEFAULT, 751 { .driver_data = MT_CLS_DEFAULT,
747 HID_USB_DEVICE(USB_VENDOR_ID_GOODTOUCH, 752 HID_USB_DEVICE(USB_VENDOR_ID_GOODTOUCH,