Skip to content

Commit 67db8a8

Browse files
committed
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
Pull HID updates from Jiri Kosina: - spurious power/wakeup sysfs files removal for I2C-HID devices, from Andrew Duggan - Logitech M560 support, from Goffredo Baroncelli - a lot of housekeeping cleanups to hid-lg4ff driver, from Michal Maly - improved support for Plantronics devices, from Terry Junge - Sony Motion Controller and Navigation Controller support and subsequent cleanups of hid-sony driver, from Frank Praznik and Simon Wood - HW support improvements to the Wacom driver, from Jason Gerecke and Ping Cheng - assorted small cleanups and device ID additions all over the place * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (69 commits) HID: cypress: use swap() in cp_report_fixup() HID: microsoft: Add Surface Power Cover HID: hid-sony: Fix report descriptor for Navigation Controller HID: hid-sony: Navigation controller only has 1 LED and no rumble HID: hid-sony: Add BT support for Navigation Controller HID: wacom: Introduce new 'touch_input' device HID: wacom: Split apart 'wacom_setup_pentouch_input_capabilites' HID: wacom: Introduce a new WACOM_DEVICETYPE_PAD device_type HID: wacom: Treat features->device_type values as flags HID: wacom: Simplify 'wacom_update_name' HID: rmi: Disable populating F30 when the touchpad has physical buttons HID: plantronics: Update to map volume up/down controls HID: sony: PS Move fix report descriptor HID: sony: PS3 Move enable LEDs and Rumble via BT HID: sony: Add support PS3 Move Battery via BT HID: sony: Add quirk for MOTION_CONTROLLER_BT HID: sony: Support PS3 Move Controller when connected via Bluetooth HID: i2c-hid: Do not set the ACPI companion field in the HID device usb, HID: Remove Vernier devices from lsusb and hid_ignore_list HID: hidpp: Add driver for mouse logitech M560 ...
2 parents a394c6a + ec3b34e commit 67db8a8

27 files changed

+1575
-625
lines changed

Documentation/ABI/testing/sysfs-driver-hid-logitech-lg4ff

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
1-
What: /sys/module/hid_logitech/drivers/hid:logitech/<dev>/range.
1+
What: /sys/bus/hid/drivers/logitech/<dev>/range
22
Date: July 2011
33
KernelVersion: 3.2
4-
Contact: Michal Malý <madcatxster@gmail.com>
4+
Contact: Michal Malý <madcatxster@devoid-pointer.net>
55
Description: Display minimum, maximum and current range of the steering
66
wheel. Writing a value within min and max boundaries sets the
77
range of the wheel.
88

99
What: /sys/bus/hid/drivers/logitech/<dev>/alternate_modes
1010
Date: Feb 2015
1111
KernelVersion: 4.1
12-
Contact: Michal Malý <madcatxster@gmail.com>
12+
Contact: Michal Malý <madcatxster@devoid-pointer.net>
1313
Description: Displays a set of alternate modes supported by a wheel. Each
1414
mode is listed as follows:
1515
Tag: Mode Name
@@ -45,7 +45,7 @@ Description: Displays a set of alternate modes supported by a wheel. Each
4545
What: /sys/bus/hid/drivers/logitech/<dev>/real_id
4646
Date: Feb 2015
4747
KernelVersion: 4.1
48-
Contact: Michal Malý <madcatxster@gmail.com>
48+
Contact: Michal Malý <madcatxster@devoid-pointer.net>
4949
Description: Displays the real model of the wheel regardless of any
5050
alternate mode the wheel might be switched to.
5151
It is a read-only value.

MAINTAINERS

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4650,6 +4650,18 @@ F: drivers/hid/
46504650
F: include/linux/hid*
46514651
F: include/uapi/linux/hid*
46524652

