• Alex Henrie's avatar
    HID: apple: Bring back flag for Apple tilde key quirk · d58cf34a
    Alex Henrie authored
    Some Apple ISO keyboards have a quirk where the backtick/tilde key is
    swapped with the less-than/greater-than key. Unfortunately, there is no
    perfectly reliable way to detect whether a keyboard has the quirk or
    not, but the quirk appears to only be present on models that support
    Bluetooth, and the affected keyboards usually report country code 13 in
    the HID descriptor.
    
    Therefore, the best we can do is to change
    /sys/module/hid_apple/parameters/iso_layout to a ternary:
    
    0 = Not ISO or ISO and not quirky
    1 = ISO and quirky
    -1 = Guess based on product ID and country code
    
    Table of keyboards that José, Julian and I have tested:
    
    Product    Model  Shape  Labels      Bus  Country  Quirky
    =========================================================
    05ac:0201  M2452  ANSI   Usonian     USB  0        No
    05ac:020b  A1048  ANSI   Usonian     USB  0        No
    05ac:020c  A1048  ISO    Québécois   USB  13       No
    05ac:0221  A1243  ISO    Norwegian   USB  13       No
    05ac:0221  A1243  ISO    Portuguese  USB  13       No
    05ac:0221  A1243  ISO    Swedish     USB  13       No
    05ac:0221  A1243  ISO    Swiss       USB  13       No
    05ac:022c  A1255  ANSI   Usonian     BT   33       No
    05ac:022d  A1255  ISO    Hebrew      BT   13       Yes
    05ac:022d  A1255  ISO    Québécois   BT   13       Yes
    05ac:022d  A1255  ISO    Spanish     BT   13       Yes
    05ac:023a  A1314  ISO    Russian     BT   13       Yes
    05ac:023a  A1314  ISO    Swiss       BT   13       Yes
    05ac:024f  A1243  ANSI   Usonian     USB  0        No
    05ac:0250  A1243  ISO    British     USB  13       No
    05ac:0250  A1243  ISO    German      USB  13       No
    05ac:0250  A1243  ISO    Italian     USB  13       No
    05ac:0250  A1243  ISO    Québécois   USB  13       No
    05ac:0251  A1243  JIS    Japanese    USB  15       No
    05ac:0255  A1314  ANSI   Usonian     BT   33       No
    05ac:0255  A1314  ANSI   Taiwanese   BT   33       No
    05ac:0255  A1314  ANSI   Thai        BT   33       No
    05ac:0256  A1314  ISO    Arabic      BT   13       Yes
    05ac:0256  A1314  ISO    French      BT   13       Yes
    05ac:0256  A1314  ISO    German      BT   13       Yes
    05ac:0256  A1314  ISO    Norwegian   BT   13       Yes
    05ac:0256  A1314  ISO    Spanish     BT   13       Yes
    05ac:0256  A1314  ISO    Swiss       BT   13       Yes
    05ac:0257  A1314  JIS    Japanese    BT   15       No
    05ac:0267  A1644  ANSI   Usonian     USB  33       No
    004c:0267  A1644  ANSI   Usonian     BT   0        No
    05ac:0267  A1644  ISO    British     USB  13       Yes
    004c:0267  A1644  ISO    British     BT   0        Yes
    05ac:0267  A1644  ISO    Finnish     USB  13       Yes
    004c:0267  A1644  ISO    Finnish     BT   0        Yes
    05ac:0267  A1644  ISO    Québécois   USB  13       Yes
    004c:0267  A1644  ISO    Québécois   BT   0        Yes
    05ac:0267  A1644  ISO    Spanish     USB  13       Yes
    004c:0267  A1644  ISO    Spanish     BT   0        Yes
    05ac:0267  A1644  ISO    Swiss       USB  13       Yes
    004c:0267  A1644  ISO    Swiss       BT   0        Yes
    05ac:0267  A1644  JIS    Japanese    USB  15       No
    004c:0267  A1644  JIS    Japanese    BT   0        No
    05ac:029c  A2450  ANSI   Usonian     USB  33       No
    004c:029c  A2450  ANSI   Usonian     BT   0        No
    05ac:029c  A2450  ISO    Spanish     USB  13       Yes
    004c:029c  A2450  ISO    Spanish     BT   0        Yes
    05ac:029c  A2450  JIS    Japanese    USB  15       No
    004c:029c  A2450  JIS    Japanese    BT   0        No
    Reported-by: default avatarJosé Expósito <jose.exposito89@gmail.com>
    Tested-by: default avatarJosé Expósito <jose.exposito89@gmail.com>
    Tested-by: default avatarJulian Weigt <juw@posteo.de>
    Signed-off-by: default avatarAlex Henrie <alexhenrie24@gmail.com>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    d58cf34a
hid-apple.c 22.8 KB