diff options
author | Rajat Jain <rajatja@google.com> | 2020-02-20 18:17:21 -0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-04-21 21:32:51 +0000 |
commit | 9ca749eb1a57a7e8c705ec0f11ab992d8394cc37 (patch) | |
tree | 215e47e26787ddb8f9ffdb155ed3edfddebbd95a /board | |
parent | d4105005da492f8e20619cad88fdb15d6dee098f (diff) | |
download | chrome-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 'board')
-rw-r--r-- | board/eve/board.h | 1 | ||||
-rw-r--r-- | board/rammus/board.h | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/board/eve/board.h b/board/eve/board.h index 8a46d74156..e271570a47 100644 --- a/board/eve/board.h +++ b/board/eve/board.h @@ -71,6 +71,7 @@ #define CONFIG_HOSTCMD_ESPI_VW_SLP_S4 #define CONFIG_KEYBOARD_BOARD_CONFIG #define CONFIG_KEYBOARD_COL2_INVERTED +#undef CONFIG_KEYBOARD_VIVALDI #define CONFIG_KEYBOARD_PROTOCOL_8042 #define CONFIG_KEYBOARD_REFRESH_ROW3 #define CONFIG_TABLET_MODE diff --git a/board/rammus/board.h b/board/rammus/board.h index 738db9c73c..24f9069c60 100644 --- a/board/rammus/board.h +++ b/board/rammus/board.h @@ -21,6 +21,7 @@ #define CONFIG_I2C #define CONFIG_I2C_MASTER #define CONFIG_KEYBOARD_COL2_INVERTED +#undef CONFIG_KEYBOARD_VIVALDI #define CONFIG_KEYBOARD_PROTOCOL_8042 #define CONFIG_LED_COMMON #define CONFIG_LID_SWITCH |