diff options
author | Daisuke Nojiri <dnojiri@chromium.org> | 2018-12-03 13:46:29 -0800 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-12-12 13:55:47 -0800 |
commit | 6e0f979d406074fc471644c87595b184ca2f6f45 (patch) | |
tree | 20137d974dc61faf42c6c96386dc4e5aa6f1b095 | |
parent | e5fc358df19e1c4147d35749b6ddf91e22cebbf2 (diff) | |
download | chrome-ec-6e0f979d406074fc471644c87595b184ca2f6f45.tar.gz |
Nami: Support UK2 keyboard
This patch swaps the forwardslash-pipe key (scancode=0x56) with the
right control key (scancode=0xe014) if UK2 bit in SKU ID is enabled.
evtest produces:
type 1 (EV_KEY), code 86 (KEY_102ND), value 1
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
BUG=b:117827249
BRANCH=none
TEST=Verify forwardslash key produces keycode=0x1d on Syndra with UK2.
TEST=Verify '\' and '|' are printed on OS (with input method = UK).
TEST=Run emerge-nami chromeos-ec
Change-Id: Ibbaeccd12cfc09d913ecfe1172218297c3d7341a
Reviewed-on: https://chromium-review.googlesource.com/1366307
Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org>
Tested-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
-rw-r--r-- | board/nami/board.c | 8 | ||||
-rw-r--r-- | board/nami/board.h | 2 |
2 files changed, 10 insertions, 0 deletions
diff --git a/board/nami/board.c b/board/nami/board.c index 14cd9f19a0..0efd6b88bf 100644 --- a/board/nami/board.c +++ b/board/nami/board.c @@ -33,6 +33,7 @@ #include "host_command.h" #include "i2c.h" #include "isl923x.h" +#include "keyboard_8042_sharedlib.h" #include "keyboard_backlight.h" #include "keyboard_config.h" #include "keyboard_raw.h" @@ -990,6 +991,13 @@ static void board_init(void) keyscan_config.actual_key_mask[11] = 0xfa; keyscan_config.actual_key_mask[12] = 0xca; } + if (sku & SKU_ID_MASK_UK2) + /* + * Observed on Shyvana with UK keyboard, + * \|: 0x0061->0x61->0x56 + * r-ctrl: 0xe014->0x14->0x1d + */ + swap(scancode_set2[0][4], scancode_set2[7][2]); #endif } DECLARE_HOOK(HOOK_INIT, board_init, HOOK_PRIO_DEFAULT); diff --git a/board/nami/board.h b/board/nami/board.h index 5bf1eb013f..60258c2e7b 100644 --- a/board/nami/board.h +++ b/board/nami/board.h @@ -32,6 +32,7 @@ #define CONFIG_KEYBOARD_COL2_INVERTED #define CONFIG_KEYBOARD_PROTOCOL_8042 #define CONFIG_KEYBOARD_KEYPAD +#define CONFIG_KEYBOARD_SCANCODE_MUTABLE #define CONFIG_LED_COMMON #define CONFIG_LID_SWITCH #define CONFIG_LOW_POWER_IDLE @@ -296,6 +297,7 @@ enum model_id { #define SKU_ID_MASK_CONVERTIBLE (1 << 9) #define SKU_ID_MASK_KEYPAD (1 << 15) +#define SKU_ID_MASK_UK2 (1 << 18) /* TODO(crosbug.com/p/61098): Verify the numbers below. */ /* |