[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d2a2abe2-0739-4277-8803-73220be6fc3a@redhat.com>
Date: Thu, 19 Dec 2024 16:28:51 +0100
From: Hans de Goede <hdegoede@...hat.com>
To: Mark Pearson <mpearson-lenovo@...ebb.ca>
Cc: dmitry.torokhov@...il.com, linux-input@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] Input: atkbd: Fix so copilot key generates F23 keycode
+Cc Peter Hutterer
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.
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?
Regards,
Hans
>
> Signed-off-by: Mark Pearson <mpearson-lenovo@...ebb.ca>
> ---
> 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,
>
Powered by blists - more mailing lists