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