[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220530061812.GA10391@elementary>
Date: Mon, 30 May 2022 08:18:12 +0200
From: José Expósito <jose.exposito89@...il.com>
To: Hilton Chain <hako@...rarare.space>
Cc: bryancain3@...il.com, jikos@...nel.org,
benjamin.tissoires@...hat.com, linux-kernel@...r.kernel.org,
linux-input@...r.kernel.org
Subject: Re: [PATCH] HID: apple: Reset quirks when Fn key is not found
On Mon, May 30, 2022 at 08:42:32AM +0800, Hilton Chain wrote:
> > My understanding of Bryan's patch (in cc) was that the new config option
> > worked out of the box for Keychron and Apple keyboards and allowed for
> > manual configuration where required.
> >
> > Could you explain a bit which bug is fixed by reverting these 2
> > commits, please? I don't own a Keychron keyboard for testing, so it is
> > not obvious to me why this change is required.
>
> I own a GANSS keyboard which encounters this issue as well, related device
> information given by `lsusb -v` below:
>
> idVendor 0x05ac Apple, Inc.
> idProduct 0x024f Aluminium Keyboard (ANSI)
> iManufacturer 1 SONiX
> iProduct 2 USB DEVICE
>
> As I searching through, I found similar reports regarding another GANSS
> model[1], and other brands like Varmilo[2] (a lot!) and Keychron. As a
> common pattern, they mostly use 05ac:024f.
>
> Currently I have two idea:
>
> 1. Modify Bryan's patch, so that fnmode default to 2 if device name not
> starting with "Apple" (But I can't validate my assumption since I don't
> own any Apple keyboards), I'll attach this patch in the next email.
That could be problematic because Apple keyboards can be renamed after
connecting them to a Mac.
For example, the name of my keyboard is: "José Expósito’s Keyboard".
> 2. Find out which quirk pattern solves this issue brute-forcely, I may
> attach this patch later when I finally find a solution.
>
> What's your opinion?
>
> Stay boiled,
> Hilton Chain
>
> ---
> [1]: https://www.amazon.com/gp/customer-reviews/R1EV0B1FG21GGD
> [2]: https://unix.stackexchange.com/questions/604791/keyboard-function-keys-always-trigger-media-shortcuts-regardless-of-whether-fn
I think it'd be safer to assume that the device is an Apple keyboard
and create exceptions for know non-Apple keyboards because the
majority of the devices handled by this driver are Apple keyboards and
because there is already a config option available (real_fnmode) to fix
the problematic devices in the meanwhile.
In my opinion, creating a function like "apple_is_non_apple_keyboard"
(or similar) containing all the rules to identify devices from
Keychron, GANSS, etc could do the trick. Something similar to:
if (apple_is_non_apple_keyboard(hdev)) {
hid_info(hdev, "Non-apple keyboard detected; function keys will default to fnmode=2 behavior\n");
asc->quirks |= APPLE_IS_NON_APPLE;
}
Unfortunately, I can't think of a generic way to detect those devices
as they have the same vendor and product as the Apple ones :S
Best wishes,
Jose
Powered by blists - more mailing lists