summaryrefslogtreecommitdiff
path: root/include/keyboard_8042.h
diff options
context:
space:
mode:
authorRajat Jain <rajatja@google.com>2020-02-20 18:17:21 -0800
committerCommit Bot <commit-bot@chromium.org>2020-04-21 21:32:51 +0000
commit9ca749eb1a57a7e8c705ec0f11ab992d8394cc37 (patch)
tree215e47e26787ddb8f9ffdb155ed3edfddebbd95a /include/keyboard_8042.h
parentd4105005da492f8e20619cad88fdb15d6dee098f (diff)
downloadchrome-ec-9ca749eb1a57a7e8c705ec0f11ab992d8394cc37.tar.gz
common/keyboard_vivaldi: New keyboard framework for custom layout
Vivaldi is a new keyboard that allows individual boards to have additional or different top row keys and/or to reorder those keys. The primary agenda of vivaldi is to allow customization of the top row keys. However, as a secondary objective, it also allows coreboot to send a keymap to the kernel, for only the keys that are actually present on the keyboard. As part of enabling vivaldi, another feature that get enabled is to start sending action codes instead of function codes for the top row of the keyboard. go/vivaldi-prd go/vivaldi-design go/vivaldi-fw-design With this patch, things remain unchanged for any boards that do not provide board_set_vivaldi_keybd_config(). For boards that do provide it: * EC begins to send action scancodes instead of function scancodes for the top row when top row keys are pressed. * EC responds to an EC command from the coreboot, that asks for the layout for the keyboard. Coreboot uses this to expose corresponding keycodes to the kernel. BUG=b:146501925 TEST=Check on Jinlon the (new) expected scancodes are output from EC. BRANCH=firmware-hatch-12672.B Signed-off-by: Rajat Jain <rajatja@google.com> Change-Id: I1f45ce6eee138a984f8d4caef1ec76c9538dd30b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2135566
Diffstat (limited to 'include/keyboard_8042.h')
-rw-r--r--include/keyboard_8042.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/keyboard_8042.h b/include/keyboard_8042.h
index 3c9e87897c..cc15d6aa7d 100644
--- a/include/keyboard_8042.h
+++ b/include/keyboard_8042.h
@@ -59,4 +59,7 @@ void send_aux_data_to_host(uint8_t data);
*/
void send_aux_data_to_device(uint8_t data);
+__override_proto
+const struct ec_response_keybd_config *board_vivaldi_keybd_config(void);
+
#endif /* __CROS_EC_KEYBOARD_8042_H */