summaryrefslogtreecommitdiff
path: root/board/taniks/keyboard.c
diff options
context:
space:
mode:
Diffstat (limited to 'board/taniks/keyboard.c')
-rw-r--r--board/taniks/keyboard.c200
1 files changed, 57 insertions, 143 deletions
diff --git a/board/taniks/keyboard.c b/board/taniks/keyboard.c
index 99099b4661..069627a168 100644
--- a/board/taniks/keyboard.c
+++ b/board/taniks/keyboard.c
@@ -1,4 +1,4 @@
-/* Copyright 2021 The Chromium OS Authors. All rights reserved.
+/* Copyright 2021 The ChromiumOS Authors
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
@@ -28,7 +28,7 @@ __override struct keyboard_scan_config keyscan_config = {
};
static const struct ec_response_keybd_config taniks_kb = {
- .num_top_row_keys = 14,
+ .num_top_row_keys = 11,
.action_keys = {
TK_BACK, /* T1 */
TK_REFRESH, /* T2 */
@@ -37,17 +37,47 @@ static const struct ec_response_keybd_config taniks_kb = {
TK_SNAPSHOT, /* T5 */
TK_BRIGHTNESS_DOWN, /* T6 */
TK_BRIGHTNESS_UP, /* T7 */
- TK_ABSENT, /* T8 */
- TK_ABSENT, /* T9 */
- TK_ABSENT, /* T10 */
- TK_MICMUTE, /* T11 */
- TK_VOL_MUTE, /* T12 */
- TK_VOL_DOWN, /* T13 */
- TK_VOL_UP, /* T14 */
+ TK_MICMUTE, /* T8 */
+ TK_VOL_MUTE, /* T9 */
+ TK_VOL_DOWN, /* T10 */
+ TK_VOL_UP, /* T11 */
},
.capabilities = KEYBD_CAP_SCRNLOCK_KEY | KEYBD_CAP_NUMERIC_KEYPAD,
};
+/*
+ * Row Column info for Top row keys T1 - T15.
+ * For taniks keyboard layout(T11 - T14) and
+ * printing(F8 - F11) are different issue.
+ * Move T11 - T14 row and col setting to T8 - T11.
+ * Need define row col to mapping matrix layout.
+ * Change T8 row, col to (0,1)
+ * Change T9 row, col to (1,5)
+ * Change T10 row, col to (3,5)
+ * Change T11 row, col to (0,9)
+ */
+__override const struct key {
+ uint8_t row;
+ uint8_t col;
+} vivaldi_keys[] = {
+ { .row = 0, .col = 2 }, /* T1 */
+ { .row = 3, .col = 2 }, /* T2 */
+ { .row = 2, .col = 2 }, /* T3 */
+ { .row = 1, .col = 2 }, /* T4 */
+ { .row = 3, .col = 4 }, /* T5 */
+ { .row = 2, .col = 4 }, /* T6 */
+ { .row = 1, .col = 4 }, /* T7 */
+ { .row = 0, .col = 1 }, /* T8 */
+ { .row = 1, .col = 5 }, /* T9 */
+ { .row = 3, .col = 5 }, /* T10 */
+ { .row = 0, .col = 9 }, /* T11 */
+ { .row = 2, .col = 9 }, /* T12 */
+ { .row = 1, .col = 9 }, /* T13 */
+ { .row = 0, .col = 4 }, /* T14 */
+ { .row = 0, .col = 11 }, /* T15 */
+};
+BUILD_ASSERT(ARRAY_SIZE(vivaldi_keys) == MAX_TOP_ROW_KEYS);
+
static struct rgb_s grid0[RGB_GRID0_COL * RGB_GRID0_ROW];
struct rgbkbd rgbkbds[] = {
@@ -66,146 +96,30 @@ const uint8_t rgbkbd_count = ARRAY_SIZE(rgbkbds);
const uint8_t rgbkbd_hsize = RGB_GRID0_COL;
const uint8_t rgbkbd_vsize = RGB_GRID0_ROW;
-#define LED(x, y) RGBKBD_COORD((x), (y))
-#define DELM RGBKBD_DELM
+enum ec_rgbkbd_type rgbkbd_type = EC_RGBKBD_TYPE_FOUR_ZONES_40_LEDS;
+
+#define LED(x, y) RGBKBD_COORD((x), (y))
+#define DELM RGBKBD_DELM
+
const uint8_t rgbkbd_map[] = {
- DELM, /* 0: (null) */
- LED( 0, 0), DELM, /* 1: ~ ` */
- LED( 2, 0), LED( 4, 0), DELM, /* 2: ! 1 */
- LED( 6, 0), DELM, /* 3: @ 2 */
- LED( 0, 1), DELM, /* 4: # 3 */
- LED( 2, 1), DELM, /* 5: $ 4 */
- LED( 4, 1), LED( 6, 1), DELM, /* 6: % 5 */
- LED( 0, 2), DELM, /* 7: ^ 6 */
- LED( 2, 2), DELM, /* 8: & 7 */
- LED( 4, 2), DELM, /* 9: * 8 */
- LED( 6, 2), DELM, /* 10: ( 9 */
- LED( 0, 3), DELM, /* 11: ) 0 */
- LED( 1, 3), DELM, /* 12: _ - */
- LED( 3, 3), DELM, /* 13: + = */
- DELM, /* 14: (null) */
- LED( 5, 3), LED( 6, 3), DELM, /* 15: backspace */
- LED( 0, 0), DELM, /* 16: tab */
- LED( 2, 0), LED( 4, 0), DELM, /* 17: q */
- LED( 6, 0), DELM, /* 18: w */
- LED( 0, 1), DELM, /* 19: e */
- LED( 2, 1), DELM, /* 20: r */
- LED( 4, 1), LED( 6, 1), DELM, /* 21: t */
- LED( 0, 2), DELM, /* 22: y */
- LED( 2, 2), DELM, /* 23: u */
- LED( 4, 2), DELM, /* 24: i */
- LED( 6, 2), DELM, /* 25: o */
- LED( 0, 3), LED( 1, 3), DELM, /* 26: p */
- LED( 3, 3), DELM, /* 27: [ { */
- LED( 5, 3), DELM, /* 28: ] } */
- LED( 6, 3), DELM, /* 29: \ | */
- LED( 0, 0), DELM, /* 30: caps lock */
- LED( 2, 0), LED( 4, 0), DELM, /* 31: a */
- LED( 6, 0), DELM, /* 32: s */
- LED( 0, 1), DELM, /* 33: d */
- LED( 2, 1), DELM, /* 34: f */
- LED( 4, 1), LED( 6, 1), DELM, /* 35: g */
- LED( 0, 2), DELM, /* 36: h */
- LED( 2, 2), DELM, /* 37: j */
- LED( 4, 2), DELM, /* 38: k */
- LED( 6, 4), DELM, /* 39: l */
- LED( 0, 3), LED( 1, 3), DELM, /* 40: ; : */
- LED( 3, 3), DELM, /* 41: " ' */
- DELM, /* 42: (null) */
- LED( 5, 3), LED( 6, 3), DELM, /* 43: enter */
- LED( 1, 0), LED( 3, 0), DELM, /* 44: L-shift */
- DELM, /* 45: (null) */
- LED( 5, 0), DELM, /* 46: z */
- LED( 7, 0), DELM, /* 47: x */
- LED( 1, 1), DELM, /* 48: c */
- LED( 3, 1), DELM, /* 49: v */
- LED( 5, 1), LED( 7, 1), DELM, /* 50: b */
- LED( 1, 2), DELM, /* 51: n */
- LED( 3, 2), DELM, /* 52: m */
- LED( 5, 2), DELM, /* 53: , < */
- LED( 7, 2), DELM, /* 54: . > */
- LED( 2, 3), DELM, /* 55: / ? */
- DELM, /* 56: (null) */
- LED( 4, 3), LED( 7, 3), DELM, /* 57: R-shift */
- LED( 1, 0), LED( 3, 0), DELM, /* 58: L-ctrl */
- LED( 5, 3), LED( 6, 3), DELM, /* 59: power */
- LED( 5, 0), LED( 7, 0), DELM, /* 60: L-alt */
- LED( 1, 1), LED( 3, 1),
- LED( 5, 1), LED( 7, 1),
- LED( 1, 2), LED( 3, 2), DELM, /* 61: space */
- LED( 5, 2), DELM, /* 62: R-alt */
- DELM, /* 63: (null) */
- LED( 7, 2), DELM, /* 64: R-ctrl */
- DELM, /* 65: (null) */
- DELM, /* 66: (null) */
- DELM, /* 67: (null) */
- DELM, /* 68: (null) */
- DELM, /* 69: (null) */
- DELM, /* 70: (null) */
- DELM, /* 71: (null) */
- DELM, /* 72: (null) */
- DELM, /* 73: (null) */
- DELM, /* 74: (null) */
- DELM, /* 75: (null) */
- LED( 0, 4), DELM, /* 76: delete */
- DELM, /* 77: (null) */
- DELM, /* 78: (null) */
- LED( 2, 3), DELM, /* 79: left */
- LED( 4, 4), DELM, /* 80: home */
- LED( 6, 4), DELM, /* 81: end */
- DELM, /* 82: (null) */
- LED( 4, 3), DELM, /* 83: up */
- LED( 4, 3), DELM, /* 84: down */
- LED( 0, 4), DELM, /* 85: page up */
- LED( 2, 4), DELM, /* 86: page down */
- DELM, /* 87: (null) */
- DELM, /* 88: (null) */
- LED( 7, 3), DELM, /* 89: right */
- DELM, /* 90: (null) */
- LED( 0, 4), DELM, /* 91: numpad 7 */
- LED( 0, 4), DELM, /* 92: numpad 4 */
- LED( 1, 4), DELM, /* 93: numpad 1 */
- DELM, /* 94: (null) */
- LED( 2, 4), DELM, /* 95: numpad / */
- LED( 2, 4), DELM, /* 96: numpad 8 */
- LED( 2, 4), DELM, /* 97: numpad 5 */
- LED( 3, 4), DELM, /* 98: numpad 2 */
- LED( 3, 4), DELM, /* 99: numpad 0 */
- LED( 4, 4), DELM, /* 100: numpad * */
- LED( 4, 4), DELM, /* 101: numpad 9 */
- LED( 4, 4), DELM, /* 102: numpad 6 */
- LED( 5, 4), DELM, /* 103: numpad 3 */
- LED( 5, 4), DELM, /* 104: numpad . */
- LED( 6, 4), DELM, /* 105: numpad - */
- LED( 6, 4), DELM, /* 106: numpad + */
- DELM, /* 107: (null) */
- LED( 7, 4), DELM, /* 108: numpad enter */
- DELM, /* 109: (null) */
- LED( 0, 0), DELM, /* 110: esc */
- LED( 2, 0), LED( 4, 0), DELM, /* T1: back */
- LED( 6, 0), DELM, /* T2: refresh */
- LED( 0, 1), DELM, /* T3: full screen */
- LED( 2, 1), DELM, /* T4: overview */
- LED( 4, 1), LED( 6, 1), DELM, /* T5: snapshot */
- LED( 0, 2), DELM, /* T6: brightness down */
- LED( 2, 2), DELM, /* T7: brightness up */
- DELM, /* T8: (null) */
- DELM, /* T9: (null) */
- DELM, /* T10: (null) */
- LED( 4, 2), DELM, /* T11: mic mute */
- LED( 6, 2), DELM, /* T12: volume mute */
- LED( 0, 3), LED( 1, 3), DELM, /* T13: volume down */
- LED( 3, 3), DELM, /* T14: volume up */
- DELM, /* T15: (null) */
- DELM, /* 126: (null) */
- DELM, /* 127: (null) */
+ DELM, LED(0, 0), DELM, LED(1, 0), DELM, LED(2, 0), DELM, LED(3, 0),
+ DELM, LED(4, 0), DELM, LED(5, 0), DELM, LED(6, 0), DELM, LED(7, 0),
+ DELM, LED(0, 1), DELM, LED(1, 1), DELM, LED(2, 1), DELM, LED(3, 1),
+ DELM, LED(4, 1), DELM, LED(5, 1), DELM, LED(6, 1), DELM, LED(7, 1),
+ DELM, LED(0, 2), DELM, LED(1, 2), DELM, LED(2, 2), DELM, LED(3, 2),
+ DELM, LED(4, 2), DELM, LED(5, 2), DELM, LED(6, 2), DELM, LED(7, 2),
+ DELM, LED(0, 3), DELM, LED(1, 3), DELM, LED(2, 3), DELM, LED(3, 3),
+ DELM, LED(4, 3), DELM, LED(5, 3), DELM, LED(6, 3), DELM, LED(7, 3),
+ DELM, LED(0, 4), DELM, LED(1, 4), DELM, LED(2, 4), DELM, LED(3, 4),
+ DELM, LED(4, 4), DELM, LED(5, 4), DELM, LED(6, 4), DELM, LED(7, 4),
+ DELM, DELM,
};
#undef LED
#undef DELM
const size_t rgbkbd_map_size = ARRAY_SIZE(rgbkbd_map);
-__override const struct ec_response_keybd_config
-*board_vivaldi_keybd_config(void)
+__override const struct ec_response_keybd_config *
+board_vivaldi_keybd_config(void)
{
return &taniks_kb;
}