diff options
| -rw-r--r-- | drivers/hid/Kconfig | 1 | ||||
| -rw-r--r-- | drivers/hid/hid-core.c | 21 | ||||
| -rw-r--r-- | drivers/hid/hid-debug.c | 2 | ||||
| -rw-r--r-- | drivers/hid/hid-ids.h | 21 | ||||
| -rw-r--r-- | drivers/hid/hid-ntrig.c | 36 | ||||
| -rw-r--r-- | drivers/hid/usbhid/hid-core.c | 13 | ||||
| -rw-r--r-- | drivers/hid/usbhid/hid-quirks.c | 2 |
7 files changed, 91 insertions, 5 deletions
diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig index 132278fa6240..434099369058 100644 --- a/drivers/hid/Kconfig +++ b/drivers/hid/Kconfig | |||
| @@ -358,6 +358,7 @@ config HID_ROCCAT | |||
| 358 | config HID_ROCCAT_KONE | 358 | config HID_ROCCAT_KONE |
| 359 | tristate "Roccat Kone Mouse support" | 359 | tristate "Roccat Kone Mouse support" |
| 360 | depends on USB_HID | 360 | depends on USB_HID |
| 361 | select HID_ROCCAT | ||
| 361 | ---help--- | 362 | ---help--- |
| 362 | Support for Roccat Kone mouse. | 363 | Support for Roccat Kone mouse. |
| 363 | 364 | ||
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c index aa0f7dcabcd7..866e54ec5fb2 100644 --- a/drivers/hid/hid-core.c +++ b/drivers/hid/hid-core.c | |||
| @@ -1337,6 +1337,24 @@ static const struct hid_device_id hid_blacklist[] = { | |||
| 1337 | { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_WIRELESS_OPTICAL_DESKTOP_3_0) }, | 1337 | { HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_WIRELESS_OPTICAL_DESKTOP_3_0) }, |
| 1338 | { HID_USB_DEVICE(USB_VENDOR_ID_MONTEREY, USB_DEVICE_ID_GENIUS_KB29E) }, | 1338 | { HID_USB_DEVICE(USB_VENDOR_ID_MONTEREY, USB_DEVICE_ID_GENIUS_KB29E) }, |
| 1339 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN) }, | 1339 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN) }, |
| 1340 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_1) }, | ||
| 1341 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_2) }, | ||
| 1342 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_3) }, | ||
| 1343 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_4) }, | ||
| 1344 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_5) }, | ||
| 1345 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_6) }, | ||
| 1346 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_7) }, | ||
| 1347 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_8) }, | ||
| 1348 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_9) }, | ||
| 1349 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_10) }, | ||
| 1350 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_11) }, | ||
| 1351 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_12) }, | ||
| 1352 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_13) }, | ||
| 1353 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_14) }, | ||
| 1354 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_15) }, | ||
| 1355 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_16) }, | ||
| 1356 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_17) }, | ||
| 1357 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_18) }, | ||
| 1340 | { HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_WKB2000) }, | 1358 | { HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_WKB2000) }, |
| 1341 | { HID_USB_DEVICE(USB_VENDOR_ID_PETALYNX, USB_DEVICE_ID_PETALYNX_MAXTER_REMOTE) }, | 1359 | { HID_USB_DEVICE(USB_VENDOR_ID_PETALYNX, USB_DEVICE_ID_PETALYNX_MAXTER_REMOTE) }, |
| 1342 | { HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH) }, | 1360 | { HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH) }, |
| @@ -1760,7 +1778,8 @@ int hid_add_device(struct hid_device *hdev) | |||
| 1760 | 1778 | ||
| 1761 | /* we need to kill them here, otherwise they will stay allocated to | 1779 | /* we need to kill them here, otherwise they will stay allocated to |
| 1762 | * wait for coming driver */ | 1780 | * wait for coming driver */ |
| 1763 | if (!(hdev->quirks & HID_QUIRK_NO_IGNORE) && hid_ignore(hdev)) | 1781 | if (!(hdev->quirks & HID_QUIRK_NO_IGNORE) |
| 1782 | && (hid_ignore(hdev) || (hdev->quirks & HID_QUIRK_IGNORE))) | ||
| 1764 | return -ENODEV; | 1783 | return -ENODEV; |
| 1765 | 1784 | ||
| 1766 | /* XXX hack, any other cleaner solution after the driver core | 1785 | /* XXX hack, any other cleaner solution after the driver core |
diff --git a/drivers/hid/hid-debug.c b/drivers/hid/hid-debug.c index c94026768570..850d02a7a925 100644 --- a/drivers/hid/hid-debug.c +++ b/drivers/hid/hid-debug.c | |||
| @@ -949,8 +949,8 @@ static ssize_t hid_debug_events_read(struct file *file, char __user *buffer, | |||
| 949 | int ret = 0, len; | 949 | int ret = 0, len; |
| 950 | DECLARE_WAITQUEUE(wait, current); | 950 | DECLARE_WAITQUEUE(wait, current); |
| 951 | 951 | ||
| 952 | mutex_lock(&list->read_mutex); | ||
| 952 | while (ret == 0) { | 953 | while (ret == 0) { |
| 953 | mutex_lock(&list->read_mutex); | ||
| 954 | if (list->head == list->tail) { | 954 | if (list->head == list->tail) { |
| 955 | add_wait_queue(&list->hdev->debug_wait, &wait); | 955 | add_wait_queue(&list->hdev->debug_wait, &wait); |
| 956 | set_current_state(TASK_INTERRUPTIBLE); | 956 | set_current_state(TASK_INTERRUPTIBLE); |
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index 6af77ed0b555..31601eef25dd 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h | |||
| @@ -134,6 +134,7 @@ | |||
| 134 | #define USB_VENDOR_ID_CH 0x068e | 134 | #define USB_VENDOR_ID_CH 0x068e |
| 135 | #define USB_DEVICE_ID_CH_PRO_PEDALS 0x00f2 | 135 | #define USB_DEVICE_ID_CH_PRO_PEDALS 0x00f2 |
| 136 | #define USB_DEVICE_ID_CH_COMBATSTICK 0x00f4 | 136 | #define USB_DEVICE_ID_CH_COMBATSTICK 0x00f4 |
| 137 | #define USB_DEVICE_ID_CH_FLIGHT_SIM_ECLIPSE_YOKE 0x0051 | ||
| 137 | #define USB_DEVICE_ID_CH_FLIGHT_SIM_YOKE 0x00ff | 138 | #define USB_DEVICE_ID_CH_FLIGHT_SIM_YOKE 0x00ff |
| 138 | #define USB_DEVICE_ID_CH_3AXIS_5BUTTON_STICK 0x00d3 | 139 | #define USB_DEVICE_ID_CH_3AXIS_5BUTTON_STICK 0x00d3 |
| 139 | 140 | ||
| @@ -369,6 +370,8 @@ | |||
| 369 | #define USB_DEVICE_ID_MS_PRESENTER_8K_BT 0x0701 | 370 | #define USB_DEVICE_ID_MS_PRESENTER_8K_BT 0x0701 |
| 370 | #define USB_DEVICE_ID_MS_PRESENTER_8K_USB 0x0713 | 371 | #define USB_DEVICE_ID_MS_PRESENTER_8K_USB 0x0713 |
| 371 | 372 | ||
| 373 | #define USB_VENDOR_ID_MOJO 0x8282 | ||
| 374 | #define USB_DEVICE_ID_RETRO_ADAPTER 0x3201 | ||
| 372 | 375 | ||
| 373 | #define USB_VENDOR_ID_MONTEREY 0x0566 | 376 | #define USB_VENDOR_ID_MONTEREY 0x0566 |
| 374 | #define USB_DEVICE_ID_GENIUS_KB29E 0x3004 | 377 | #define USB_DEVICE_ID_GENIUS_KB29E 0x3004 |
| @@ -391,6 +394,24 @@ | |||
| 391 | 394 | ||
| 392 | #define USB_VENDOR_ID_NTRIG 0x1b96 | 395 | #define USB_VENDOR_ID_NTRIG 0x1b96 |
| 393 | #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN 0x0001 | 396 | #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN 0x0001 |
| 397 | #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_1 0x0003 | ||
| 398 | #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_2 0x0004 | ||
| 399 | #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_3 0x0005 | ||
| 400 | #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_4 0x0006 | ||
| 401 | #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_5 0x0007 | ||
| 402 | #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_6 0x0008 | ||
| 403 | #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_7 0x0009 | ||
| 404 | #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_8 0x000A | ||
| 405 | #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_9 0x000B | ||
| 406 | #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_10 0x000C | ||
| 407 | #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_11 0x000D | ||
| 408 | #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_12 0x000E | ||
| 409 | #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_13 0x000F | ||
| 410 | #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_14 0x0010 | ||
| 411 | #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_15 0x0011 | ||
| 412 | #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_16 0x0012 | ||
| 413 | #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_17 0x0013 | ||
| 414 | #define USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_18 0x0014 | ||
| 394 | 415 | ||
| 395 | #define USB_VENDOR_ID_ONTRAK 0x0a07 | 416 | #define USB_VENDOR_ID_ONTRAK 0x0a07 |
| 396 | #define USB_DEVICE_ID_ONTRAK_ADU100 0x0064 | 417 | #define USB_DEVICE_ID_ONTRAK_ADU100 0x0064 |
diff --git a/drivers/hid/hid-ntrig.c b/drivers/hid/hid-ntrig.c index b6b0caeeac58..fb69b8c4953f 100644 --- a/drivers/hid/hid-ntrig.c +++ b/drivers/hid/hid-ntrig.c | |||
| @@ -868,6 +868,42 @@ static void ntrig_remove(struct hid_device *hdev) | |||
| 868 | static const struct hid_device_id ntrig_devices[] = { | 868 | static const struct hid_device_id ntrig_devices[] = { |
| 869 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN), | 869 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN), |
| 870 | .driver_data = NTRIG_DUPLICATE_USAGES }, | 870 | .driver_data = NTRIG_DUPLICATE_USAGES }, |
| 871 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_1), | ||
| 872 | .driver_data = NTRIG_DUPLICATE_USAGES }, | ||
| 873 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_2), | ||
| 874 | .driver_data = NTRIG_DUPLICATE_USAGES }, | ||
| 875 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_3), | ||
| 876 | .driver_data = NTRIG_DUPLICATE_USAGES }, | ||
| 877 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_4), | ||
| 878 | .driver_data = NTRIG_DUPLICATE_USAGES }, | ||
| 879 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_5), | ||
| 880 | .driver_data = NTRIG_DUPLICATE_USAGES }, | ||
| 881 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_6), | ||
| 882 | .driver_data = NTRIG_DUPLICATE_USAGES }, | ||
| 883 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_7), | ||
| 884 | .driver_data = NTRIG_DUPLICATE_USAGES }, | ||
| 885 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_8), | ||
| 886 | .driver_data = NTRIG_DUPLICATE_USAGES }, | ||
| 887 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_9), | ||
| 888 | .driver_data = NTRIG_DUPLICATE_USAGES }, | ||
| 889 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_10), | ||
| 890 | .driver_data = NTRIG_DUPLICATE_USAGES }, | ||
| 891 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_11), | ||
| 892 | .driver_data = NTRIG_DUPLICATE_USAGES }, | ||
| 893 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_12), | ||
| 894 | .driver_data = NTRIG_DUPLICATE_USAGES }, | ||
| 895 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_13), | ||
| 896 | .driver_data = NTRIG_DUPLICATE_USAGES }, | ||
| 897 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_14), | ||
| 898 | .driver_data = NTRIG_DUPLICATE_USAGES }, | ||
| 899 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_15), | ||
| 900 | .driver_data = NTRIG_DUPLICATE_USAGES }, | ||
| 901 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_16), | ||
| 902 | .driver_data = NTRIG_DUPLICATE_USAGES }, | ||
| 903 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_17), | ||
| 904 | .driver_data = NTRIG_DUPLICATE_USAGES }, | ||
| 905 | { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_18), | ||
| 906 | .driver_data = NTRIG_DUPLICATE_USAGES }, | ||
| 871 | { } | 907 | { } |
| 872 | }; | 908 | }; |
| 873 | MODULE_DEVICE_TABLE(hid, ntrig_devices); | 909 | MODULE_DEVICE_TABLE(hid, ntrig_devices); |
diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c index 1ebd3244eb85..b729c0286679 100644 --- a/drivers/hid/usbhid/hid-core.c +++ b/drivers/hid/usbhid/hid-core.c | |||
| @@ -827,14 +827,21 @@ static int usbhid_output_raw_report(struct hid_device *hid, __u8 *buf, size_t co | |||
| 827 | ret++; | 827 | ret++; |
| 828 | } | 828 | } |
| 829 | } else { | 829 | } else { |
| 830 | int skipped_report_id = 0; | ||
| 831 | if (buf[0] == 0x0) { | ||
| 832 | /* Don't send the Report ID */ | ||
| 833 | buf++; | ||
| 834 | count--; | ||
| 835 | skipped_report_id = 1; | ||
| 836 | } | ||
| 830 | ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), | 837 | ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), |
| 831 | HID_REQ_SET_REPORT, | 838 | HID_REQ_SET_REPORT, |
| 832 | USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, | 839 | USB_DIR_OUT | USB_TYPE_CLASS | USB_RECIP_INTERFACE, |
| 833 | ((report_type + 1) << 8) | *buf, | 840 | ((report_type + 1) << 8) | *buf, |
| 834 | interface->desc.bInterfaceNumber, buf + 1, count - 1, | 841 | interface->desc.bInterfaceNumber, buf, count, |
| 835 | USB_CTRL_SET_TIMEOUT); | 842 | USB_CTRL_SET_TIMEOUT); |
| 836 | /* count also the report id */ | 843 | /* count also the report id, if this was a numbered report. */ |
| 837 | if (ret > 0) | 844 | if (ret > 0 && skipped_report_id) |
| 838 | ret++; | 845 | ret++; |
| 839 | } | 846 | } |
| 840 | 847 | ||
diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c index 5ff8d327f33a..5f5aa39b3988 100644 --- a/drivers/hid/usbhid/hid-quirks.c +++ b/drivers/hid/usbhid/hid-quirks.c | |||
| @@ -34,6 +34,7 @@ static const struct hid_blacklist { | |||
| 34 | { USB_VENDOR_ID_ALPS, USB_DEVICE_ID_IBM_GAMEPAD, HID_QUIRK_BADPAD }, | 34 | { USB_VENDOR_ID_ALPS, USB_DEVICE_ID_IBM_GAMEPAD, HID_QUIRK_BADPAD }, |
| 35 | { USB_VENDOR_ID_CHIC, USB_DEVICE_ID_CHIC_GAMEPAD, HID_QUIRK_BADPAD }, | 35 | { USB_VENDOR_ID_CHIC, USB_DEVICE_ID_CHIC_GAMEPAD, HID_QUIRK_BADPAD }, |
| 36 | { USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH, HID_QUIRK_MULTI_INPUT }, | 36 | { USB_VENDOR_ID_DWAV, USB_DEVICE_ID_DWAV_EGALAX_MULTITOUCH, HID_QUIRK_MULTI_INPUT }, |
| 37 | { USB_VENDOR_ID_MOJO, USB_DEVICE_ID_RETRO_ADAPTER, HID_QUIRK_MULTI_INPUT }, | ||
| 37 | { USB_VENDOR_ID_HAPP, USB_DEVICE_ID_UGCI_DRIVING, HID_QUIRK_BADPAD | HID_QUIRK_MULTI_INPUT }, | 38 | { USB_VENDOR_ID_HAPP, USB_DEVICE_ID_UGCI_DRIVING, HID_QUIRK_BADPAD | HID_QUIRK_MULTI_INPUT }, |
| 38 | { USB_VENDOR_ID_HAPP, USB_DEVICE_ID_UGCI_FLYING, HID_QUIRK_BADPAD | HID_QUIRK_MULTI_INPUT }, | 39 | { USB_VENDOR_ID_HAPP, USB_DEVICE_ID_UGCI_FLYING, HID_QUIRK_BADPAD | HID_QUIRK_MULTI_INPUT }, |
| 39 | { USB_VENDOR_ID_HAPP, USB_DEVICE_ID_UGCI_FIGHTING, HID_QUIRK_BADPAD | HID_QUIRK_MULTI_INPUT }, | 40 | { USB_VENDOR_ID_HAPP, USB_DEVICE_ID_UGCI_FIGHTING, HID_QUIRK_BADPAD | HID_QUIRK_MULTI_INPUT }, |
| @@ -56,6 +57,7 @@ static const struct hid_blacklist { | |||
| 56 | { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVM, HID_QUIRK_NOGET }, | 57 | { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVM, HID_QUIRK_NOGET }, |
| 57 | { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVMC, HID_QUIRK_NOGET }, | 58 | { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVMC, HID_QUIRK_NOGET }, |
| 58 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_COMBATSTICK, HID_QUIRK_NOGET }, | 59 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_COMBATSTICK, HID_QUIRK_NOGET }, |
| 60 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_FLIGHT_SIM_ECLIPSE_YOKE, HID_QUIRK_NOGET }, | ||
| 59 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_FLIGHT_SIM_YOKE, HID_QUIRK_NOGET }, | 61 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_FLIGHT_SIM_YOKE, HID_QUIRK_NOGET }, |
| 60 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_PRO_PEDALS, HID_QUIRK_NOGET }, | 62 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_PRO_PEDALS, HID_QUIRK_NOGET }, |
| 61 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_3AXIS_5BUTTON_STICK, HID_QUIRK_NOGET }, | 63 | { USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_3AXIS_5BUTTON_STICK, HID_QUIRK_NOGET }, |
