lkml.org 
[lkml]   [2022]   [May]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [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

    \
     
     \ /
      Last update: 2022-05-30 08:19    [W:3.561 / U:0.132 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site