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