summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorDaisuke Nojiri <dnojiri@chromium.org>2018-12-03 13:46:29 -0800
committerchrome-bot <chrome-bot@chromium.org>2018-12-12 13:55:47 -0800
commit6e0f979d406074fc471644c87595b184ca2f6f45 (patch)
tree20137d974dc61faf42c6c96386dc4e5aa6f1b095 /board
parente5fc358df19e1c4147d35749b6ddf91e22cebbf2 (diff)
downloadchrome-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>
Diffstat (limited to 'board')
-rw-r--r--board/nami/board.c8
-rw-r--r--board/nami/board.h2
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. */
/*