Re: [PATCH] Input: atkbd: Fix so copilot key generates F23 keycode

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Hans

On Thu, Dec 19, 2024, at 10:28 AM, Hans de Goede wrote:
> +Cc Peter Hutterer

My bad - I've been discussing this with Peter and should have added him. Thanks for including (sorry Peter!)

>
> Hi Mark,
>
> Thank you for your patch.
>
> On 19-Dec-24 4:18 PM, Mark Pearson wrote:
>> The copilot key on Lenovo laptops doesn't work as scancode 0x6e, which it
>> generates is not mapped.
>> This change lets scancode 0x6e generate keycode 193 (F23 key) which is
>> the expected value for copilot.
>> 
>> Tested on T14s G6 AMD.
>> I've had reports from other users that their ThinkBooks are using the same
>> scancode.
>
> Hmm, I'm not sure mapping this to KEY_F23 is the right thing to do,
> there are 2 issues with this approach:
>
> 1. /usr/share/X11/xkb/symbols/inet currently maps this to
>    XF86TouchpadOff as F20 - F23 where repurposed to
>    TouchPad on/off/toggle / micmute to work around X11
>    not allowing key-codes > 247.
>
>    We are actually working on removing this X11 workaround
>    to make F20-F23 available as normal key-codes again
>    for keyboards which actually have such keys.
>
> 2. There are some keyboards which have an actual F23 key
>    and mapping the co-pilot key to that and then having
>    desktop environments grow default keybindings on top
>    of that will basically mean clobbering the F23 key or
>    at least making it harder to use.
>
> I think was is necessary instead is to add a new
> KEY_COPILOT to include/uapi/linux/input-event-codes.h
> and use that instead.

Sorry, should have been clearer in the commit message.
I'm doing this just on the Microsoft spec. The co-pilot key is left-shift, Windows/Meta key, F23. Weird combo I know....

Somewhere I had a MS page...but this Tom's HW page mentions it:
https://www.tomshardware.com/software/windows/windows-copilot-key-is-secretly-from-the-ibm-era-but-you-can-remap-it-with-the-right-tools

I'll see if I can find something more formal.

>
> Peter, I thought I read somewhere that you were looking
> into mapping the copilot key to a new  KEY_COPILOT evdev
> key for some other keyboards?
>

Wouldn't this require the kernel catching all three key events and doing the interpretation? I have no idea how this would be done or if it makes sense.

> Regards,
>
> Hans
>

Thanks!
Mark

>
>
>> 
>> Signed-off-by: Mark Pearson <mpearson-lenovo@xxxxxxxxx>
>> ---
>>  drivers/input/keyboard/atkbd.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>> 
>> diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c
>> index 5855d4fc6e6a..f7b08b359c9c 100644
>> --- a/drivers/input/keyboard/atkbd.c
>> +++ b/drivers/input/keyboard/atkbd.c
>> @@ -89,7 +89,7 @@ static const unsigned short atkbd_set2_keycode[ATKBD_KEYMAP_SIZE] = {
>>  	  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,  0, 58, 54, 28, 27,  0, 43,  0, 85,
>> +	  0, 89, 40,  0, 26, 13,  0,193, 58, 54, 28, 27,  0, 43,  0, 85,
>>  	  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,
>>




[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux