summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRajat Jain <rajatja@google.com>2020-04-22 18:46:03 -0700
committerCommit Bot <commit-bot@chromium.org>2020-04-27 21:25:21 +0000
commit64fa1645aae189d0f0bfb2802ee2f6c6fc092318 (patch)
tree1150d3e29cb1d5cafe463ad38bbdddca07791a30
parent076a513b35eafccccaa3927d046a0341b821a149 (diff)
downloadchrome-ec-64fa1645aae189d0f0bfb2802ee2f6c6fc092318.tar.gz
tests/kb_8042: Add vivaldi keyboard tests
Add tests for the vivaldi keyboard Signed-off-by: Rajat Jain <rajatja@google.com> BUG=b:154772934 TEST=make -j buildall BRANCH=None Change-Id: I3bd36162077a7770a6af30f6783b7c70736e8c74 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/2162187 Reviewed-by: Jett Rink <jettrink@chromium.org> Commit-Queue: Rajat Jain <rajatja@google.com> Tested-by: Rajat Jain <rajatja@google.com>
-rw-r--r--test/kb_8042.c70
1 files changed, 70 insertions, 0 deletions
diff --git a/test/kb_8042.c b/test/kb_8042.c
index a34c6d8513..64f5bd952b 100644
--- a/test/kb_8042.c
+++ b/test/kb_8042.c
@@ -255,6 +255,74 @@ static int test_sysjump_cont(void)
return EC_SUCCESS;
}
+static const struct ec_response_keybd_config keybd_config = {
+ .num_top_row_keys = 13,
+ .action_keys = {
+ TK_BACK, /* T1 */
+ TK_REFRESH, /* T2 */
+ TK_FULLSCREEN, /* T3 */
+ TK_OVERVIEW, /* T4 */
+ TK_SNAPSHOT, /* T5 */
+ TK_BRIGHTNESS_DOWN, /* T6 */
+ TK_BRIGHTNESS_UP, /* T7 */
+ TK_KBD_BKLIGHT_DOWN, /* T8 */
+ TK_KBD_BKLIGHT_UP, /* T9 */
+ TK_PLAY_PAUSE, /* T10 */
+ TK_VOL_MUTE, /* T11 */
+ TK_VOL_DOWN, /* T12 */
+ TK_VOL_UP, /* T13 */
+ },
+};
+
+__override const struct ec_response_keybd_config
+*board_vivaldi_keybd_config(void)
+{
+ return &keybd_config;
+}
+
+static int test_ec_cmd_get_keybd_config(void)
+{
+ struct ec_response_keybd_config resp;
+ int rv;
+
+ rv = test_send_host_command(EC_CMD_GET_KEYBD_CONFIG, 0, NULL, 0,
+ &resp, sizeof(resp));
+ if (rv != EC_RES_SUCCESS) {
+ ccprintf("Error: EC_CMD_GET_KEYBD_CONFIG cmd returns %d\n", rv);
+ return EC_ERROR_INVAL;
+ }
+
+ if (memcmp(&resp, &keybd_config, sizeof(resp))) {
+ ccprintf("Error: EC_CMD_GET_KEYBD_CONFIG returned bad cfg\n");
+ return EC_ERROR_INVAL;
+ }
+
+ ccprintf("EC_CMD_GET_KEYBD_CONFIG response is good\n");
+ return EC_SUCCESS;
+}
+
+static int test_vivaldi_top_keys(void)
+{
+ set_scancode(2);
+
+ /* Test REFRESH key */
+ write_cmd_byte(read_cmd_byte() | I8042_XLATE);
+ press_key(2, 3, 1); /* Press T2 */
+ VERIFY_LPC_CHAR("\xe0\x67"); /* Check REFRESH scancode in set-1 */
+
+ /* Test SNAPSHOT key */
+ write_cmd_byte(read_cmd_byte() | I8042_XLATE);
+ press_key(4, 3, 1); /* Press T2 */
+ VERIFY_LPC_CHAR("\xe0\x13"); /* Check SNAPSHOT scancode in set-1 */
+
+ /* Test VOL_UP key */
+ write_cmd_byte(read_cmd_byte() | I8042_XLATE);
+ press_key(5, 3, 1); /* Press T2 */
+ VERIFY_LPC_CHAR("\xe0\x30"); /* Check VOL_UP scancode in set-1 */
+
+ return EC_SUCCESS;
+}
+
void run_test(void)
{
test_reset();
@@ -266,6 +334,8 @@ void run_test(void)
RUN_TEST(test_typematic);
RUN_TEST(test_scancode_set2);
RUN_TEST(test_power_button);
+ RUN_TEST(test_ec_cmd_get_keybd_config);
+ RUN_TEST(test_vivaldi_top_keys);
RUN_TEST(test_sysjump);
} else {
RUN_TEST(test_sysjump_cont);