Skip to content

Commit 7f474df

Browse files
committed
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
Pull HID fixes from Jiri Kosina: - workarounds for a couple of misbehaving Elan Touchscreens, by Adel Gadllah - fix for TransducerSerialNumber field implementation, by Jason Gerecke - a couple of new HID usages (added by HUT), by Olivier Gay * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: HID: input: Fix TransducerSerialNumber implementation HID: add keyboard input assist hid usages HID: usbhid: enable always-poll quirk for Elan Touchscreen 016f HID: usbhid: enable always-poll quirk for Elan Touchscreen 009b
2 parents 8c78293 + 5989a55 commit 7f474df

File tree

5 files changed

+28
-1
lines changed

5 files changed

+28
-1
lines changed

drivers/hid/hid-debug.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -946,6 +946,12 @@ static const char *keys[KEY_MAX + 1] = {
946946
[KEY_BRIGHTNESS_MIN] = "BrightnessMin",
947947
[KEY_BRIGHTNESS_MAX] = "BrightnessMax",
948948
[KEY_BRIGHTNESS_AUTO] = "BrightnessAuto",
949+
[KEY_KBDINPUTASSIST_PREV] = "KbdInputAssistPrev",
950+
[KEY_KBDINPUTASSIST_NEXT] = "KbdInputAssistNext",
951+
[KEY_KBDINPUTASSIST_PREVGROUP] = "KbdInputAssistPrevGroup",
952+
[KEY_KBDINPUTASSIST_NEXTGROUP] = "KbdInputAssistNextGroup",
953+
[KEY_KBDINPUTASSIST_ACCEPT] = "KbdInputAssistAccept",
954+
[KEY_KBDINPUTASSIST_CANCEL] = "KbdInputAssistCancel",
949955
};
950956

951957
static const char *relatives[REL_MAX + 1] = {

drivers/hid/hid-ids.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,8 @@
298298

299299
#define USB_VENDOR_ID_ELAN 0x04f3
300300
#define USB_DEVICE_ID_ELAN_TOUCHSCREEN 0x0089
301+
#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B 0x009b
302+
#define USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F 0x016f
301303

302304
#define USB_VENDOR_ID_ELECOM 0x056e
303305
#define USB_DEVICE_ID_ELECOM_BM084 0x0061

drivers/hid/hid-input.c

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -695,7 +695,10 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
695695
break;
696696

697697
case 0x5b: /* TransducerSerialNumber */
698-
set_bit(MSC_SERIAL, input->mscbit);
698+
usage->type = EV_MSC;
699+
usage->code = MSC_SERIAL;
700+
bit = input->mscbit;
701+
max = MSC_MAX;
699702
break;
700703

701704
default: goto unknown;
@@ -862,6 +865,13 @@ static void hidinput_configure_usage(struct hid_input *hidinput, struct hid_fiel
862865
case 0x28b: map_key_clear(KEY_FORWARDMAIL); break;
863866
case 0x28c: map_key_clear(KEY_SEND); break;
864867

868+
case 0x2c7: map_key_clear(KEY_KBDINPUTASSIST_PREV); break;
869+
case 0x2c8: map_key_clear(KEY_KBDINPUTASSIST_NEXT); break;
870+
case 0x2c9: map_key_clear(KEY_KBDINPUTASSIST_PREVGROUP); break;
871+
case 0x2ca: map_key_clear(KEY_KBDINPUTASSIST_NEXTGROUP); break;
872+
case 0x2cb: map_key_clear(KEY_KBDINPUTASSIST_ACCEPT); break;
873+
case 0x2cc: map_key_clear(KEY_KBDINPUTASSIST_CANCEL); break;
874+
865875
default: goto ignore;
866876
}
867877
break;

drivers/hid/usbhid/hid-quirks.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,8 @@ static const struct hid_blacklist {
7171
{ USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_AXIS_295, HID_QUIRK_NOGET },
7272
{ USB_VENDOR_ID_DMI, USB_DEVICE_ID_DMI_ENC, HID_QUIRK_NOGET },
7373
{ USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN, HID_QUIRK_ALWAYS_POLL },
74+
{ USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_009B, HID_QUIRK_ALWAYS_POLL },
75+
{ USB_VENDOR_ID_ELAN, USB_DEVICE_ID_ELAN_TOUCHSCREEN_016F, HID_QUIRK_ALWAYS_POLL },
7476
{ USB_VENDOR_ID_ELO, USB_DEVICE_ID_ELO_TS2700, HID_QUIRK_NOGET },
7577
{ USB_VENDOR_ID_FORMOSA, USB_DEVICE_ID_FORMOSA_IR_RECEIVER, HID_QUIRK_NO_INIT_REPORTS },
7678
{ USB_VENDOR_ID_FREESCALE, USB_DEVICE_ID_FREESCALE_MX28, HID_QUIRK_NOGET },

include/uapi/linux/input.h

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -739,6 +739,13 @@ struct input_keymap_entry {
739739
#define KEY_BRIGHTNESS_MIN 0x250 /* Set Brightness to Minimum */
740740
#define KEY_BRIGHTNESS_MAX 0x251 /* Set Brightness to Maximum */
741741

742+
#define KEY_KBDINPUTASSIST_PREV 0x260
743+
#define KEY_KBDINPUTASSIST_NEXT 0x261
744+
#define KEY_KBDINPUTASSIST_PREVGROUP 0x262
745+
#define KEY_KBDINPUTASSIST_NEXTGROUP 0x263
746+
#define KEY_KBDINPUTASSIST_ACCEPT 0x264
747+
#define KEY_KBDINPUTASSIST_CANCEL 0x265
748+
742749
#define BTN_TRIGGER_HAPPY 0x2c0
743750
#define BTN_TRIGGER_HAPPY1 0x2c0
744751
#define BTN_TRIGGER_HAPPY2 0x2c1

0 commit comments

Comments
 (0)