4653+
HID SENSOR HUB DRIVERS
4654+
M: Jiri Kosina <[email protected]>
4655+
M: Jonathan Cameron <[email protected]>
4656+
M: Srinivas Pandruvada <[email protected]>
4657+
4658+
4659+
S: Maintained
4660+
F: Documentation/hid/hid-sensor*
4661+
F: drivers/hid/hid-sensor-*
4662+
F: drivers/iio/*/hid-*
4663+
F: include/linux/hid-sensor-*
4664+
46534665
HIGH-RESOLUTION TIMERS, CLOCKEVENTS, DYNTICKS
46544666
M: Thomas Gleixner <[email protected]>
46554667

drivers/hid/Kconfig

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -634,7 +634,12 @@ config HID_PLANTRONICS
634634
tristate "Plantronics USB HID Driver"
635635
depends on HID
636636
---help---
637-
Provides HID support for Plantronics telephony devices.
637+
Provides HID support for Plantronics USB audio devices.
638+
Correctly maps vendor unique volume up/down HID usages to
639+
KEY_VOLUMEUP and KEY_VOLUMEDOWN events and prevents core mapping
640+
of other vendor unique HID usages to random mouse events.
641+
642+
Say M here if you may ever plug in a Plantronics USB audio device.
638643

639644
config HID_PRIMAX
640645
tristate "Primax non-fully HID-compliant devices"

drivers/hid/Makefile

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ obj-$(CONFIG_HID_A4TECH) += hid-a4tech.o
2424
obj-$(CONFIG_HID_ACRUX) += hid-axff.o
2525
obj-$(CONFIG_HID_APPLE) += hid-apple.o
2626
obj-$(CONFIG_HID_APPLEIR) += hid-appleir.o
27-
obj-$(CONFIG_HID_AUREAL) += hid-aureal.o
27+
obj-$(CONFIG_HID_AUREAL) += hid-aureal.o
2828
obj-$(CONFIG_HID_BELKIN) += hid-belkin.o
2929
obj-$(CONFIG_HID_BETOP_FF) += hid-betopff.o
3030
obj-$(CONFIG_HID_CHERRY) += hid-cherry.o
@@ -46,12 +46,12 @@ obj-$(CONFIG_HID_ICADE) += hid-icade.o
4646
obj-$(CONFIG_HID_KENSINGTON) += hid-kensington.o
4747
obj-$(CONFIG_HID_KEYTOUCH) += hid-keytouch.o
4848
obj-$(CONFIG_HID_KYE) += hid-kye.o
49-
obj-$(CONFIG_HID_LCPOWER) += hid-lcpower.o
49+
obj-$(CONFIG_HID_LCPOWER) += hid-lcpower.o
5050
obj-$(CONFIG_HID_LENOVO) += hid-lenovo.o
5151
obj-$(CONFIG_HID_LOGITECH) += hid-logitech.o
5252
obj-$(CONFIG_HID_LOGITECH_DJ) += hid-logitech-dj.o
5353
obj-$(CONFIG_HID_LOGITECH_HIDPP) += hid-logitech-hidpp.o
54-
obj-$(CONFIG_HID_MAGICMOUSE) += hid-magicmouse.o
54+
obj-$(CONFIG_HID_MAGICMOUSE) += hid-magicmouse.o
5555
obj-$(CONFIG_HID_MICROSOFT) += hid-microsoft.o
5656
obj-$(CONFIG_HID_MONTEREY) += hid-monterey.o
5757
obj-$(CONFIG_HID_MULTITOUCH) += hid-multitouch.o

drivers/hid/hid-core.c

Lines changed: 15 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -706,7 +706,8 @@ static void hid_scan_collection(struct hid_parser *parser, unsigned type)
706706

707707
if (hid->vendor == USB_VENDOR_ID_MICROSOFT &&
708708
(hid->product == USB_DEVICE_ID_MS_TYPE_COVER_3 ||
709-
hid->product == USB_DEVICE_ID_MS_TYPE_COVER_3_JP) &&
709+
hid->product == USB_DEVICE_ID_MS_TYPE_COVER_3_JP ||
710+
hid->product == USB_DEVICE_ID_MS_POWER_COVER) &&
710711
hid->group == HID_GROUP_MULTITOUCH)
711712
hid->group = HID_GROUP_GENERIC;
712713

@@ -1061,13 +1062,13 @@ static u32 s32ton(__s32 value, unsigned n)
10611062
* Search linux-kernel and linux-usb-devel archives for "hid-core extract".
10621063
*/
10631064

