Skip to content

Commit a91ab91

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: - open/close tracking improvements from Dmitry Torokhov - battery support improvements in Wacom driver from Jason Gerecke - Win8 support fixes from Benjamin Tissories and Hans de Geode - misc fixes to Intel-ISH driver from Arnd Bergmann - support for quite a few new devices and small assorted fixes here and there * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (35 commits) HID: intel-ish-hid: Enable Gemini Lake ish driver HID: intel-ish-hid: Enable Cannon Lake ish driver HID: wacom: fix mistake in printk HID: multitouch: optimize the sticky fingers timer HID: multitouch: fix rare Win 8 cases when the touch up event gets missing HID: multitouch: use BIT macro HID: Add driver for Retrode2 joypad adapter HID: multitouch: Add support for Google Rose Touchpad HID: multitouch: Support PTP Stick and Touchpad device HID: core: don't use negative operands when shift HID: apple: Use country code to detect ISO keyboards HID: remove no longer used hid->open field greybus: hid: remove custom locking from gb_hid_open/close HID: usbhid: remove custom locking from usbhid_open/close HID: i2c-hid: remove custom locking from i2c_hid_open/close HID: serialize hid_hw_open and hid_hw_close HID: usbhid: do not rely on hid->open when deciding to do IO HID: hiddev: use hid_hw_power instead of usbhid_get/put_power HID: hiddev: use hid_hw_open/close instead of usbhid_open/close HID: asus: Add support for Zen AiO MD-5110 keyboard ...
2 parents af3c8d9 + 837c194 commit a91ab91

30 files changed

+798
-427
lines changed

drivers/hid/Kconfig

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -388,6 +388,13 @@ config HID_ICADE
388388
To compile this driver as a module, choose M here: the
389389
module will be called hid-icade.
390390

391+
config HID_ITE
392+
tristate "ITE devices"
393+
depends on HID
394+
default !EXPERT
395+
---help---
396+
Support for ITE devices not fully compliant with HID standard.
397+
391398
config HID_TWINHAN
392399
tristate "Twinhan IR remote control"
393400
depends on HID
@@ -741,6 +748,14 @@ config HID_PRIMAX
741748
Support for Primax devices that are not fully compliant with the
742749
HID standard.
743750

751+
config HID_RETRODE
752+
tristate "Retrode"
753+
depends on USB_HID
754+
---help---
755+
Support for
756+
757+
* Retrode 2 cartridge and controller adapter
758+
744759
config HID_ROCCAT
745760
tristate "Roccat device support"
746761
depends on USB_HID

drivers/hid/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ obj-$(CONFIG_HID_HOLTEK) += hid-holtek-mouse.o
5050
obj-$(CONFIG_HID_HOLTEK) += hid-holtekff.o
5151
obj-$(CONFIG_HID_HYPERV_MOUSE) += hid-hyperv.o
5252
obj-$(CONFIG_HID_ICADE) += hid-icade.o
53+
obj-$(CONFIG_HID_ITE) += hid-ite.o
5354
obj-$(CONFIG_HID_KENSINGTON) += hid-kensington.o
5455
obj-$(CONFIG_HID_KEYTOUCH) += hid-keytouch.o
5556
obj-$(CONFIG_HID_KYE) += hid-kye.o
@@ -81,6 +82,7 @@ hid-picolcd-$(CONFIG_DEBUG_FS) += hid-picolcd_debugfs.o
8182

8283
obj-$(CONFIG_HID_PLANTRONICS) += hid-plantronics.o
8384
obj-$(CONFIG_HID_PRIMAX) += hid-primax.o
85+
obj-$(CONFIG_HID_RETRODE) += hid-retrode.o
8486
obj-$(CONFIG_HID_ROCCAT) += hid-roccat.o hid-roccat-common.o \
8587
hid-roccat-arvo.o hid-roccat-isku.o hid-roccat-kone.o \
8688
hid-roccat-koneplus.o hid-roccat-konepure.o hid-roccat-kovaplus.o \

drivers/hid/hid-apple.c

Lines changed: 27 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,16 @@
2828
#define APPLE_IGNORE_MOUSE 0x0002
2929
#define APPLE_HAS_FN 0x0004
3030
#define APPLE_HIDDEV 0x0008
31-
#define APPLE_ISO_KEYBOARD 0x0010
31+
/* 0x0010 reserved, was: APPLE_ISO_KEYBOARD */
3232
#define APPLE_MIGHTYMOUSE 0x0020
3333
#define APPLE_INVERT_HWHEEL 0x0040
3434
#define APPLE_IGNORE_HIDINPUT 0x0080
3535
#define APPLE_NUMLOCK_EMULATION 0x0100
3636

3737
#define APPLE_FLAG_FKEY 0x01
3838

