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