diff options
| -rw-r--r-- | drivers/hid/hid-input-quirks.c | 17 | ||||
| -rw-r--r-- | drivers/hid/hid-input.c | 8 | ||||
| -rw-r--r-- | drivers/hid/usbhid/hid-quirks.c | 38 | ||||
| -rw-r--r-- | include/linux/hid.h | 2 |
4 files changed, 54 insertions, 11 deletions
diff --git a/drivers/hid/hid-input-quirks.c b/drivers/hid/hid-input-quirks.c index a870ba58faa3..dceadd0c1419 100644 --- a/drivers/hid/hid-input-quirks.c +++ b/drivers/hid/hid-input-quirks.c | |||
| @@ -352,7 +352,7 @@ int hidinput_mapping_quirks(struct hid_usage *usage, | |||
| 352 | return 0; | 352 | return 0; |
| 353 | } | 353 | } |
| 354 | 354 | ||
| 355 | void hidinput_event_quirks(struct hid_device *hid, struct hid_field *field, struct hid_usage *usage, __s32 value) | 355 | int hidinput_event_quirks(struct hid_device *hid, struct hid_field *field, struct hid_usage *usage, __s32 value) |
| 356 | { | 356 | { |
| 357 | struct input_dev *input; | 357 | struct input_dev *input; |
| 358 | 358 | ||
| @@ -362,34 +362,34 @@ void hidinput_event_quirks(struct hid_device *hid, struct hid_field *field, stru | |||
| 362 | || ((hid->quirks & HID_QUIRK_2WHEEL_MOUSE_HACK_7) && (usage->hid == 0x00090007))) { | 362 | || ((hid->quirks & HID_QUIRK_2WHEEL_MOUSE_HACK_7) && (usage->hid == 0x00090007))) { |
| 363 | if (value) hid->quirks |= HID_QUIRK_2WHEEL_MOUSE_HACK_ON; | 363 | if (value) hid->quirks |= HID_QUIRK_2WHEEL_MOUSE_HACK_ON; |
| 364 | else hid->quirks &= ~HID_QUIRK_2WHEEL_MOUSE_HACK_ON; | 364 | else hid->quirks &= ~HID_QUIRK_2WHEEL_MOUSE_HACK_ON; |
| 365 | return; | 365 | return 1; |
| 366 | } | 366 | } |
| 367 | 367 | ||
| 368 | if ((hid->quirks & HID_QUIRK_2WHEEL_MOUSE_HACK_B8) && | 368 | if ((hid->quirks & HID_QUIRK_2WHEEL_MOUSE_HACK_B8) && |
| 369 | (usage->type == EV_REL) && | 369 | (usage->type == EV_REL) && |
| 370 | (usage->code == REL_WHEEL)) { | 370 | (usage->code == REL_WHEEL)) { |
| 371 | hid->delayed_value = value; | 371 | hid->delayed_value = value; |
| 372 | return; | 372 | return 1; |
| 373 | } | 373 | } |
| 374 | 374 | ||
| 375 | if ((hid->quirks & HID_QUIRK_2WHEEL_MOUSE_HACK_B8) && | 375 | if ((hid->quirks & HID_QUIRK_2WHEEL_MOUSE_HACK_B8) && |
| 376 | (usage->hid == 0x000100b8)) { | 376 | (usage->hid == 0x000100b8)) { |
| 377 | input_event(input, EV_REL, value ? REL_HWHEEL : REL_WHEEL, hid->delayed_value); | 377 | input_event(input, EV_REL, value ? REL_HWHEEL : REL_WHEEL, hid->delayed_value); |
| 378 | return; | 378 | return 1; |
| 379 | } | 379 | } |
| 380 | 380 | ||
| 381 | if ((hid->quirks & HID_QUIRK_INVERT_HWHEEL) && (usage->code == REL_HWHEEL)) { | 381 | if ((hid->quirks & HID_QUIRK_INVERT_HWHEEL) && (usage->code == REL_HWHEEL)) { |
| 382 | input_event(input, usage->type, usage->code, -value); | 382 | input_event(input, usage->type, usage->code, -value); |
| 383 | return; | 383 | return 1; |
| 384 | } | 384 | } |
| 385 | 385 | ||
| 386 | if ((hid->quirks & HID_QUIRK_2WHEEL_MOUSE_HACK_ON) && (usage->code == REL_WHEEL)) { | 386 | if ((hid->quirks & HID_QUIRK_2WHEEL_MOUSE_HACK_ON) && (usage->code == REL_WHEEL)) { |
| 387 | input_event(input, usage->type, REL_HWHEEL, value); | 387 | input_event(input, usage->type, REL_HWHEEL, value); |
| 388 | return; | 388 | return 1; |
| 389 | } | 389 | } |
| 390 | 390 | ||
| 391 | if ((hid->quirks & HID_QUIRK_APPLE_HAS_FN) && hidinput_apple_event(hid, input, usage, value)) | 391 | if ((hid->quirks & HID_QUIRK_APPLE_HAS_FN) && hidinput_apple_event(hid, input, usage, value)) |
| 392 | return; | 392 | return 1; |
| 393 | 393 | ||
| 394 | /* Handling MS keyboards special buttons */ | 394 | /* Handling MS keyboards special buttons */ |
| 395 | if (hid->quirks & HID_QUIRK_MICROSOFT_KEYS && | 395 | if (hid->quirks & HID_QUIRK_MICROSOFT_KEYS && |
| @@ -416,8 +416,9 @@ void hidinput_event_quirks(struct hid_device *hid, struct hid_field *field, stru | |||
| 416 | if (hid->quirks & HID_QUIRK_HWHEEL_WHEEL_INVERT && | 416 | if (hid->quirks & HID_QUIRK_HWHEEL_WHEEL_INVERT && |
| 417 | usage->type == EV_REL && usage->code == REL_HWHEEL) { | 417 | usage->type == EV_REL && usage->code == REL_HWHEEL) { |
| 418 | input_event(input, usage->type, REL_WHEEL, -value); | 418 | input_event(input, usage->type, REL_WHEEL, -value); |
| 419 | return; | 419 | return 1; |
| 420 | } | 420 | } |
| 421 | return 0; | ||
| 421 | } | 422 | } |
| 422 | 423 | ||
| 423 | 424 | ||
diff --git a/drivers/hid/hid-input.c b/drivers/hid/hid-input.c index 5325d98b4328..5a38fb27d69f 100644 --- a/drivers/hid/hid-input.c +++ b/drivers/hid/hid-input.c | |||
| @@ -97,6 +97,7 @@ struct hidinput_key_translation { | |||
| 97 | #define APPLE_FLAG_FKEY 0x01 | 97 | #define APPLE_FLAG_FKEY 0x01 |
| 98 | 98 | ||
| 99 | static struct hidinput_key_translation apple_fn_keys[] = { | 99 | static struct hidinput_key_translation apple_fn_keys[] = { |
| 100 | { KEY_BACKSPACE, KEY_DELETE }, | ||
| 100 | { KEY_F1, KEY_BRIGHTNESSDOWN, APPLE_FLAG_FKEY }, | 101 | { KEY_F1, KEY_BRIGHTNESSDOWN, APPLE_FLAG_FKEY }, |
| 101 | { KEY_F2, KEY_BRIGHTNESSUP, APPLE_FLAG_FKEY }, | 102 | { KEY_F2, KEY_BRIGHTNESSUP, APPLE_FLAG_FKEY }, |
| 102 | { KEY_F3, KEY_CYCLEWINDOWS, APPLE_FLAG_FKEY }, /* Exposé */ | 103 | { KEY_F3, KEY_CYCLEWINDOWS, APPLE_FLAG_FKEY }, /* Exposé */ |
| @@ -109,6 +110,10 @@ static struct hidinput_key_translation apple_fn_keys[] = { | |||
| 109 | { KEY_F10, KEY_MUTE, APPLE_FLAG_FKEY }, | 110 | { KEY_F10, KEY_MUTE, APPLE_FLAG_FKEY }, |
| 110 | { KEY_F11, KEY_VOLUMEDOWN, APPLE_FLAG_FKEY }, | 111 | { KEY_F11, KEY_VOLUMEDOWN, APPLE_FLAG_FKEY }, |
| 111 | { KEY_F12, KEY_VOLUMEUP, APPLE_FLAG_FKEY }, | 112 | { KEY_F12, KEY_VOLUMEUP, APPLE_FLAG_FKEY }, |
| 113 | { KEY_UP, KEY_PAGEUP }, | ||
| 114 | { KEY_DOWN, KEY_PAGEDOWN }, | ||
| 115 | { KEY_LEFT, KEY_HOME }, | ||
| 116 | { KEY_RIGHT, KEY_END }, | ||
| 112 | { } | 117 | { } |
| 113 | }; | 118 | }; |
| 114 | 119 | ||
| @@ -854,7 +859,8 @@ void hidinput_hid_event(struct hid_device *hid, struct hid_field *field, struct | |||
| 854 | return; | 859 | return; |
| 855 | 860 | ||
| 856 | /* handle input events for quirky devices */ | 861 | /* handle input events for quirky devices */ |
| 857 | hidinput_event_quirks(hid, field, usage, value); | 862 | if (hidinput_event_quirks(hid, field, usage, value)) |
| 863 | return; | ||
| 858 | 864 | ||
| 859 | if (usage->hat_min < usage->hat_max || usage->hat_dir) { | 865 | if (usage->hat_min < usage->hat_max || usage->hat_dir) { |
| 860 | int hat_dir = usage->hat_dir; | 866 | int hat_dir = usage->hat_dir; |
diff --git a/drivers/hid/usbhid/hid-quirks.c b/drivers/hid/usbhid/hid-quirks.c index b77b61e0cd7b..e6d05f6b1c1c 100644 --- a/drivers/hid/usbhid/hid-quirks.c +++ b/drivers/hid/usbhid/hid-quirks.c | |||
| @@ -66,6 +66,12 @@ | |||
| 66 | #define USB_DEVICE_ID_APPLE_ALU_ANSI 0x0220 | 66 | #define USB_DEVICE_ID_APPLE_ALU_ANSI 0x0220 |
| 67 | #define USB_DEVICE_ID_APPLE_ALU_ISO 0x0221 | 67 | #define USB_DEVICE_ID_APPLE_ALU_ISO 0x0221 |
| 68 | #define USB_DEVICE_ID_APPLE_ALU_JIS 0x0222 | 68 | #define USB_DEVICE_ID_APPLE_ALU_JIS 0x0222 |
| 69 | #define USB_DEVICE_ID_APPLE_GEYSER4_HF_ANSI 0x0229 | ||
| 70 | #define USB_DEVICE_ID_APPLE_GEYSER4_HF_ISO 0x022a | ||
| 71 | #define USB_DEVICE_ID_APPLE_GEYSER4_HF_JIS 0x022b | ||
| 72 | #define USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI 0x022c | ||
| 73 | #define USB_DEVICE_ID_APPLE_ALU_WIRELESS_ISO 0x022d | ||
| 74 | #define USB_DEVICE_ID_APPLE_ALU_WIRELESS_JIS 0x022e | ||
| 69 | #define USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY 0x030a | 75 | #define USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY 0x030a |
| 70 | #define USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY 0x030b | 76 | #define USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY 0x030b |
| 71 | #define USB_DEVICE_ID_APPLE_IRCONTROL4 0x8242 | 77 | #define USB_DEVICE_ID_APPLE_IRCONTROL4 0x8242 |
| @@ -193,6 +199,17 @@ | |||
| 193 | #define USB_DEVICE_ID_GTCO_502 0x0502 | 199 | #define USB_DEVICE_ID_GTCO_502 0x0502 |
| 194 | #define USB_DEVICE_ID_GTCO_503 0x0503 | 200 | #define USB_DEVICE_ID_GTCO_503 0x0503 |
| 195 | #define USB_DEVICE_ID_GTCO_504 0x0504 | 201 | #define USB_DEVICE_ID_GTCO_504 0x0504 |
| 202 | #define USB_DEVICE_ID_GTCO_600 0x0600 | ||
| 203 | #define USB_DEVICE_ID_GTCO_601 0x0601 | ||
| 204 | #define USB_DEVICE_ID_GTCO_602 0x0602 | ||
| 205 | #define USB_DEVICE_ID_GTCO_603 0x0603 | ||
| 206 | #define USB_DEVICE_ID_GTCO_604 0x0604 | ||
| 207 | #define USB_DEVICE_ID_GTCO_605 0x0605 | ||
| 208 | #define USB_DEVICE_ID_GTCO_606 0x0606 | ||
| 209 | #define USB_DEVICE_ID_GTCO_607 0x0607 | ||
| 210 | #define USB_DEVICE_ID_GTCO_608 0x0608 | ||
| 211 | #define USB_DEVICE_ID_GTCO_609 0x0609 | ||
| 212 | #define USB_DEVICE_ID_GTCO_609 0x0609 | ||
| 196 | #define USB_DEVICE_ID_GTCO_1000 0x1000 | 213 | #define USB_DEVICE_ID_GTCO_1000 0x1000 |
| 197 | #define USB_DEVICE_ID_GTCO_1001 0x1001 | 214 | #define USB_DEVICE_ID_GTCO_1001 0x1001 |
| 198 | #define USB_DEVICE_ID_GTCO_1002 0x1002 | 215 | #define USB_DEVICE_ID_GTCO_1002 0x1002 |
| @@ -200,7 +217,7 @@ | |||
| 200 | #define USB_DEVICE_ID_GTCO_1004 0x1004 | 217 | #define USB_DEVICE_ID_GTCO_1004 0x1004 |
| 201 | #define USB_DEVICE_ID_GTCO_1005 0x1005 | 218 | #define USB_DEVICE_ID_GTCO_1005 0x1005 |
| 202 | #define USB_DEVICE_ID_GTCO_1006 0x1006 | 219 | #define USB_DEVICE_ID_GTCO_1006 0x1006 |
| 203 | 220 | #define USB_DEVICE_ID_GTCO_1007 0x1007 | |
| 204 | #define USB_VENDOR_ID_HAPP 0x078b | 221 | #define USB_VENDOR_ID_HAPP 0x078b |
| 205 | #define USB_DEVICE_ID_UGCI_DRIVING 0x0010 | 222 | #define USB_DEVICE_ID_UGCI_DRIVING 0x0010 |
| 206 | #define USB_DEVICE_ID_UGCI_FLYING 0x0020 | 223 | #define USB_DEVICE_ID_UGCI_FLYING 0x0020 |
| @@ -368,6 +385,7 @@ | |||
| 368 | #define USB_DEVICE_ID_VERNIER_GOTEMP 0x0002 | 385 | #define USB_DEVICE_ID_VERNIER_GOTEMP 0x0002 |
| 369 | #define USB_DEVICE_ID_VERNIER_SKIP 0x0003 | 386 | #define USB_DEVICE_ID_VERNIER_SKIP 0x0003 |
| 370 | #define USB_DEVICE_ID_VERNIER_CYCLOPS 0x0004 | 387 | #define USB_DEVICE_ID_VERNIER_CYCLOPS 0x0004 |
| 388 | #define USB_DEVICE_ID_VERNIER_LCSPEC 0x0006 | ||
| 371 | 389 | ||
| 372 | #define USB_VENDOR_ID_WACOM 0x056a | 390 | #define USB_VENDOR_ID_WACOM 0x056a |
| 373 | 391 | ||
| @@ -496,6 +514,16 @@ static const struct hid_blacklist { | |||
| 496 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_502, HID_QUIRK_IGNORE }, | 514 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_502, HID_QUIRK_IGNORE }, |
| 497 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_503, HID_QUIRK_IGNORE }, | 515 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_503, HID_QUIRK_IGNORE }, |
| 498 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_504, HID_QUIRK_IGNORE }, | 516 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_504, HID_QUIRK_IGNORE }, |
| 517 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_600, HID_QUIRK_IGNORE }, | ||
| 518 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_601, HID_QUIRK_IGNORE }, | ||
| 519 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_602, HID_QUIRK_IGNORE }, | ||
| 520 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_603, HID_QUIRK_IGNORE }, | ||
| 521 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_604, HID_QUIRK_IGNORE }, | ||
| 522 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_605, HID_QUIRK_IGNORE }, | ||
| 523 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_606, HID_QUIRK_IGNORE }, | ||
| 524 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_607, HID_QUIRK_IGNORE }, | ||
| 525 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_608, HID_QUIRK_IGNORE }, | ||
| 526 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_609, HID_QUIRK_IGNORE }, | ||
| 499 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1000, HID_QUIRK_IGNORE }, | 527 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1000, HID_QUIRK_IGNORE }, |
| 500 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1001, HID_QUIRK_IGNORE }, | 528 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1001, HID_QUIRK_IGNORE }, |
| 501 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1002, HID_QUIRK_IGNORE }, | 529 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1002, HID_QUIRK_IGNORE }, |
| @@ -503,6 +531,7 @@ static const struct hid_blacklist { | |||
| 503 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1004, HID_QUIRK_IGNORE }, | 531 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1004, HID_QUIRK_IGNORE }, |
| 504 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1005, HID_QUIRK_IGNORE }, | 532 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1005, HID_QUIRK_IGNORE }, |
| 505 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1006, HID_QUIRK_IGNORE }, | 533 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1006, HID_QUIRK_IGNORE }, |
| 534 | { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1007, HID_QUIRK_IGNORE }, | ||
| 506 | { USB_VENDOR_ID_IMATION, USB_DEVICE_ID_DISC_STAKKA, HID_QUIRK_IGNORE }, | 535 | { USB_VENDOR_ID_IMATION, USB_DEVICE_ID_DISC_STAKKA, HID_QUIRK_IGNORE }, |
| 507 | { USB_VENDOR_ID_KBGEAR, USB_DEVICE_ID_KBGEAR_JAMSTUDIO, HID_QUIRK_IGNORE }, | 536 | { USB_VENDOR_ID_KBGEAR, USB_DEVICE_ID_KBGEAR_JAMSTUDIO, HID_QUIRK_IGNORE }, |
| 508 | { USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_CASSY, HID_QUIRK_IGNORE }, | 537 | { USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_CASSY, HID_QUIRK_IGNORE }, |
| @@ -541,6 +570,7 @@ static const struct hid_blacklist { | |||
| 541 | { USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_GOTEMP, HID_QUIRK_IGNORE }, | 570 | { USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_GOTEMP, HID_QUIRK_IGNORE }, |
| 542 | { USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_SKIP, HID_QUIRK_IGNORE }, | 571 | { USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_SKIP, HID_QUIRK_IGNORE }, |
| 543 | { USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_CYCLOPS, HID_QUIRK_IGNORE }, | 572 | { USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_CYCLOPS, HID_QUIRK_IGNORE }, |
| 573 | { USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_LCSPEC, HID_QUIRK_IGNORE }, | ||
| 544 | { USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_4_PHIDGETSERVO_20, HID_QUIRK_IGNORE }, | 574 | { USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_4_PHIDGETSERVO_20, HID_QUIRK_IGNORE }, |
| 545 | { USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_1_PHIDGETSERVO_20, HID_QUIRK_IGNORE }, | 575 | { USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_1_PHIDGETSERVO_20, HID_QUIRK_IGNORE }, |
| 546 | { USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_8_8_4_IF_KIT, HID_QUIRK_IGNORE }, | 576 | { USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_8_8_4_IF_KIT, HID_QUIRK_IGNORE }, |
| @@ -593,6 +623,12 @@ static const struct hid_blacklist { | |||
| 593 | { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_ANSI, HID_QUIRK_APPLE_HAS_FN }, | 623 | { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_ANSI, HID_QUIRK_APPLE_HAS_FN }, |
| 594 | { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_ISO, HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_APPLE_ISO_KEYBOARD }, | 624 | { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_ISO, HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_APPLE_ISO_KEYBOARD }, |
| 595 | { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_JIS, HID_QUIRK_APPLE_HAS_FN }, | 625 | { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_JIS, HID_QUIRK_APPLE_HAS_FN }, |
| 626 | { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_ANSI, HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_IGNORE_MOUSE }, | ||
| 627 | { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_ISO, HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_IGNORE_MOUSE | HID_QUIRK_APPLE_ISO_KEYBOARD }, | ||
| 628 | { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_JIS, HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_IGNORE_MOUSE }, | ||
| 629 | { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI, HID_QUIRK_APPLE_HAS_FN }, | ||
| 630 | { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ISO, HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_APPLE_ISO_KEYBOARD }, | ||
| 631 | { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_JIS, HID_QUIRK_APPLE_HAS_FN }, | ||
| 596 | { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY, HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_IGNORE_MOUSE }, | 632 | { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY, HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_IGNORE_MOUSE }, |
| 597 | { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY, HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_IGNORE_MOUSE }, | 633 | { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY, HID_QUIRK_APPLE_HAS_FN | HID_QUIRK_IGNORE_MOUSE }, |
| 598 | 634 | ||
diff --git a/include/linux/hid.h b/include/linux/hid.h index 3902690647b0..74ff57596eb1 100644 --- a/include/linux/hid.h +++ b/include/linux/hid.h | |||
| @@ -528,7 +528,7 @@ int hid_set_field(struct hid_field *, unsigned, __s32); | |||
| 528 | int hid_input_report(struct hid_device *, int type, u8 *, int, int); | 528 | int hid_input_report(struct hid_device *, int type, u8 *, int, int); |
| 529 | int hidinput_find_field(struct hid_device *hid, unsigned int type, unsigned int code, struct hid_field **field); | 529 | int hidinput_find_field(struct hid_device *hid, unsigned int type, unsigned int code, struct hid_field **field); |
| 530 | int hidinput_mapping_quirks(struct hid_usage *, struct input_dev *, unsigned long **, int *); | 530 | int hidinput_mapping_quirks(struct hid_usage *, struct input_dev *, unsigned long **, int *); |
| 531 | void hidinput_event_quirks(struct hid_device *, struct hid_field *, struct hid_usage *, __s32); | 531 | int hidinput_event_quirks(struct hid_device *, struct hid_field *, struct hid_usage *, __s32); |
| 532 | int hidinput_apple_event(struct hid_device *, struct input_dev *, struct hid_usage *, __s32); | 532 | int hidinput_apple_event(struct hid_device *, struct input_dev *, struct hid_usage *, __s32); |
| 533 | void hid_input_field(struct hid_device *hid, struct hid_field *field, __u8 *data, int interrupt); | 533 | void hid_input_field(struct hid_device *hid, struct hid_field *field, __u8 *data, int interrupt); |
| 534 | void hid_output_report(struct hid_report *report, __u8 *data); | 534 | void hid_output_report(struct hid_report *report, __u8 *data); |
