sst-linux/drivers/input/keyboard
Mark Pearson dd00051871 Input: atkbd - map F23 key to support default copilot shortcut
commit 907bc9268a5a9f823ffa751957a5c1dd59f83f42 upstream.

Microsoft defined Meta+Shift+F23 as the Copilot shortcut instead of a
dedicated keycode, and multiple vendors have their keyboards emit this
sequence in response to users pressing a dedicated "Copilot" key.
Unfortunately the default keymap table in atkbd does not map scancode
0x6e (F23) and so the key combination does not work even if userspace
is ready to handle it.

Because this behavior is common between multiple vendors and the
scancode is currently unused map 0x6e to keycode 193 (KEY_F23) so that
key sequence is generated properly.

MS documentation for the scan code:
https://learn.microsoft.com/en-us/windows/win32/inputdev/about-keyboard-input#scan-codes
Confirmed on Lenovo, HP and Dell machines by Canonical.
Tested on Lenovo T14s G6 AMD.

Signed-off-by: Mark Pearson <mpearson-lenovo@squebb.ca>
Link: https://lore.kernel.org/r/20250107034554.25843-1-mpearson-lenovo@squebb.ca
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-02-01 18:30:11 +01:00
..
adc-keys.c
adp5520-keys.c
adp5588-keys.c Input: adp5588-keys - fix check on return code 2024-10-17 15:21:16 +02:00
adp5589-keys.c Input: adp5589-keys - fix adp5589_gpio_get_value() 2024-10-17 15:22:01 +02:00
amikbd.c
applespi_trace.h
applespi.c
applespi.h
atakbd.c
atkbd.c Input: atkbd - map F23 key to support default copilot shortcut 2025-02-01 18:30:11 +01:00
bcm-keypad.c
cap11xx.c
clps711x-keypad.c
cros_ec_keyb.c
cypress-sf.c
davinci_keyscan.c
dlink-dir685-touchkeys.c
ep93xx_keypad.c
goldfish_events.c
gpio_keys_polled.c Input: gpio_keys_polled - suppress deferred probe error for gpio 2024-03-26 18:20:27 -04:00
gpio_keys.c
hil_kbd.c
hilkbd.c
hpps2atkbd.h
imx_keypad.c
imx_sc_key.c
ipaq-micro-keys.c Input: ipaq-micro-keys - add error handling for devm_kmemdup 2024-01-01 12:39:01 +00:00
iqs62x-keys.c
jornada680_kbd.c
jornada720_kbd.c
Kconfig
lkkbd.c
lm8323.c
lm8333.c
locomokbd.c
lpc32xx-keys.c
Makefile
maple_keyb.c
matrix_keypad.c
max7359_keypad.c
mcs_touchkey.c
mpr121_touchkey.c
mt6779-keypad.c
mtk-pmic-keys.c
newtonkbd.c
nomadik-ske-keypad.c
nspire-keypad.c
omap4-keypad.c
omap-keypad.c
opencores-kbd.c
pinephone-keyboard.c
pmic8xxx-keypad.c
pxa27x_keypad.c
pxa930_rotary.c
qt1050.c Input: qt1050 - handle CHIP_ID reading error 2024-08-03 08:49:19 +02:00
qt1070.c
qt2160.c
samsung-keypad.c
sh_keysc.c
snvs_pwrkey.c
spear-keyboard.c
st-keyscan.c
stmpe-keypad.c
stowaway.c
sun4i-lradc-keys.c
sunkbd.c
tc3589x-keypad.c
tca6416-keypad.c
tca8418_keypad.c
tegra-kbc.c
tm2-touchkey.c
twl4030_keypad.c
xtkbd.c