Hi Werner, On 11-Mar-25 19:06, Werner Sembach wrote: > Currently only F23 is correctly mapped for PS/2 keyboards. > > Following to this table: > https://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/translate.pdf That is a very interesting document, good find! > - F24 and Zenkaku/Hankaku share the same scancode, but since in real world > Zenkaku/Hankaku keys seem to just use the tilde scancode, this patch binds the > scancode to F24. Note that on userspace side the KEY_ZENKAKUHANKAKU keycode is > currently not bound in xkeyboard-config, so it is (mostly*) unused anyway. > > * Qt on Wayland and therefore KDE on Wayland can see the keypress anyway for > some reason and it is actually used in a touchpad toggle shortcut, but this is > currently being fixed in both KDE and xkeyboard-config to make this less weird, > so it could directly be fixed to correctly handle the F24 keypress instead. > > - The scancodes for F13-F22 are currently unmapped so there will probably be no > harm in mapping them. This would also fix the issue that some of these keys > can't be mapped as the target from userspace using the `setkeycodes` command. > > Signed-off-by: Werner Sembach <wse@xxxxxxxxxxxxxxxxxxx> Thanks, patch looks good to me: Reviewed-by: Hans de Goede <hdegoede@xxxxxxxxxx> It is unfortunate that this changes the scancode 0x5f mapping from 85 to 194 (from KEY_ZENKAKUHANKAKU to KEY_F24) but as you mention the xkbconfig does not even define a keycode-label for 85 + 8 = 93 (xkb shifts all codes up 8) in: /usr/share/X11/xkb/keycodes/evdev, 93 is simply not there. So making this changes and updating the mapping to match the mappings from the microsoft document from above sounds good to me. Regards, Hans > --- > drivers/input/keyboard/atkbd.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c > index 3598a21d9d014..4bd6e6ef0715e 100644 > --- a/drivers/input/keyboard/atkbd.c > +++ b/drivers/input/keyboard/atkbd.c > @@ -84,12 +84,12 @@ static const unsigned short atkbd_set2_keycode[ATKBD_KEYMAP_SIZE] = { > #include "hpps2atkbd.h" /* include the keyboard scancodes */ > > #else > - 0, 67, 65, 63, 61, 59, 60, 88, 0, 68, 66, 64, 62, 15, 41,117, > - 0, 56, 42, 93, 29, 16, 2, 0, 0, 0, 44, 31, 30, 17, 3, 0, > - 0, 46, 45, 32, 18, 5, 4, 95, 0, 57, 47, 33, 20, 19, 6,183, > - 0, 49, 48, 35, 34, 21, 7,184, 0, 0, 50, 36, 22, 8, 9,185, > - 0, 51, 37, 23, 24, 11, 10, 0, 0, 52, 53, 38, 39, 25, 12, 0, > - 0, 89, 40, 0, 26, 13, 0,193, 58, 54, 28, 27, 0, 43, 0, 85, > + 0, 67, 65, 63, 61, 59, 60, 88,183, 68, 66, 64, 62, 15, 41,117, > + 184, 56, 42, 93, 29, 16, 2, 0,185, 0, 44, 31, 30, 17, 3, 0, > + 186, 46, 45, 32, 18, 5, 4, 95,187, 57, 47, 33, 20, 19, 6,183, > + 188, 49, 48, 35, 34, 21, 7,184,189, 0, 50, 36, 22, 8, 9,185, > + 190, 51, 37, 23, 24, 11, 10, 0,191, 52, 53, 38, 39, 25, 12, 0, > + 192, 89, 40, 0, 26, 13, 0,193, 58, 54, 28, 27, 0, 43, 0,194, > 0, 86, 91, 90, 92, 0, 14, 94, 0, 79,124, 75, 71,121, 0, 0, > 82, 83, 80, 76, 77, 72, 1, 69, 87, 78, 81, 74, 55, 73, 70, 99, >