linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "José Expósito" <jose.exposito89@gmail.com>
To: Alex Henrie <alexhenrie24@gmail.com>
Cc: linux-input@vger.kernel.org, benjamin.tissoires@redhat.com,
	hadess@hadess.net, jikos@kernel.org, jslaby@suse.cz,
	juw@posteo.de, lukas@wunner.de
Subject: Re: [PATCH 3/3] HID: apple: Bring back flag for Apple tilde key quirk
Date: Sat, 9 Oct 2021 20:40:51 +0200	[thread overview]
Message-ID: <20211009184051.GA72740@elementary> (raw)
In-Reply-To: <20211008073702.5761-3-alexhenrie24@gmail.com>

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@gmail.com>

  reply	other threads:[~2021-10-09 18:40 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-10-08  7:37 [PATCH 1/3] HID: apple: Rename MAGIC_KEYBOARD_ANSI to MAGIC_KEYBOARD_2015 Alex Henrie
2021-10-08  7:37 ` [PATCH 2/3] HID: apple: Add support for the 2021 Magic Keyboard Alex Henrie
2021-10-08  7:37 ` [PATCH 3/3] HID: apple: Bring back flag for Apple tilde key quirk Alex Henrie
2021-10-09 18:40   ` José Expósito [this message]
2021-10-18 15:29     ` Jiri Kosina
2021-10-19  7:06       ` Julian Weigt
2021-10-19  9:00 ` [PATCH 1/3] HID: apple: Rename MAGIC_KEYBOARD_ANSI to MAGIC_KEYBOARD_2015 Jiri Kosina
2021-10-19 16:33   ` Alex Henrie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20211009184051.GA72740@elementary \
    --to=jose.exposito89@gmail.com \
    --cc=alexhenrie24@gmail.com \
    --cc=benjamin.tissoires@redhat.com \
    --cc=hadess@hadess.net \
    --cc=jikos@kernel.org \
    --cc=jslaby@suse.cz \
    --cc=juw@posteo.de \
    --cc=linux-input@vger.kernel.org \
    --cc=lukas@wunner.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).