summaryrefslogtreecommitdiff
path: root/board/hammer
diff options
context:
space:
mode:
authorTing Shen <phoenixshen@google.com>2020-10-30 16:46:55 +0800
committerCommit Bot <commit-bot@chromium.org>2020-11-10 07:56:46 +0000
commitdecb6363e9ca50b0c15f9073872af28ba54e726a (patch)
tree47d458422726fd489a256989118fe5318be0c938 /board/hammer
parent6bc9bb622a31845277d5513fa80fb6766ee68f6c (diff)
downloadchrome-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')
-rw-r--r--board/hammer/board.c26
-rw-r--r--board/hammer/variants.h1
2 files changed, 27 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;
+}
diff --git a/board/hammer/variants.h b/board/hammer/variants.h
index 7829e3a34a..794abf543a 100644
--- a/board/hammer/variants.h
+++ b/board/hammer/variants.h
@@ -83,6 +83,7 @@
/* Enable to send heatmap to AP */
#define CONFIG_USB_ISOCHRONOUS
#elif defined(BOARD_ZED)
+#define CONFIG_USB_HID_KEYBOARD_VIVALDI
/* TODO: update correct parameters */
#define HAS_I2C_TOUCHPAD
#define CONFIG_USB_HID_TOUCHPAD_LOGICAL_MAX_X 3207