hid-apple.c (ed3982cf3748b657ffb79d9d1c2e4a562661db2d) hid-apple.c (d762cc290b9f17e346f4297fd5984b70ce71ef66)
1/*
2 * USB HID quirks support for Linux
3 *
4 * Copyright (c) 1999 Andreas Gal
5 * Copyright (c) 2000-2005 Vojtech Pavlik <vojtech@suse.cz>
6 * Copyright (c) 2005 Michael Haboustak <mike-@cinci.rr.com> for Concept2, Inc
7 * Copyright (c) 2006-2007 Jiri Kosina
8 * Copyright (c) 2007 Paul Walmsley

--- 68 unchanged lines hidden (view full) ---

77 { KEY_F12, KEY_EJECTCD, APPLE_FLAG_FKEY },
78 { KEY_UP, KEY_PAGEUP },
79 { KEY_DOWN, KEY_PAGEDOWN },
80 { KEY_LEFT, KEY_HOME },
81 { KEY_RIGHT, KEY_END },
82 { }
83};
84
1/*
2 * USB HID quirks support for Linux
3 *
4 * Copyright (c) 1999 Andreas Gal
5 * Copyright (c) 2000-2005 Vojtech Pavlik <vojtech@suse.cz>
6 * Copyright (c) 2005 Michael Haboustak <mike-@cinci.rr.com> for Concept2, Inc
7 * Copyright (c) 2006-2007 Jiri Kosina
8 * Copyright (c) 2007 Paul Walmsley

--- 68 unchanged lines hidden (view full) ---

77 { KEY_F12, KEY_EJECTCD, APPLE_FLAG_FKEY },
78 { KEY_UP, KEY_PAGEUP },
79 { KEY_DOWN, KEY_PAGEDOWN },
80 { KEY_LEFT, KEY_HOME },
81 { KEY_RIGHT, KEY_END },
82 { }
83};
84
85static const struct apple_key_translation macbookair4_fn_keys[] = {
86 { KEY_BACKSPACE, KEY_DELETE },
87 { KEY_ENTER, KEY_INSERT },
88 { KEY_F1, KEY_BRIGHTNESSDOWN, APPLE_FLAG_FKEY },
89 { KEY_F2, KEY_BRIGHTNESSUP, APPLE_FLAG_FKEY },
90 { KEY_F3, KEY_SCALE, APPLE_FLAG_FKEY },
91 { KEY_F4, KEY_DASHBOARD, APPLE_FLAG_FKEY },
92 { KEY_F5, KEY_KBDILLUMDOWN, APPLE_FLAG_FKEY },
93 { KEY_F6, KEY_KBDILLUMUP, APPLE_FLAG_FKEY },
94 { KEY_F7, KEY_PREVIOUSSONG, APPLE_FLAG_FKEY },
95 { KEY_F8, KEY_PLAYPAUSE, APPLE_FLAG_FKEY },
96 { KEY_F9, KEY_NEXTSONG, APPLE_FLAG_FKEY },
97 { KEY_F10, KEY_MUTE, APPLE_FLAG_FKEY },
98 { KEY_F11, KEY_VOLUMEDOWN, APPLE_FLAG_FKEY },
99 { KEY_F12, KEY_VOLUMEUP, APPLE_FLAG_FKEY },
100 { KEY_UP, KEY_PAGEUP },
101 { KEY_DOWN, KEY_PAGEDOWN },
102 { KEY_LEFT, KEY_HOME },
103 { KEY_RIGHT, KEY_END },
104 { }
105};
106
85static const struct apple_key_translation apple_fn_keys[] = {
86 { KEY_BACKSPACE, KEY_DELETE },
87 { KEY_ENTER, KEY_INSERT },
88 { KEY_F1, KEY_BRIGHTNESSDOWN, APPLE_FLAG_FKEY },
89 { KEY_F2, KEY_BRIGHTNESSUP, APPLE_FLAG_FKEY },
90 { KEY_F3, KEY_SCALE, APPLE_FLAG_FKEY },
91 { KEY_F4, KEY_DASHBOARD, APPLE_FLAG_FKEY },
92 { KEY_F5, KEY_KBDILLUMDOWN, APPLE_FLAG_FKEY },

--- 85 unchanged lines hidden (view full) ---

178 }
179
180 if (fnmode) {
181 int do_translate;
182
183 if (hid->product >= USB_DEVICE_ID_APPLE_WELLSPRING4_ANSI &&
184 hid->product <= USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS)
185 table = macbookair_fn_keys;
107static const struct apple_key_translation apple_fn_keys[] = {
108 { KEY_BACKSPACE, KEY_DELETE },
109 { KEY_ENTER, KEY_INSERT },
110 { KEY_F1, KEY_BRIGHTNESSDOWN, APPLE_FLAG_FKEY },
111 { KEY_F2, KEY_BRIGHTNESSUP, APPLE_FLAG_FKEY },
112 { KEY_F3, KEY_SCALE, APPLE_FLAG_FKEY },
113 { KEY_F4, KEY_DASHBOARD, APPLE_FLAG_FKEY },
114 { KEY_F5, KEY_KBDILLUMDOWN, APPLE_FLAG_FKEY },

--- 85 unchanged lines hidden (view full) ---

200 }
201
202 if (fnmode) {
203 int do_translate;
204
205 if (hid->product >= USB_DEVICE_ID_APPLE_WELLSPRING4_ANSI &&
206 hid->product <= USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS)
207 table = macbookair_fn_keys;
208 else if (hid->product >= USB_DEVICE_ID_APPLE_WELLSPRING6_ANSI &&
209 hid->product <= USB_DEVICE_ID_APPLE_WELLSPRING6_JIS)
210 table = macbookair_fn_keys;
211 else if (hid->product >= USB_DEVICE_ID_APPLE_WELLSPRING6A_ANSI &&
212 hid->product <= USB_DEVICE_ID_APPLE_WELLSPRING6A_JIS)
213 table = macbookair4_fn_keys;
186 else if (hid->product < 0x21d || hid->product >= 0x300)
187 table = powerbook_fn_keys;
188 else
189 table = apple_fn_keys;
190
191 trans = apple_find_translation (table, usage->code);
192
193 if (trans) {

--- 245 unchanged lines hidden (view full) ---

439 .driver_data = APPLE_HAS_FN },
440 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_ANSI),
441 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
442 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_ISO),
443 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
444 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_JIS),
445 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
446 APPLE_RDESC_JIS },
214 else if (hid->product < 0x21d || hid->product >= 0x300)
215 table = powerbook_fn_keys;
216 else
217 table = apple_fn_keys;
218
219 trans = apple_find_translation (table, usage->code);
220
221 if (trans) {

--- 245 unchanged lines hidden (view full) ---

467 .driver_data = APPLE_HAS_FN },
468 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_ANSI),
469 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
470 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_ISO),
471 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
472 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER4_HF_JIS),
473 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
474 APPLE_RDESC_JIS },
447 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_REVB_ANSI),
448 .driver_data = APPLE_HAS_FN },
449 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_REVB_ISO),
450 .driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
451 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_REVB_JIS),
452 .driver_data = APPLE_HAS_FN },
453 { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI),
454 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
455 { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ISO),
456 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
457 APPLE_ISO_KEYBOARD },
458 { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_JIS),
459 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
460 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ANSI),

--- 27 unchanged lines hidden (view full) ---

488 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS),
489 .driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
490 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_ANSI),
491 .driver_data = APPLE_HAS_FN },
492 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_ISO),
493 .driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
494 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_JIS),
495 .driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
475 { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI),
476 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
477 { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_ISO),
478 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
479 APPLE_ISO_KEYBOARD },
480 { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_JIS),
481 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
482 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING_ANSI),

--- 27 unchanged lines hidden (view full) ---

510 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS),
511 .driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
512 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_ANSI),
513 .driver_data = APPLE_HAS_FN },
514 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_ISO),
515 .driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
516 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING5_JIS),
517 .driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
518 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6_ANSI),
519 .driver_data = APPLE_HAS_FN },
520 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6_ISO),
521 .driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
522 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6_JIS),
523 .driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
524 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_ANSI),
525 .driver_data = APPLE_HAS_FN },
526 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_ISO),
527 .driver_data = APPLE_HAS_FN | APPLE_ISO_KEYBOARD },
528 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_WELLSPRING6A_JIS),
529 .driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
496 { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI),
497 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
498 { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO),
499 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
500 APPLE_ISO_KEYBOARD },
501 { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_JIS),
502 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
503 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY),

--- 38 unchanged lines hidden ---
530 { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI),
531 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
532 { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ISO),
533 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
534 APPLE_ISO_KEYBOARD },
535 { HID_BLUETOOTH_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_JIS),
536 .driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
537 { HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY),

--- 38 unchanged lines hidden ---