1064-
static __u32 extract(const struct hid_device *hid, __u8 *report,
1065+
__u32 hid_field_extract(const struct hid_device *hid, __u8 *report,
10651066
unsigned offset, unsigned n)
10661067
{
10671068
u64 x;
10681069

10691070
if (n > 32)
1070-
hid_warn(hid, "extract() called with n (%d) > 32! (%s)\n",
1071+
hid_warn(hid, "hid_field_extract() called with n (%d) > 32! (%s)\n",
10711072
n, current->comm);
10721073

10731074
report += offset >> 3; /* adjust byte index */
@@ -1076,6 +1077,7 @@ static __u32 extract(const struct hid_device *hid, __u8 *report,
10761077
x = (x >> offset) & ((1ULL << n) - 1); /* extract bit field */
10771078
return (u32) x;
10781079
}
1080+
EXPORT_SYMBOL_GPL(hid_field_extract);
10791081

10801082
/*
10811083
* "implement" : set bits in a little endian bit stream.
@@ -1221,9 +1223,9 @@ static void hid_input_field(struct hid_device *hid, struct hid_field *field,
12211223
for (n = 0; n < count; n++) {
12221224

12231225
value[n] = min < 0 ?
1224-
snto32(extract(hid, data, offset + n * size, size),
1225-
size) :
1226-
extract(hid, data, offset + n * size, size);
1226+
snto32(hid_field_extract(hid, data, offset + n * size,
1227+
size), size) :
1228+
hid_field_extract(hid, data, offset + n * size, size);
12271229

12281230
/* Ignore report if ErrorRollOver */
12291231
if (!(field->flags & HID_MAIN_ITEM_VARIABLE) &&
@@ -1851,6 +1853,7 @@ static const struct hid_device_id hid_have_special_driver[] = {
18511853
{ HID_USB_DEVICE(USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_TPKBD) },
18521854
{ HID_USB_DEVICE(USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_CUSBKBD) },
18531855
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_CBTKBD) },
1856+
{ HID_USB_DEVICE(USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_TPPRODOCK) },
18541857
#endif
18551858
{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_MX3000_RECEIVER) },
18561859
{ HID_USB_DEVICE(USB_VENDOR_ID_LOGITECH, USB_DEVICE_ID_S510_RECEIVER) },
@@ -1901,6 +1904,7 @@ static const struct hid_device_id hid_have_special_driver[] = {
19011904
{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_OFFICE_KB) },
19021905
{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_3) },
19031906
{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_TYPE_COVER_3_JP) },
1907+
{ HID_USB_DEVICE(USB_VENDOR_ID_MICROSOFT, USB_DEVICE_ID_MS_POWER_COVER) },
19041908
{ HID_USB_DEVICE(USB_VENDOR_ID_MONTEREY, USB_DEVICE_ID_GENIUS_KB29E) },
19051909
{ HID_USB_DEVICE(USB_VENDOR_ID_MSI, USB_DEVICE_ID_MSI_GT683R_LED_PANEL) },
19061910
{ HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN) },
@@ -1959,9 +1963,12 @@ static const struct hid_device_id hid_have_special_driver[] = {
19591963
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SMK, USB_DEVICE_ID_SMK_PS3_BDREMOTE) },
19601964
{ HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_BUZZ_CONTROLLER) },
19611965
{ HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_WIRELESS_BUZZ_CONTROLLER) },
1966+
{ HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_MOTION_CONTROLLER) },
1967+
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_MOTION_CONTROLLER) },
1968+
{ HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_NAVIGATION_CONTROLLER) },
1969+
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_NAVIGATION_CONTROLLER) },
19621970
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS3_BDREMOTE) },
19631971
{ HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS3_CONTROLLER) },
1964-
{ HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_NAVIGATION_CONTROLLER) },
19651972
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS3_CONTROLLER) },
19661973
{ HID_USB_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS4_CONTROLLER) },
19671974
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_SONY, USB_DEVICE_ID_SONY_PS4_CONTROLLER) },
@@ -1997,6 +2004,7 @@ static const struct hid_device_id hid_have_special_driver[] = {
19972004
{ HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP_LTD, USB_DEVICE_ID_SUPER_JOY_BOX_3_PRO) },
19982005
{ HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP_LTD, USB_DEVICE_ID_SUPER_DUAL_BOX_PRO) },
19992006
{ HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP_LTD, USB_DEVICE_ID_SUPER_JOY_BOX_5_PRO) },
2007+
{ HID_USB_DEVICE(USB_VENDOR_ID_PLAYDOTCOM, USB_DEVICE_ID_PLAYDOTCOM_EMS_USBII) },
20002008
{ HID_USB_DEVICE(USB_VENDOR_ID_WALTOP, USB_DEVICE_ID_WALTOP_SLIM_TABLET_5_8_INCH) },
20012009
{ HID_USB_DEVICE(USB_VENDOR_ID_WALTOP, USB_DEVICE_ID_WALTOP_SLIM_TABLET_12_1_INCH) },
20022010
{ HID_USB_DEVICE(USB_VENDOR_ID_WALTOP, USB_DEVICE_ID_WALTOP_Q_PAD) },
@@ -2265,14 +2273,6 @@ static const struct hid_device_id hid_ignore_list[] = {
22652273
{ HID_USB_DEVICE(USB_VENDOR_ID_GENERAL_TOUCH, 0x0001) },
22662274
{ HID_USB_DEVICE(USB_VENDOR_ID_GENERAL_TOUCH, 0x0002) },
22672275
{ HID_USB_DEVICE(USB_VENDOR_ID_GENERAL_TOUCH, 0x0004) },
2268-
{ HID_USB_DEVICE(USB_VENDOR_ID_GLAB, USB_DEVICE_ID_4_PHIDGETSERVO_30) },
2269-
{ HID_USB_DEVICE(USB_VENDOR_ID_GLAB, USB_DEVICE_ID_1_PHIDGETSERVO_30) },
2270-
{ HID_USB_DEVICE(USB_VENDOR_ID_GLAB, USB_DEVICE_ID_0_0_4_IF_KIT) },
2271-
{ HID_USB_DEVICE(USB_VENDOR_ID_GLAB, USB_DEVICE_ID_0_16_16_IF_KIT) },
2272-
{ HID_USB_DEVICE(USB_VENDOR_ID_GLAB, USB_DEVICE_ID_8_8_8_IF_KIT) },
2273-
{ HID_USB_DEVICE(USB_VENDOR_ID_GLAB, USB_DEVICE_ID_0_8_7_IF_KIT) },
2274-
{ HID_USB_DEVICE(USB_VENDOR_ID_GLAB, USB_DEVICE_ID_0_8_8_IF_KIT) },
2275-
{ HID_USB_DEVICE(USB_VENDOR_ID_GLAB, USB_DEVICE_ID_PHIDGET_MOTORCONTROL) },
22762276
{ HID_USB_DEVICE(USB_VENDOR_ID_GOTOP, USB_DEVICE_ID_SUPER_Q2) },
22772277
{ HID_USB_DEVICE(USB_VENDOR_ID_GOTOP, USB_DEVICE_ID_GOGOPEN) },
22782278
{ HID_USB_DEVICE(USB_VENDOR_ID_GOTOP, USB_DEVICE_ID_PENPOWER) },
@@ -2399,14 +2399,6 @@ static const struct hid_device_id hid_ignore_list[] = {
23992399
{ HID_USB_DEVICE(USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_WTP) },
24002400
{ HID_USB_DEVICE(USB_VENDOR_ID_SYNAPTICS, USB_DEVICE_ID_SYNAPTICS_DPAD) },
24012401
#endif
2402-
{ HID_USB_DEVICE(USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_LABPRO) },
2403-
{ HID_USB_DEVICE(USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_GOTEMP) },
2404-
{ HID_USB_DEVICE(USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_SKIP) },
2405-
{ HID_USB_DEVICE(USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_CYCLOPS) },
2406-
{ HID_USB_DEVICE(USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_LCSPEC) },
2407-
{ HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_4_PHIDGETSERVO_20) },
2408-
{ HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_1_PHIDGETSERVO_20) },
2409-
{ HID_USB_DEVICE(USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_8_8_4_IF_KIT) },
24102402
{ HID_USB_DEVICE(USB_VENDOR_ID_YEALINK, USB_DEVICE_ID_YEALINK_P1K_P4K_B2K) },
24112403
{ HID_USB_DEVICE(USB_VENDOR_ID_RISO_KAGAKU, USB_DEVICE_ID_RI_KA_WEBMAIL) },
24122404
{ }

