Merge branches 'for-4.13/apple' and 'for-4.13/asus' into for-linus
Conflicts: drivers/hid/hid-core.c
This commit is contained in:
commit
4f94ff4e9c
@ -28,7 +28,7 @@
|
|||||||
#define APPLE_IGNORE_MOUSE 0x0002
|
#define APPLE_IGNORE_MOUSE 0x0002
|
||||||
#define APPLE_HAS_FN 0x0004
|
#define APPLE_HAS_FN 0x0004
|
||||||
#define APPLE_HIDDEV 0x0008
|
#define APPLE_HIDDEV 0x0008
|
||||||
#define APPLE_ISO_KEYBOARD 0x0010
|
/* 0x0010 reserved, was: APPLE_ISO_KEYBOARD */
|
||||||
#define APPLE_MIGHTYMOUSE 0x0020
|
#define APPLE_MIGHTYMOUSE 0x0020
|
||||||
#define APPLE_INVERT_HWHEEL 0x0040
|
#define APPLE_INVERT_HWHEEL 0x0040
|
||||||
#define APPLE_IGNORE_HIDINPUT 0x0080
|
#define APPLE_IGNORE_HIDINPUT 0x0080
|
||||||
@ -36,6 +36,8 @@
|
|||||||
|
|
||||||
#define APPLE_FLAG_FKEY 0x01
|
#define APPLE_FLAG_FKEY 0x01
|
||||||
|
|
||||||
|
#define HID_COUNTRY_INTERNATIONAL_ISO 13
|
||||||
|
|
||||||
static unsigned int fnmode = 1;
|
static unsigned int fnmode = 1;
|
||||||
module_param(fnmode, uint, 0644);
|
module_param(fnmode, uint, 0644);
|
||||||
MODULE_PARM_DESC(fnmode, "Mode of fn key on Apple keyboards (0 = disabled, "
|
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,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (iso_layout) {
|
if (iso_layout) {
|
||||||
if (asc->quirks & APPLE_ISO_KEYBOARD) {
|
if (hid->country == HID_COUNTRY_INTERNATIONAL_ISO) {
|
||||||
trans = apple_find_translation(apple_iso_keyboard, usage->code);
|
trans = apple_find_translation(apple_iso_keyboard, usage->code);
|
||||||
if (trans) {
|
if (trans) {
|
||||||
input_event(input, usage->type, trans->to, value);
|
input_event(input, usage->type, trans->to, value);
|
||||||
@ -412,60 +414,54 @@ static const struct hid_device_id apple_devices[] = {
|
|||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ANSI),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ANSI),
|
||||||
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
|
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ISO),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_ISO),
|
||||||
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
|
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
|
||||||
APPLE_ISO_KEYBOARD },
|
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_JIS),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER_JIS),
|
||||||
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
|
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ANSI),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ANSI),
|
||||||
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
|
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ISO),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_ISO),
|
||||||
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
|
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
|
||||||
APPLE_ISO_KEYBOARD },
|
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_JIS),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER3_JIS),
|
||||||
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
|
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
|
||||||
APPLE_RDESC_JIS },
|
APPLE_RDESC_JIS },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_ANSI),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_ANSI),
|
||||||
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
|
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_ISO),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_ISO),
|
||||||
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
|
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
|
||||||
APPLE_ISO_KEYBOARD },
|
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_JIS),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_JIS),
|
||||||
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
|
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
|
||||||
APPLE_RDESC_JIS },
|
APPLE_RDESC_JIS },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_MINI_ANSI),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_MINI_ANSI),
|
||||||
.driver_data = APPLE_HAS_FN },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_MINI_ISO),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_MINI_ISO),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_MINI_JIS),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_MINI_JIS),
|
||||||
.driver_data = APPLE_HAS_FN },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_ANSI),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_ANSI),
|
||||||
.driver_data = APPLE_HAS_FN },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_ISO),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_ISO),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_JIS),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_JIS),
|
||||||
.driver_data = APPLE_HAS_FN },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_ANSI),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_ANSI),
|
||||||
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
|
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_ISO),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_ISO),
|
||||||
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
|
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
|
||||||
APPLE_ISO_KEYBOARD },
|
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_JIS),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_JIS),
|
||||||
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
|
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
|
||||||
APPLE_RDESC_JIS },
|
APPLE_RDESC_JIS },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_REVB_ANSI),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_REVB_ANSI),
|
||||||
.driver_data = APPLE_HAS_FN },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_REVB_ISO),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_REVB_ISO),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_REVB_JIS),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_REVB_JIS),
|
||||||
.driver_data = APPLE_HAS_FN },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI),
|
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI),
|
||||||
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
|
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
|
||||||
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ISO),
|
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ISO),
|
||||||
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
|
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
|
||||||
APPLE_ISO_KEYBOARD },
|
|
||||||
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ISO),
|
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ISO),
|
||||||
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
|
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
|
||||||
APPLE_ISO_KEYBOARD },
|
|
||||||
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE,
|
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE,
|
||||||
USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ANSI),
|
USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ANSI),
|
||||||
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
|
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
|
||||||
@ -479,86 +475,85 @@ static const struct hid_device_id apple_devices[] = {
|
|||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ANSI),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ANSI),
|
||||||
.driver_data = APPLE_HAS_FN },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ISO),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ISO),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_JIS),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_JIS),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_ANSI),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_ANSI),
|
||||||
.driver_data = APPLE_HAS_FN },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_ISO),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_ISO),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_JIS),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING2_JIS),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING3_ANSI),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING3_ANSI),
|
||||||
.driver_data = APPLE_HAS_FN },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING3_ISO),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING3_ISO),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING3_JIS),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING3_JIS),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4_ANSI),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4_ANSI),
|
||||||
.driver_data = APPLE_HAS_FN },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4_ISO),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4_ISO),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4_JIS),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4_JIS),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_ANSI),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_ANSI),
|
||||||
.driver_data = APPLE_HAS_FN },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_ISO),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_ISO),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_ANSI),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_ANSI),
|
||||||
.driver_data = APPLE_HAS_FN },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_ISO),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_ISO),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_JIS),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_JIS),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6_ANSI),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6_ANSI),
|
||||||
.driver_data = APPLE_HAS_FN },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6_ISO),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6_ISO),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6_JIS),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6_JIS),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_ANSI),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_ANSI),
|
||||||
.driver_data = APPLE_HAS_FN },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_ISO),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_ISO),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_JIS),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_JIS),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5A_ANSI),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5A_ANSI),
|
||||||
.driver_data = APPLE_HAS_FN },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5A_ISO),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5A_ISO),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5A_JIS),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5A_JIS),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7_ANSI),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7_ANSI),
|
||||||
.driver_data = APPLE_HAS_FN },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7_ISO),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7_ISO),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7_JIS),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7_JIS),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_ANSI),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_ANSI),
|
||||||
.driver_data = APPLE_HAS_FN },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_ISO),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_ISO),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_JIS),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING7A_JIS),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_ANSI),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_ANSI),
|
||||||
.driver_data = APPLE_HAS_FN },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_ISO),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_ISO),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_JIS),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING8_JIS),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING9_ANSI),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING9_ANSI),
|
||||||
.driver_data = APPLE_HAS_FN },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING9_ISO),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING9_ISO),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
|
.driver_data = APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING9_JIS),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING9_JIS),
|
||||||
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
|
||||||
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI),
|
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI),
|
||||||
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
|
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
|
||||||
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO),
|
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO),
|
||||||
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
|
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
|
||||||
APPLE_ISO_KEYBOARD },
|
|
||||||
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_JIS),
|
{ HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_JIS),
|
||||||
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
|
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY),
|
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY),
|
||||||
|
@ -422,6 +422,33 @@ static int asus_input_mapping(struct hid_device *hdev,
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((usage->hid & HID_USAGE_PAGE) == HID_UP_MSVENDOR) {
|
||||||
|
set_bit(EV_REP, hi->input->evbit);
|
||||||
|
switch (usage->hid & HID_USAGE) {
|
||||||
|
case 0xff01: asus_map_key_clear(BTN_1); break;
|
||||||
|
case 0xff02: asus_map_key_clear(BTN_2); break;
|
||||||
|
case 0xff03: asus_map_key_clear(BTN_3); break;
|
||||||
|
case 0xff04: asus_map_key_clear(BTN_4); break;
|
||||||
|
case 0xff05: asus_map_key_clear(BTN_5); break;
|
||||||
|
case 0xff06: asus_map_key_clear(BTN_6); break;
|
||||||
|
case 0xff07: asus_map_key_clear(BTN_7); break;
|
||||||
|
case 0xff08: asus_map_key_clear(BTN_8); break;
|
||||||
|
case 0xff09: asus_map_key_clear(BTN_9); break;
|
||||||
|
case 0xff0a: asus_map_key_clear(BTN_A); break;
|
||||||
|
case 0xff0b: asus_map_key_clear(BTN_B); break;
|
||||||
|
case 0x00f1: asus_map_key_clear(KEY_WLAN); break;
|
||||||
|
case 0x00f2: asus_map_key_clear(KEY_BRIGHTNESSDOWN); break;
|
||||||
|
case 0x00f3: asus_map_key_clear(KEY_BRIGHTNESSUP); break;
|
||||||
|
case 0x00f4: asus_map_key_clear(KEY_DISPLAY_OFF); break;
|
||||||
|
case 0x00f7: asus_map_key_clear(KEY_CAMERA); break;
|
||||||
|
case 0x00f8: asus_map_key_clear(KEY_PROG1); break;
|
||||||
|
default:
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
if (drvdata->quirks & QUIRK_NO_CONSUMER_USAGES &&
|
if (drvdata->quirks & QUIRK_NO_CONSUMER_USAGES &&
|
||||||
(usage->hid & HID_USAGE_PAGE) == HID_UP_CONSUMER) {
|
(usage->hid & HID_USAGE_PAGE) == HID_UP_CONSUMER) {
|
||||||
switch (usage->hid & HID_USAGE) {
|
switch (usage->hid & HID_USAGE) {
|
||||||
@ -572,6 +599,9 @@ static const struct hid_device_id asus_devices[] = {
|
|||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
|
{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK,
|
||||||
USB_DEVICE_ID_ASUSTEK_T100_KEYBOARD),
|
USB_DEVICE_ID_ASUSTEK_T100_KEYBOARD),
|
||||||
QUIRK_T100_KEYBOARD | QUIRK_NO_CONSUMER_USAGES },
|
QUIRK_T100_KEYBOARD | QUIRK_NO_CONSUMER_USAGES },
|
||||||
|
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_ASUS_AK1D) },
|
||||||
|
{ HID_USB_DEVICE(USB_VENDOR_ID_TURBOX, USB_DEVICE_ID_ASUS_MD_5110) },
|
||||||
|
{ HID_USB_DEVICE(USB_VENDOR_ID_JESS, USB_DEVICE_ID_ASUS_MD_5112) },
|
||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
MODULE_DEVICE_TABLE(hid, asus_devices);
|
MODULE_DEVICE_TABLE(hid, asus_devices);
|
||||||
|
@ -84,9 +84,7 @@ static __u8 *ch_switch12_report_fixup(struct hid_device *hdev, __u8 *rdesc,
|
|||||||
static const struct hid_device_id ch_devices[] = {
|
static const struct hid_device_id ch_devices[] = {
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_TACTICAL_PAD) },
|
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_TACTICAL_PAD) },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_WIRELESS2) },
|
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_WIRELESS2) },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_AK1D) },
|
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_ACER_SWITCH12) },
|
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_ACER_SWITCH12) },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_JESS, USB_DEVICE_ID_JESS_ZEN_AIO_KBD) },
|
|
||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
MODULE_DEVICE_TABLE(hid, ch_devices);
|
MODULE_DEVICE_TABLE(hid, ch_devices);
|
||||||
|
@ -1892,6 +1892,8 @@ static const struct hid_device_id hid_have_special_driver[] = {
|
|||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_ROG_KEYBOARD1) },
|
{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_ROG_KEYBOARD1) },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_ROG_KEYBOARD2) },
|
{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_ROG_KEYBOARD2) },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_T100_KEYBOARD) },
|
{ HID_USB_DEVICE(USB_VENDOR_ID_ASUSTEK, USB_DEVICE_ID_ASUSTEK_T100_KEYBOARD) },
|
||||||
|
{ HID_USB_DEVICE(USB_VENDOR_ID_JESS, USB_DEVICE_ID_ASUS_MD_5112) },
|
||||||
|
{ HID_USB_DEVICE(USB_VENDOR_ID_TURBOX, USB_DEVICE_ID_ASUS_MD_5110) },
|
||||||
#endif
|
#endif
|
||||||
#if IS_ENABLED(CONFIG_HID_AUREAL)
|
#if IS_ENABLED(CONFIG_HID_AUREAL)
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_AUREAL, USB_DEVICE_ID_AUREAL_W01RN) },
|
{ HID_USB_DEVICE(USB_VENDOR_ID_AUREAL, USB_DEVICE_ID_AUREAL_W01RN) },
|
||||||
@ -1913,9 +1915,8 @@ static const struct hid_device_id hid_have_special_driver[] = {
|
|||||||
#if IS_ENABLED(CONFIG_HID_CHICONY)
|
#if IS_ENABLED(CONFIG_HID_CHICONY)
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_TACTICAL_PAD) },
|
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_TACTICAL_PAD) },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_WIRELESS2) },
|
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_WIRELESS2) },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_AK1D) },
|
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_ASUS_AK1D) },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_ACER_SWITCH12) },
|
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_ACER_SWITCH12) },
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_JESS, USB_DEVICE_ID_JESS_ZEN_AIO_KBD) },
|
|
||||||
#endif
|
#endif
|
||||||
#if IS_ENABLED(CONFIG_HID_CMEDIA)
|
#if IS_ENABLED(CONFIG_HID_CMEDIA)
|
||||||
{ HID_USB_DEVICE(USB_VENDOR_ID_CMEDIA, USB_DEVICE_ID_CM6533) },
|
{ HID_USB_DEVICE(USB_VENDOR_ID_CMEDIA, USB_DEVICE_ID_CM6533) },
|
||||||
|
@ -252,7 +252,7 @@
|
|||||||
#define USB_DEVICE_ID_CHICONY_WIRELESS 0x0618
|
#define USB_DEVICE_ID_CHICONY_WIRELESS 0x0618
|
||||||
#define USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE 0x1053
|
#define USB_DEVICE_ID_CHICONY_PIXART_USB_OPTICAL_MOUSE 0x1053
|
||||||
#define USB_DEVICE_ID_CHICONY_WIRELESS2 0x1123
|
#define USB_DEVICE_ID_CHICONY_WIRELESS2 0x1123
|
||||||
#define USB_DEVICE_ID_CHICONY_AK1D 0x1125
|
#define USB_DEVICE_ID_ASUS_AK1D 0x1125
|
||||||
#define USB_DEVICE_ID_CHICONY_ACER_SWITCH12 0x1421
|
#define USB_DEVICE_ID_CHICONY_ACER_SWITCH12 0x1421
|
||||||
|
|
||||||
#define USB_VENDOR_ID_CHUNGHWAT 0x2247
|
#define USB_VENDOR_ID_CHUNGHWAT 0x2247
|
||||||
@ -573,7 +573,7 @@
|
|||||||
|
|
||||||
#define USB_VENDOR_ID_JESS 0x0c45
|
#define USB_VENDOR_ID_JESS 0x0c45
|
||||||
#define USB_DEVICE_ID_JESS_YUREX 0x1010
|
#define USB_DEVICE_ID_JESS_YUREX 0x1010
|
||||||
#define USB_DEVICE_ID_JESS_ZEN_AIO_KBD 0x5112
|
#define USB_DEVICE_ID_ASUS_MD_5112 0x5112
|
||||||
|
|
||||||
#define USB_VENDOR_ID_JESS2 0x0f30
|
#define USB_VENDOR_ID_JESS2 0x0f30
|
||||||
#define USB_DEVICE_ID_JESS2_COLOR_RUMBLE_PAD 0x0111
|
#define USB_DEVICE_ID_JESS2_COLOR_RUMBLE_PAD 0x0111
|
||||||
@ -1024,6 +1024,7 @@
|
|||||||
|
|
||||||
#define USB_VENDOR_ID_TURBOX 0x062a
|
#define USB_VENDOR_ID_TURBOX 0x062a
|
||||||
#define USB_DEVICE_ID_TURBOX_KEYBOARD 0x0201
|
#define USB_DEVICE_ID_TURBOX_KEYBOARD 0x0201
|
||||||
|
#define USB_DEVICE_ID_ASUS_MD_5110 0x5110
|
||||||
#define USB_DEVICE_ID_TURBOX_TOUCHSCREEN_MOSART 0x7100
|
#define USB_DEVICE_ID_TURBOX_TOUCHSCREEN_MOSART 0x7100
|
||||||
|
|
||||||
#define USB_VENDOR_ID_TWINHAN 0x6253
|
#define USB_VENDOR_ID_TWINHAN 0x6253
|
||||||
|
Loading…
Reference in New Issue
Block a user