Re: [PATCH v2 2/2] Input: atkbd - Correctly map F13 - F24

From: Hans de Goede
Date: Mon Mar 17 2025 - 18:23:54 EST


Hi Werner,

On 17-Mar-25 6:00 PM, Werner Sembach wrote:
> Hi,
>
> Am 17.03.25 um 12:58 schrieb Hans de Goede:
>> 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>
>
> Thanks for reviewing.
>
> Should I resend the patch standalone because the first of this Patchset will likely be rejected?

I think this one will apply cleanly without applying patch 1/2
first, so no reason for a resend / v3 AFAICT.

Let's wait and see what feedback Dmitry have once he can make
some time to take a look at this.

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,
>>>  
>