drivers/hid/hid-cypress.c

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,9 @@ static __u8 *cp_report_fixup(struct hid_device *hdev, __u8 *rdesc,
4141

4242
for (i = 0; i < *rsize - 4; i++)
4343
if (rdesc[i] == 0x29 && rdesc[i + 2] == 0x19) {
44-
__u8 tmp;
45-
4644
rdesc[i] = 0x19;
4745
rdesc[i + 2] = 0x29;
48-
tmp = rdesc[i + 3];
49-
rdesc[i + 3] = rdesc[i + 1];
50-
rdesc[i + 1] = tmp;
46+
swap(rdesc[i + 3], rdesc[i + 1]);
5147
}
5248
return rdesc;
5349
}

drivers/hid/hid-ids.h

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -227,6 +227,7 @@
227227
#define USB_DEVICE_ID_CHICONY_TACTICAL_PAD 0x0418
228228
#define USB_DEVICE_ID_CHICONY_MULTI_TOUCH 0xb19d
229229
#define USB_DEVICE_ID_CHICONY_WIRELESS 0x0618
230+
#define USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE 0x1053
230231
#define USB_DEVICE_ID_CHICONY_WIRELESS2 0x1123
231232
#define USB_DEVICE_ID_CHICONY_AK1D 0x1125
232233

