diff options
author | Ben Chen <ben.chen2@quanta.corp-partner.google.com> | 2021-05-27 15:33:00 +0800 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2021-06-04 16:47:45 +0000 |
commit | 523f69ecba77b6b27667c8bc7828b5e28d253f0f (patch) | |
tree | ad8ff5d859e055f8d39764f700c1872445203004 /board/volet | |
parent | 01d5029f85ca8ede98c225c6b80c3c7ee560e25b (diff) | |
download | chrome-ec-523f69ecba77b6b27667c8bc7828b5e28d253f0f.tar.gz |
volet: add new keyboard
support num_pad keyboard with vivaldi keyboard define
BUG=b:189194028
BRANCH=main
TEST=manual
1. Scan all key.
2. Check action key function.
3. Check ALT + Volup + H.
4. Check ALT + Volup + R.
5. Check Refresh (F2) + powerbutton (EC reboot).
6. Check ESC + Refresh + powerbutton.
Change-Id: I42f18b1ccf806fb5b8292e2671100468be47e6e7
Signed-off-by: Ben Chen <ben.chen2@quanta.corp-partner.google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2921701
Reviewed-by: Zhuohao Lee <zhuohao@chromium.org>
Reviewed-by: YH Lin <yueherngl@chromium.org>
Reviewed-by: Keith Short <keithshort@chromium.org>
Commit-Queue: Keith Short <keithshort@chromium.org>
Diffstat (limited to 'board/volet')
-rw-r--r-- | board/volet/board.c | 59 |
1 files changed, 34 insertions, 25 deletions
diff --git a/board/volet/board.c b/board/volet/board.c index 5faf6e802b..1b2055a70d 100644 --- a/board/volet/board.c +++ b/board/volet/board.c @@ -22,6 +22,7 @@ #include "fan_chip.h" #include "gpio.h" #include "hooks.h" +#include "keyboard_raw.h" #include "keyboard_scan.h" #include "lid_switch.h" #include "power.h" @@ -45,47 +46,47 @@ #define CPRINTS(format, args...) cprints(CC_CHIPSET, format, ## args) -static const struct ec_response_keybd_config zbu_new_kb = { +static const struct ec_response_keybd_config volet_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, + TK_BACK, /* T1 */ + TK_REFRESH, /* T2 */ + TK_FULLSCREEN, /* T3 */ + TK_OVERVIEW, /* T4 */ + TK_SNAPSHOT, /* T5 */ + TK_BRIGHTNESS_DOWN, /* T6 */ + TK_BRIGHTNESS_UP, /* T7 */ + TK_VOL_MUTE, /* T8 */ + TK_VOL_DOWN, /* T9 */ + TK_VOL_UP, /* T10 */ }, .capabilities = KEYBD_CAP_SCRNLOCK_KEY, }; -static const struct ec_response_keybd_config zbu_old_kb = { +static const struct ec_response_keybd_config volet_kb_num = { .num_top_row_keys = 10, .action_keys = { TK_BACK, /* T1 */ - TK_FORWARD, /* T2 */ - TK_REFRESH, /* T3 */ - TK_FULLSCREEN, /* T4 */ - TK_OVERVIEW, /* T5 */ + TK_REFRESH, /* T2 */ + TK_FULLSCREEN, /* T3 */ + TK_OVERVIEW, /* T4 */ + TK_SNAPSHOT, /* T5 */ TK_BRIGHTNESS_DOWN, /* T6 */ TK_BRIGHTNESS_UP, /* T7 */ TK_VOL_MUTE, /* T8 */ TK_VOL_DOWN, /* T9 */ TK_VOL_UP, /* T10 */ }, - .capabilities = KEYBD_CAP_SCRNLOCK_KEY, + .capabilities = KEYBD_CAP_SCRNLOCK_KEY | KEYBD_CAP_NUMERIC_KEYPAD, }; -__override -const struct ec_response_keybd_config *board_vivaldi_keybd_config(void) +__override const struct ec_response_keybd_config +*board_vivaldi_keybd_config(void) { - if (get_board_id() > 2) - return &zbu_new_kb; + if (!ec_cfg_has_numeric_pad()) + return &volet_kb; else - return &zbu_old_kb; + return &volet_kb_num; } /* Keyboard scan setting */ @@ -99,8 +100,9 @@ struct keyboard_scan_config keyscan_config = { .min_post_scan_delay_us = 1000, .poll_timeout_us = 100 * MSEC, .actual_key_mask = { - 0x14, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xff, - 0xa4, 0xff, 0xfe, 0x55, 0xfa, 0xca /* full set */ + 0x1c, 0xfe, 0xff, 0xff, 0xff, 0xf5, 0xff, + 0xa4, 0xff, 0xfe, 0x55, 0xfe, 0xff, 0xff, + 0xff, /* full set */ }, }; @@ -353,7 +355,14 @@ void ppc_interrupt(enum gpio_signal signal) __override void board_cbi_init(void) { - + if ((!IS_ENABLED(TEST_BUILD) && !ec_cfg_has_numeric_pad())) { + keyboard_raw_set_cols(KEYBOARD_COLS_NO_KEYPAD); + /* Search key is moved back to col=1,row=0 */ + keyscan_config.actual_key_mask[0] = 0x14; + keyscan_config.actual_key_mask[1] = 0xff; + keyscan_config.actual_key_mask[11] = 0xfa; + keyscan_config.actual_key_mask[12] = 0xca; + } } /******************************************************************************/ |