From 2f69c2c40a91b18c7df539cde4260b025903a8b2 Mon Sep 17 00:00:00 2001 From: Aseda Aboagye Date: Sat, 8 Jun 2024 03:48:04 +0000 Subject: acpigen_ps2_keybd: Support an Accessibility key Add support for an Accessibility key. HUTRR116 added support for a new usage titled "System Accessibility Binding" which toggles a system-wide bound accessibility UI or command. BUG=b:333095388 TEST=Build and flash a board that contains an accessibility key. Verify that KEY_ACCESSIBILITY is generated in the Linux kernel with patches[0] that add this new event code using `evtest`. ``` Testing ... (interrupt to exit) Event: time 1718924048.882841, -------------- SYN_REPORT ------------ Event: time 1718924054.062428, type 4 (EV_MSC), code 4 (MSC_SCAN), value a9 Event: time 1718924054.062428, type 1 (EV_KEY), code 590 (?), value 1 Event: time 1718924054.062428, -------------- SYN_REPORT ------------ Event: time 1718924054.195904, type 4 (EV_MSC), code 4 (MSC_SCAN), value a9 Event: time 1718924054.195904, type 1 (EV_KEY), code 590 (?), value 0 Event: time 1718924054.195904, -------------- SYN_REPORT ------------ ``` [0] - https://git.kernel.org/pub/scm/linux/kernel/git/hid/hid.git/commit/?id=0c7dd00de018ff70b3452c424901816e26366a8a Change-Id: Ifc639b37e89ec251f55859331ab5c2f4b2b45a7d Signed-off-by: Aseda Aboagye Reviewed-on: https://review.coreboot.org/c/coreboot/+/82996 Reviewed-by: Caveh Jalali Tested-by: build bot (Jenkins) Reviewed-by: Forest Mittelberg --- src/acpi/acpigen_ps2_keybd.c | 1 + src/ec/google/chromeec/ec_acpi.c | 1 + src/include/acpi/acpigen_ps2_keybd.h | 1 + 3 files changed, 3 insertions(+) diff --git a/src/acpi/acpigen_ps2_keybd.c b/src/acpi/acpigen_ps2_keybd.c index 4a05225d6f..e4322c16b6 100644 --- a/src/acpi/acpigen_ps2_keybd.c +++ b/src/acpi/acpigen_ps2_keybd.c @@ -57,6 +57,7 @@ static const uint32_t action_keymaps[] = { [PS2_KEY_KBD_BKLIGHT_TOGGLE] = KEYMAP(0x9e, KEY_KBDILLUMTOGGLE), /* e01e */ [PS2_KEY_MENU] = KEYMAP(0xdd, KEY_CONTROLPANEL), /* e0d5 */ [PS2_KEY_DICTATE] = KEYMAP(0xa7, KEY_DICTATE), /* e027*/ + [PS2_KEY_ACCESSIBILITY] = KEYMAP(0xa9, KEY_ACCESSIBILITY), /* e029 */ }; /* Keymap for numeric keypad keys */ diff --git a/src/ec/google/chromeec/ec_acpi.c b/src/ec/google/chromeec/ec_acpi.c index c8eee7738c..6e36a7fd1a 100644 --- a/src/ec/google/chromeec/ec_acpi.c +++ b/src/ec/google/chromeec/ec_acpi.c @@ -234,6 +234,7 @@ static const enum ps2_action_key ps2_enum_val[] = { [TK_MICMUTE] = PS2_KEY_MICMUTE, [TK_MENU] = PS2_KEY_MENU, [TK_DICTATE] = PS2_KEY_DICTATE, + [TK_ACCESSIBILITY] = PS2_KEY_ACCESSIBILITY, }; static void fill_ssdt_ps2_keyboard(const struct device *dev) diff --git a/src/include/acpi/acpigen_ps2_keybd.h b/src/include/acpi/acpigen_ps2_keybd.h index 5a55356c08..fe1101bf76 100644 --- a/src/include/acpi/acpigen_ps2_keybd.h +++ b/src/include/acpi/acpigen_ps2_keybd.h @@ -28,6 +28,7 @@ enum ps2_action_key { PS2_KEY_MICMUTE, PS2_KEY_MENU, PS2_KEY_DICTATE, + PS2_KEY_ACCESSIBILITY, }; #define PS2_MIN_TOP_ROW_KEYS 2 -- cgit v1.2.3