@@ -363,16 +364,6 @@
363364
#define USB_DEVICE_ID_GENERAL_TOUCH_WIN8_PIT_010A 0x010a
364365
#define USB_DEVICE_ID_GENERAL_TOUCH_WIN8_PIT_E100 0xe100
365366

366-
#define USB_VENDOR_ID_GLAB 0x06c2
367-
#define USB_DEVICE_ID_4_PHIDGETSERVO_30 0x0038
368-
#define USB_DEVICE_ID_1_PHIDGETSERVO_30 0x0039
369-
#define USB_DEVICE_ID_0_0_4_IF_KIT 0x0040
370-
#define USB_DEVICE_ID_0_16_16_IF_KIT 0x0044
371-
#define USB_DEVICE_ID_8_8_8_IF_KIT 0x0045
372-
#define USB_DEVICE_ID_0_8_7_IF_KIT 0x0051
373-
#define USB_DEVICE_ID_0_8_8_IF_KIT 0x0053
374-
#define USB_DEVICE_ID_PHIDGET_MOTORCONTROL 0x0058
375-
376367
#define USB_VENDOR_ID_GOODTOUCH 0x1aad
377368
#define USB_DEVICE_ID_GOODTOUCH_000f 0x000f
378369

@@ -586,6 +577,7 @@
586577
#define USB_DEVICE_ID_LENOVO_TPKBD 0x6009
587578
#define USB_DEVICE_ID_LENOVO_CUSBKBD 0x6047
588579
#define USB_DEVICE_ID_LENOVO_CBTKBD 0x6048
580+
#define USB_DEVICE_ID_LENOVO_TPPRODOCK 0x6067
589581

590582
#define USB_VENDOR_ID_LG 0x1fd2
591583
#define USB_DEVICE_ID_LG_MULTITOUCH 0x0064
@@ -673,6 +665,7 @@
673665
#define USB_DEVICE_ID_MS_TYPE_COVER_2 0x07a9
674666
#define USB_DEVICE_ID_MS_TYPE_COVER_3 0x07dc
675667
#define USB_DEVICE_ID_MS_TYPE_COVER_3_JP 0x07dd
668+
#define USB_DEVICE_ID_MS_POWER_COVER 0x07da
676669

