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,

On Mon, Oct 18, 2021 at 05:29:53PM +0200, Jiri Kosina wrote:
> On Sat, 9 Oct 2021, José Expósito 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>
> 
> Alex, could you please add the mentioned device IDs, include José's 
> Tested-by: and resend, so that I could apply it?
> 
> Thanks,
> 
> -- 
> Jiri Kosina
> SUSE Labs

I also tested
 
05ac:0267  A1644  ISO    Finnish     USB  13       Yes
004c:0267  A1644  ISO    Finnish     BT   0        Yes

With USB it still works out of the box. With BT the guessing goes wrong, but setting iso_layout to 1 works now, thanks!

Best, Julian



[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