39+
#define HID_COUNTRY_INTERNATIONAL_ISO 13
40+
3941
static unsigned int fnmode = 1;
4042
module_param(fnmode, uint, 0644);
4143
MODULE_PARM_DESC(fnmode, "Mode of fn key on Apple keyboards (0 = disabled, "
@@ -247,7 +249,7 @@ static int hidinput_apple_event(struct hid_device *hid, struct input_dev *input,
247249
}
248250

249251
if (iso_layout) {
250-
if (asc->quirks & APPLE_ISO_KEYBOARD) {
252+
if (hid->country == HID_COUNTRY_INTERNATIONAL_ISO) {
251253
trans = apple_find_translation(apple_iso_keyboard, usage->code);
252254
if (trans) {
253255
input_event(input, usage->type, trans->to, value);
@@ -412,60 +414,54 @@ static const struct hid_device_id apple_devices[] = {
412414
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ANSI),
413415
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
414416
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ISO),
415-
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
416-
APPLE_ISO_KEYBOARD },
417+
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
417418
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_JIS),
418419
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
419420
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ANSI),
420421
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
421422
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ISO),
422-
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
423-
APPLE_ISO_KEYBOARD },
423+
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
424424
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_JIS),
425425
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
426426
APPLE_RDESC_JIS },
427427
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_ANSI),
428428
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
429429
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_ISO),
430-
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
431-
APPLE_ISO_KEYBOARD },
430+
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
432431
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_JIS),
433432
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
434433
APPLE_RDESC_JIS },
435434
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_MINI_ANSI),
436435
.driver_data = APPLE_HAS_FN },
437436
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_MINI_ISO),
438-
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
437+
.driver_data = APPLE_HAS_FN },
439438
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_MINI_JIS),
440439
.driver_data = APPLE_HAS_FN },
441440
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_ANSI),
442441
.driver_data = APPLE_HAS_FN },
443442
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_ISO),
444-
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
443+
.driver_data = APPLE_HAS_FN },
445444
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_JIS),
446445
.driver_data = APPLE_HAS_FN },
447446
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_ANSI),
448447
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
449448
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_ISO),
450-
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
451-
APPLE_ISO_KEYBOARD },
449+
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
452450
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_JIS),
453451
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
454452
APPLE_RDESC_JIS },
455453
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_REVB_ANSI),
456454
.driver_data = APPLE_HAS_FN },
457455
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_REVB_ISO),
458-
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
456+
.driver_data = APPLE_HAS_FN },
459457
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_REVB_JIS),
460458
.driver_data = APPLE_HAS_FN },
461459
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI),
462460
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
463461
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ISO),
464-
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
465-
APPLE_ISO_KEYBOARD },
462+
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
466463
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ISO),
467-
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
468-
APPLE_ISO_KEYBOARD },
464+
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
469465
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE,
470466
USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ANSI),
471467
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
@@ -479,86 +475,85 @@ static const struct hid_device_id apple_devices[] = {
479475
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ANSI),
480476
.driver_data = APPLE_HAS_FN },
481477
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ISO),
482-
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
478+
.driver_data = APPLE_HAS_FN },
483479
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_JIS),
484480
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
485481
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_ANSI),
486482
.driver_data = APPLE_HAS_FN },
487483
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_ISO),
488-
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
484+
.driver_data = APPLE_HAS_FN },
489485
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_JIS),
490486
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
491487
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING3_ANSI),
492488
.driver_data = APPLE_HAS_FN },
493489
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING3_ISO),
494-
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
490+
.driver_data = APPLE_HAS_FN },
495491
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING3_JIS),
496492
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
497493
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4_ANSI),
498494
.driver_data = APPLE_HAS_FN },
499495
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4_ISO),
500-
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
496+
.driver_data = APPLE_HAS_FN },
501497
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4_JIS),
502498
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
503499
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_ANSI),
504500
.driver_data = APPLE_HAS_FN },
505501
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_ISO),
506-
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
502+
.driver_data = APPLE_HAS_FN },
507503
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS),
508504
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
509505
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_ANSI),
510506
.driver_data = APPLE_HAS_FN },
511507
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_ISO),
512-
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
508+
.driver_data = APPLE_HAS_FN },
513509
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_JIS),
514510
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
515511
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6_ANSI),
516512
.driver_data = APPLE_HAS_FN },
517513
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6_ISO),
518-
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
514+
.driver_data = APPLE_HAS_FN },
519515
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6_JIS),
520516
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
521517
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_ANSI),
522518
.driver_data = APPLE_HAS_FN },
523519
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_ISO),
524-
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
520+
.driver_data = APPLE_HAS_FN },
525521
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_JIS),
526522
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
527523
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5A_ANSI),
528524
.driver_data = APPLE_HAS_FN },
529525
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5A_ISO),
530-
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
526+
.driver_data = APPLE_HAS_FN },
531527
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5A_JIS),
532528
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
533529
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7_ANSI),
534530
.driver_data = APPLE_HAS_FN },
535531
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7_ISO),
536-
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
532+
.driver_data = APPLE_HAS_FN },
537533
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7_JIS),
538534
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
539535
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_ANSI),
540536
.driver_data = APPLE_HAS_FN },
541537
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_ISO),
542-
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
538+
.driver_data = APPLE_HAS_FN },
543539
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_JIS),
544540
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
545541
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_ANSI),
546542
.driver_data = APPLE_HAS_FN },
547543
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_ISO),
548-
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
544+
.driver_data = APPLE_HAS_FN },
549545
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_JIS),
550546
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
551547
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING9_ANSI),
552548
.driver_data = APPLE_HAS_FN },
553549
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING9_ISO),
554-
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
550+
.driver_data = APPLE_HAS_FN },
555551
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING9_JIS),
556552
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
557553
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI),
558554
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
559555
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO),
560-
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
561-
APPLE_ISO_KEYBOARD },
556+
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
562557
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_JIS),
563558
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
564559
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY),

drivers/hid/hid-asus.c

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -422,6 +422,33 @@ static int asus_input_mapping(struct hid_device *hdev,
422422
return 1;
423423
}
424424

425+
if ((usage->hid & HID_USAGE_PAGE) == HID_UP_MSVENDOR) {
426+
set_bit(EV_REP, hi->input->evbit);
427+
switch (usage->hid & HID_USAGE) {
428+
case 0xff01: asus_map_key_clear(BTN_1); break;
429+
case 0xff02: asus_map_key_clear(BTN_2); break;
430+
case 0xff03: asus_map_key_clear(BTN_3); break;
431+
case 0xff04: asus_map_key_clear(BTN_4); break;
432+
case 0xff05: asus_map_key_clear(BTN_5); break;
433+
case 0xff06: asus_map_key_clear(BTN_6); break;
434+
case 0xff07: asus_map_key_clear(BTN_7); break;
435+
case 0xff08: asus_map_key_clear(BTN_8); break;
436+
case 0xff09: asus_map_key_clear(BTN_9); break;
437+
case 0xff0a: asus_map_key_clear(BTN_A); break;
438+
case 0xff0b: asus_map_key_clear(BTN_B); break;
439+
case 0x00f1: asus_map_key_clear(KEY_WLAN); break;
440+
case 0x00f2: asus_map_key_clear(KEY_BRIGHTNESSDOWN); break;
441+
case 0x00f3: asus_map_key_clear(KEY_BRIGHTNESSUP); break;
442+
case 0x00f4: asus_map_key_clear(KEY_DISPLAY_OFF); break;
443+
case 0x00f7: asus_map_key_clear(KEY_CAMERA); break;
444+
case 0x00f8: asus_map_key_clear(KEY_PROG1); break;
445+
default:
446+
return 0;
447+
}
448+
449+
return 1;
450+
}
451+
425452
if (drvdata->quirks & QUIRK_NO_CONSUMER_USAGES &&
426453
(usage->hid & HID_USAGE_PAGE) == HID_UP_CONSUMER) {
427454
switch (usage->hid & HID_USAGE) {
@@ -572,6 +599,9 @@ static const struct hid_device_id asus_devices[] = {
572599
{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
573600
USB_DEVICE_ID_ASUSTEK_T100_KEYBOARD),
574601
QUIRK_T100_KEYBOARD | QUIRK_NO_CONSUMER_USAGES },
602+
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_ASUS_AK1D) },
603+
{ HID_USB_DEVICE(USB_VENDOR_ID_TURBOX, USB_DEVICE_ID_ASUS_MD_5110) },
604+
{ HID_USB_DEVICE(USB_VENDOR_ID_JESS, USB_DEVICE_ID_ASUS_MD_5112) },
575605
{ }
576606
};
577607
MODULE_DEVICE_TABLE(hid, asus_devices);

drivers/hid/hid-chicony.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,7 @@ static __u8 *ch_switch12_report_fixup(struct hid_device *hdev, __u8 *rdesc,
8484
static const struct hid_device_id ch_devices[] = {
8585
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_TACTICAL_PAD) },
8686
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_WIRELESS2) },
87-
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_AK1D) },
8887
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_ACER_SWITCH12) },
89-
{ HID_USB_DEVICE(USB_VENDOR_ID_JESS, USB_DEVICE_ID_JESS_ZEN_AIO_KBD) },
9088
{ }
9189
};
9290
MODULE_DEVICE_TABLE(hid, ch_devices);

0 commit comments

Comments
 (0)