677670
#define USB_VENDOR_ID_MOJO 0x8282
678671
#define USB_DEVICE_ID_RETRO_ADAPTER 0x3201
@@ -852,6 +845,7 @@
852845
#define USB_DEVICE_ID_SONY_PS3_BDREMOTE 0x0306
853846
#define USB_DEVICE_ID_SONY_PS3_CONTROLLER 0x0268
854847
#define USB_DEVICE_ID_SONY_PS4_CONTROLLER 0x05c4
848+
#define USB_DEVICE_ID_SONY_MOTION_CONTROLLER 0x03d5
855849
#define USB_DEVICE_ID_SONY_NAVIGATION_CONTROLLER 0x042f
856850
#define USB_DEVICE_ID_SONY_BUZZ_CONTROLLER 0x0002
857851
#define USB_DEVICE_ID_SONY_WIRELESS_BUZZ_CONTROLLER 0x1000
@@ -958,13 +952,6 @@
958952
#define USB_DEVICE_ID_VELLEMAN_K8061_FIRST 0x8061
959953
#define USB_DEVICE_ID_VELLEMAN_K8061_LAST 0x8068
960954

961-
#define USB_VENDOR_ID_VERNIER 0x08f7
962-
#define USB_DEVICE_ID_VERNIER_LABPRO 0x0001
963-
#define USB_DEVICE_ID_VERNIER_GOTEMP 0x0002
964-
#define USB_DEVICE_ID_VERNIER_SKIP 0x0003
965-
#define USB_DEVICE_ID_VERNIER_CYCLOPS 0x0004
966-
#define USB_DEVICE_ID_VERNIER_LCSPEC 0x0006
967-
968955
#define USB_VENDOR_ID_VTL 0x0306
969956
#define USB_DEVICE_ID_VTL_MULTITOUCH_FF3F 0xff3f
970957

@@ -983,9 +970,6 @@
983970

984971
#define USB_VENDOR_ID_WISEGROUP 0x0925
985972
#define USB_DEVICE_ID_SMARTJOY_PLUS 0x0005
986-
#define USB_DEVICE_ID_1_PHIDGETSERVO_20 0x8101
987-
#define USB_DEVICE_ID_4_PHIDGETSERVO_20 0x8104
988-
#define USB_DEVICE_ID_8_8_4_IF_KIT 0x8201
989973
#define USB_DEVICE_ID_SUPER_JOY_BOX_3 0x8888
990974
#define USB_DEVICE_ID_QUAD_USB_JOYPAD 0x8800
991975
#define USB_DEVICE_ID_DUAL_USB_JOYPAD 0x8866
@@ -1039,4 +1023,11 @@
10391023
#define USB_VENDOR_ID_RISO_KAGAKU 0x1294 /* Riso Kagaku Corp. */
10401024
#define USB_DEVICE_ID_RI_KA_WEBMAIL 0x1320 /* Webmail Notifier */
10411025

1026+
#define USB_VENDOR_ID_MULTIPLE_1781 0x1781
1027+
#define USB_DEVICE_ID_RAPHNET_4NES4SNES_OLD 0x0a8d
1028+
1029+
#define USB_VENDOR_ID_DRACAL_RAPHNET 0x289b
1030+
#define USB_DEVICE_ID_RAPHNET_2NES2SNES 0x0002
1031+
#define USB_DEVICE_ID_RAPHNET_4NES4SNES 0x0003
1032+
10421033
#endif

drivers/hid/hid-input.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1157,7 +1157,8 @@ void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct
11571157
return;
11581158

11591159
/* report the usage code as scancode if the key status has changed */
1160-
if (usage->type == EV_KEY && !!test_bit(usage->code, input->key) != value)
1160+
if (usage->type == EV_KEY &&
1161+
(!test_bit(usage->code, input->key)) == value)
11611162
input_event(input, EV_MSC, MSC_SCAN, usage->hid);
11621163

11631164
input_event(input, usage->type, usage->code, value);

0 commit comments

Comments
 (0)