summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAseda Aboagye <aaboagye@google.com>2024-06-08 03:48:04 +0000
committerFelix Held <felix-coreboot@felixheld.de>2024-06-24 15:17:20 +0000
commit2f69c2c40a91b18c7df539cde4260b025903a8b2 (patch)
tree4ea828cbbbd1e4ab44e60e458083265536bb49ab
parenta5e996feaeb1de2f0ab2d6ca1962e4e6e884d244 (diff)
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 <aaboagye@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/82996 Reviewed-by: Caveh Jalali <caveh@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Forest Mittelberg <bmbm@google.com>
-rw-r--r--src/acpi/acpigen_ps2_keybd.c1
-rw-r--r--src/ec/google/chromeec/ec_acpi.c1
-rw-r--r--src/include/acpi/acpigen_ps2_keybd.h1
3 files changed, 3 insertions, 0 deletions
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