Re: [PATCH 3/3] HID: apple: Bring back flag for Apple tilde key quirk

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Alex,

Thank you very much for cc'ing me.

On Fri, Oct 08, 2021 at 01:37:02AM -0600, Alex Henrie wrote:
> 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 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    Swiss       USB  13       Yes
> 004c:0267  A1644  ISO    Swiss       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  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

You can add to the table:

05ac:0267  A1644  ISO    Spanish     USB  13       Yes
004c:0267  A1644  ISO    Spanish     BT   0        Yes

Tested here and it works as expected, both over USB and bluetooth,
thank you very much for fixing it!

It's a pitty that we need to add a configuration option, for many users
it is not going to be easy to discover it.

macOS doesn't have this issue, so there must be a way of detecting the keyboard
layout... Unless they apply the quirk on user space checking the selected
keyboard layout and language in settings.
I bought ANSI English keyboard to see if I could figure out where is the
difference but no luck so far.

For what it's worth, Tested-by: José Expósito <jose.exposito89@xxxxxxxxx>



[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux