diff options
author | Ting Shen <phoenixshen@google.com> | 2020-10-30 16:46:55 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2020-11-10 07:56:46 +0000 |
commit | decb6363e9ca50b0c15f9073872af28ba54e726a (patch) | |
tree | 47d458422726fd489a256989118fe5318be0c938 /board/hammer/board.c | |
parent | 6bc9bb622a31845277d5513fa80fb6766ee68f6c (diff) | |
download | chrome-ec-decb6363e9ca50b0c15f9073872af28ba54e726a.tar.gz |
hammer: support vivaldi keyboard
This CL implements vivald function row config for hammer keyboard.
If CONFIG_USB_HID_KEYBOARD_VIVALDI defined, STM32 HID keyboard now returns
an extra 32-bit data represents the status of action keys. Additionally,
if board_vivaldi_keybd_config returns a non-null pointer, driver will
convert function keys to action key according to the given config.
BUG=b:171156337
TEST=verify keycode is correct in `evtest`
BRANCH=none
Signed-off-by: Ting Shen <phoenixshen@google.com>
Change-Id: Ide3289fd2c1bb8859a74e97134e6113441cfb967
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2508848
Reviewed-by: Nicolas Boichat <drinkcat@chromium.org>
Commit-Queue: Ting Shen <phoenixshen@chromium.org>
Tested-by: Ting Shen <phoenixshen@chromium.org>
Diffstat (limited to 'board/hammer/board.c')
-rw-r--r-- | board/hammer/board.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/board/hammer/board.c b/board/hammer/board.c index c6149a678c..843aa07dbc 100644 --- a/board/hammer/board.c +++ b/board/hammer/board.c @@ -329,3 +329,29 @@ __override int board_write_serial(const char *serialno) { return 0; } + +static const struct ec_response_keybd_config zed_kb = { + .num_top_row_keys = 10, + .action_keys = { + TK_BACK, + TK_REFRESH, + TK_FULLSCREEN, + TK_OVERVIEW, + TK_SNAPSHOT, + TK_BRIGHTNESS_DOWN, + TK_BRIGHTNESS_UP, + TK_VOL_MUTE, + TK_VOL_DOWN, + TK_VOL_UP, + }, + .capabilities = KEYBD_CAP_SCRNLOCK_KEY, +}; + +__override +const struct ec_response_keybd_config *board_vivaldi_keybd_config(void) +{ + if (IS_ENABLED(BOARD_ZED)) + return &zed_kb; + + return NULL; +} |