28
28
#define APPLE_IGNORE_MOUSE 0x0002
29
29
#define APPLE_HAS_FN 0x0004
30
30
#define APPLE_HIDDEV 0x0008
31
- #define APPLE_ISO_KEYBOARD 0x0010
31
+ /* 0x0010 reserved, was: APPLE_ISO_KEYBOARD */
32
32
#define APPLE_MIGHTYMOUSE 0x0020
33
33
#define APPLE_INVERT_HWHEEL 0x0040
34
34
#define APPLE_IGNORE_HIDINPUT 0x0080
35
35
#define APPLE_NUMLOCK_EMULATION 0x0100
36
36
37
37
#define APPLE_FLAG_FKEY 0x01
38
38
39
+ #define HID_COUNTRY_INTERNATIONAL_ISO 13
40
+
39
41
static unsigned int fnmode = 1 ;
40
42
module_param (fnmode , uint , 0644 );
41
43
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,
247
249
}
248
250
249
251
if (iso_layout ) {
250
- if (asc -> quirks & APPLE_ISO_KEYBOARD ) {
252
+ if (hid -> country == HID_COUNTRY_INTERNATIONAL_ISO ) {
251
253
trans = apple_find_translation (apple_iso_keyboard , usage -> code );
252
254
if (trans ) {
253
255
input_event (input , usage -> type , trans -> to , value );
@@ -412,60 +414,54 @@ static const struct hid_device_id apple_devices[] = {
412
414
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_GEYSER_ANSI ),
413
415
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
414
416
{ 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 },
417
418
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_GEYSER_JIS ),
418
419
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
419
420
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_GEYSER3_ANSI ),
420
421
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
421
422
{ 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 },
424
424
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_GEYSER3_JIS ),
425
425
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
426
426
APPLE_RDESC_JIS },
427
427
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_GEYSER4_ANSI ),
428
428
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
429
429
{ 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 },
432
431
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_GEYSER4_JIS ),
433
432
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
434
433
APPLE_RDESC_JIS },
435
434
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_ALU_MINI_ANSI ),
436
435
.driver_data = APPLE_HAS_FN },
437
436
{ 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 },
439
438
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_ALU_MINI_JIS ),
440
439
.driver_data = APPLE_HAS_FN },
441
440
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_ALU_ANSI ),
442
441
.driver_data = APPLE_HAS_FN },
443
442
{ 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 },
445
444
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_ALU_JIS ),
446
445
.driver_data = APPLE_HAS_FN },
447
446
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_GEYSER4_HF_ANSI ),
448
447
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
449
448
{ 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 },
452
450
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_GEYSER4_HF_JIS ),
453
451
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN |
454
452
APPLE_RDESC_JIS },
455
453
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_ALU_REVB_ANSI ),
456
454
.driver_data = APPLE_HAS_FN },
457
455
{ 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 },
459
457
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_ALU_REVB_JIS ),
460
458
.driver_data = APPLE_HAS_FN },
461
459
{ HID_BLUETOOTH_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_ALU_WIRELESS_ANSI ),
462
460
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
463
461
{ 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 },
466
463
{ 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 },
469
465
{ HID_BLUETOOTH_DEVICE (USB_VENDOR_ID_APPLE ,
470
466
USB_DEVICE_ID_APPLE_ALU_WIRELESS_2011_ANSI ),
471
467
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
@@ -479,86 +475,85 @@ static const struct hid_device_id apple_devices[] = {
479
475
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_WELLSPRING_ANSI ),
480
476
.driver_data = APPLE_HAS_FN },
481
477
{ 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 },
483
479
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_WELLSPRING_JIS ),
484
480
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
485
481
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_WELLSPRING2_ANSI ),
486
482
.driver_data = APPLE_HAS_FN },
487
483
{ 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 },
489
485
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_WELLSPRING2_JIS ),
490
486
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
491
487
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_WELLSPRING3_ANSI ),
492
488
.driver_data = APPLE_HAS_FN },
493
489
{ 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 },
495
491
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_WELLSPRING3_JIS ),
496
492
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
497
493
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_WELLSPRING4_ANSI ),
498
494
.driver_data = APPLE_HAS_FN },
499
495
{ 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 },
501
497
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_WELLSPRING4_JIS ),
502
498
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
503
499
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_WELLSPRING4A_ANSI ),
504
500
.driver_data = APPLE_HAS_FN },
505
501
{ 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 },
507
503
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_WELLSPRING4A_JIS ),
508
504
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
509
505
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_WELLSPRING5_ANSI ),
510
506
.driver_data = APPLE_HAS_FN },
511
507
{ 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 },
513
509
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_WELLSPRING5_JIS ),
514
510
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
515
511
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_WELLSPRING6_ANSI ),
516
512
.driver_data = APPLE_HAS_FN },
517
513
{ 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 },
519
515
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_WELLSPRING6_JIS ),
520
516
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
521
517
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_WELLSPRING6A_ANSI ),
522
518
.driver_data = APPLE_HAS_FN },
523
519
{ 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 },
525
521
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_WELLSPRING6A_JIS ),
526
522
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
527
523
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_WELLSPRING5A_ANSI ),
528
524
.driver_data = APPLE_HAS_FN },
529
525
{ 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 },
531
527
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_WELLSPRING5A_JIS ),
532
528
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
533
529
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_WELLSPRING7_ANSI ),
534
530
.driver_data = APPLE_HAS_FN },
535
531
{ 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 },
537
533
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_WELLSPRING7_JIS ),
538
534
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
539
535
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_WELLSPRING7A_ANSI ),
540
536
.driver_data = APPLE_HAS_FN },
541
537
{ 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 },
543
539
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_WELLSPRING7A_JIS ),
544
540
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
545
541
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_WELLSPRING8_ANSI ),
546
542
.driver_data = APPLE_HAS_FN },
547
543
{ 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 },
549
545
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_WELLSPRING8_JIS ),
550
546
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
551
547
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_WELLSPRING9_ANSI ),
552
548
.driver_data = APPLE_HAS_FN },
553
549
{ 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 },
555
551
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_WELLSPRING9_JIS ),
556
552
.driver_data = APPLE_HAS_FN | APPLE_RDESC_JIS },
557
553
{ HID_BLUETOOTH_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_ANSI ),
558
554
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
559
555
{ 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 },
562
557
{ HID_BLUETOOTH_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_ALU_WIRELESS_2009_JIS ),
563
558
.driver_data = APPLE_NUMLOCK_EMULATION | APPLE_HAS_FN },
564
559
{ HID_USB_DEVICE (USB_VENDOR_ID_APPLE , USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY ),
0 commit comments