On Mon, 30 May 2022 08:18:12 +0200 José Expósito wrote: > 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". Well, editable name. I have a bad feeling about this... > 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; > } Done. However I couldn't figure out corresponding names from other known bug reports, so that the initial array only contains two devices. > 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 T^T Stay boiled, Chain