diff options
Diffstat (limited to 'board/osiris/keyboard.c')
-rw-r--r-- | board/osiris/keyboard.c | 216 |
1 files changed, 46 insertions, 170 deletions
diff --git a/board/osiris/keyboard.c b/board/osiris/keyboard.c index cf74661173..cd557760eb 100644 --- a/board/osiris/keyboard.c +++ b/board/osiris/keyboard.c @@ -1,4 +1,4 @@ -/* Copyright 2022 The Chromium OS Authors. All rights reserved. +/* Copyright 2022 The ChromiumOS Authors * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ @@ -12,29 +12,28 @@ #include "rgb_keyboard.h" #include "timer.h" - -#define CPRINTF(format, args...) cprintf(CC_KEYBOARD, format, ## args) -#define CPRINTS(format, args...) cprints(CC_KEYBOARD, format, ## args) +#define CPRINTF(format, args...) cprintf(CC_KEYBOARD, format, ##args) +#define CPRINTS(format, args...) cprints(CC_KEYBOARD, format, ##args) const struct key { uint8_t row; uint8_t col; } vivaldi_keys[] = { - {.row = 4, .col = 2}, /* T1 */ - {.row = 3, .col = 2}, /* T2 */ - {.row = 2, .col = 2}, /* T3 */ - {.row = 1, .col = 2}, /* T4 */ - {.row = 4, .col = 4}, /* T5 */ - {.row = 3, .col = 4}, /* T6 */ - {.row = 2, .col = 4}, /* T7 */ - {.row = 2, .col = 9}, /* T8 */ - {.row = 1, .col = 9}, /* T9 */ - {.row = 1, .col = 4}, /* T10 */ - {.row = 0, .col = 4}, /* T11 */ - {.row = 1, .col = 5}, /* T12 */ - {.row = 3, .col = 5}, /* T13 */ - {.row = 2, .col = 1}, /* T14 */ - {.row = 0, .col = 1}, /* T15 */ + { .row = 4, .col = 2 }, /* T1 */ + { .row = 3, .col = 2 }, /* T2 */ + { .row = 2, .col = 2 }, /* T3 */ + { .row = 1, .col = 2 }, /* T4 */ + { .row = 4, .col = 4 }, /* T5 */ + { .row = 3, .col = 4 }, /* T6 */ + { .row = 2, .col = 4 }, /* T7 */ + { .row = 2, .col = 9 }, /* T8 */ + { .row = 1, .col = 9 }, /* T9 */ + { .row = 1, .col = 4 }, /* T10 */ + { .row = 0, .col = 4 }, /* T11 */ + { .row = 1, .col = 5 }, /* T12 */ + { .row = 3, .col = 5 }, /* T13 */ + { .row = 2, .col = 1 }, /* T14 */ + { .row = 0, .col = 1 }, /* T15 */ }; BUILD_ASSERT(ARRAY_SIZE(vivaldi_keys) == MAX_TOP_ROW_KEYS); @@ -55,8 +54,8 @@ static const struct ec_response_keybd_config osiris_vivaldi_kb = { .capabilities = KEYBD_CAP_SCRNLOCK_KEY, }; -__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 &osiris_vivaldi_kb; } @@ -81,139 +80,16 @@ const uint8_t rgbkbd_count = ARRAY_SIZE(rgbkbds); const uint8_t rgbkbd_hsize = RGB_GRID0_COL; const uint8_t rgbkbd_vsize = RGB_GRID0_ROW; -/* TODO(b/233323599): need to check and update */ -#define LED(x, y) RGBKBD_COORD((x), (y)) -#define DELM RGBKBD_DELM +enum ec_rgbkbd_type rgbkbd_type = EC_RGBKBD_TYPE_FOUR_ZONES_12_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(0, 0), DELM, /* 2: ! 1 */ - LED(1, 0), DELM, /* 3: @ 2 */ - LED(1, 0), DELM, /* 4: # 3 */ - LED(2, 0), DELM, /* 5: $ 4 */ - LED(3, 0), DELM, /* 6: % 5 */ - LED(5, 0), DELM, /* 7: ^ 6 */ - LED(6, 0), DELM, /* 8: & 7 */ - LED(6, 0), DELM, /* 9: * 8 */ - LED(7, 0), DELM, /* 10: ( 9 */ - LED(8, 0), DELM, /* 11: ) 0 */ - LED(9, 0), DELM, /* 12: _ - */ - LED(10, 0), DELM, /* 13: + = */ - DELM, /* 14: (null) */ - LED(11, 0), DELM, /* 15: backspace */ - LED(0, 0), DELM, /* 16: tab */ - LED(0, 0), DELM, /* 17: q */ - LED(1, 0), DELM, /* 18: w */ - LED(2, 0), DELM, /* 19: e */ - LED(3, 0), DELM, /* 20: r */ - LED(4, 0), DELM, /* 21: t */ - LED(5, 0), DELM, /* 22: y */ - LED(6, 0), DELM, /* 23: u */ - LED(7, 0), DELM, /* 24: i */ - LED(8, 0), DELM, /* 25: o */ - LED(9, 0), DELM, /* 26: p */ - LED(10, 0), DELM, /* 27: [ { */ - LED(11, 0), DELM, /* 28: ] } */ - LED(11, 0), DELM, /* 29: \ | */ - LED(0, 0), DELM, /* 30: caps lock */ - LED(1, 0), DELM, /* 31: a */ - LED(1, 0), DELM, /* 32: s */ - LED(2, 0), DELM, /* 33: d */ - LED(3, 0), DELM, /* 34: f */ - LED(4, 0), DELM, /* 35: g */ - LED(5, 0), DELM, /* 36: h */ - LED(6, 0), DELM, /* 37: j */ - LED(7, 0), DELM, /* 38: k */ - LED(8, 0), DELM, /* 39: l */ - LED(9, 0), DELM, /* 40: ; : */ - LED(10, 0), DELM, /* 41: " ' */ - DELM, /* 42: (null) */ - LED(11, 0), DELM, /* 43: enter */ - LED(0, 0), DELM, /* 44: L-shift */ - DELM, /* 45: (null) */ - LED(1, 0), DELM, /* 46: z */ - LED(2, 0), DELM, /* 47: x */ - LED(3, 0), DELM, /* 48: c */ - LED(3, 0), DELM, /* 49: v */ - LED(5, 0), DELM, /* 50: b */ - LED(6, 0), DELM, /* 51: n */ - LED(7, 0), DELM, /* 52: m */ - LED(8, 0), DELM, /* 53: , < */ - LED(9, 0), DELM, /* 54: . > */ - LED(10, 0), DELM, /* 55: / ? */ - DELM, /* 56: (null) */ - LED(11, 0), DELM, /* 57: R-shift */ - LED(0, 0), DELM, /* 58: L-ctrl */ - LED(11, 0), DELM, /* 59: power */ - LED(1, 0), LED(2, 0), DELM, /* 60: L-alt */ - LED(3, 0), LED(4, 0), - LED(5, 0), LED(6, 0), DELM, /* 61: space */ - LED(8, 0), DELM, /* 62: R-alt */ - DELM, /* 63: (null) */ - LED(9, 0), 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) */ - DELM, /* 76: delete */ - DELM, /* 77: (null) */ - DELM, /* 78: (null) */ - LED(10, 0), DELM, /* 79: left */ - DELM, /* 80: home */ - DELM, /* 81: end */ - DELM, /* 82: (null) */ - LED(11, 0), DELM, /* 83: up */ - LED(11, 0), DELM, /* 84: down */ - DELM, /* 85: page up */ - DELM, /* 86: page down */ - DELM, /* 87: (null) */ - DELM, /* 88: (null) */ - LED(11, 0), DELM, /* 89: right */ - DELM, /* 90: (null) */ - DELM, /* 91: numpad 7 */ - DELM, /* 92: numpad 4 */ - DELM, /* 93: numpad 1 */ - DELM, /* 94: (null) */ - DELM, /* 95: numpad / */ - DELM, /* 96: numpad 8 */ - DELM, /* 97: numpad 5 */ - DELM, /* 98: numpad 2 */ - DELM, /* 99: numpad 0 */ - DELM, /* 100: numpad * */ - DELM, /* 101: numpad 9 */ - DELM, /* 102: numpad 6 */ - DELM, /* 103: numpad 3 */ - DELM, /* 104: numpad . */ - DELM, /* 105: numpad - */ - DELM, /* 106: numpad + */ - DELM, /* 107: (null) */ - DELM, /* 108: numpad enter */ - DELM, /* 109: (null) */ - LED(0, 0), DELM, /* 110: esc */ - LED(0, 0), DELM, /* T1: back */ - LED(1, 0), DELM, /* T2: refresh */ - LED(2, 0), DELM, /* T3: full screen */ - LED(3, 0), DELM, /* T4: overview */ - LED(5, 0), DELM, /* T5: snapshot */ - LED(6, 0), DELM, /* T6: brightness down */ - LED(7, 0), DELM, /* T7: brightness up */ - LED(8, 0), DELM, /* T8: mute */ - LED(9, 0), DELM, /* T9: volume down */ - LED(10, 0), DELM, /* T10: volume up */ - DELM, /* T11: (null) */ - DELM, /* T12: (null) */ - DELM, /* T13: (null) */ - DELM, /* T14: (null) */ - 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(8, 0), DELM, LED(9, 0), DELM, LED(10, 0), DELM, LED(11, 0), + DELM, DELM, }; #undef LED #undef DELM @@ -237,28 +113,28 @@ __override struct keyboard_scan_config keyscan_config = { }; static uint16_t scancode_set2_rgb[KEYBOARD_COLS_MAX][KEYBOARD_ROWS] = { - {0x0000, 0x0000, 0x0014, 0xe01f, 0xe014, 0xe007, 0x0000, 0x0000}, - {0x001f, 0x0076, 0x0017, 0x000e, 0x001c, 0x003a, 0x000d, 0x0016}, - {0x006c, 0x000c, 0x0004, 0x0006, 0x0005, 0xe071, 0x0026, 0x002a}, - {0x0032, 0x0034, 0x002c, 0x002e, 0x002b, 0x0029, 0x0025, 0x002d}, - {0x0078, 0x0009, 0x0083, 0x000b, 0x0003, 0x0041, 0x001e, 0x001d}, - {0x0051, 0x0007, 0x005b, 0x0000, 0x0042, 0x0022, 0x003e, 0x0043}, - {0x0031, 0x0033, 0x0035, 0x0036, 0x003b, 0x001b, 0x003d, 0x003c}, - {0x0000, 0x0012, 0x0061, 0x0000, 0x0000, 0x0000, 0x0000, 0x0059}, - {0x0055, 0x0052, 0x0054, 0x004e, 0x004c, 0x0024, 0x0044, 0x004d}, - {0x0045, 0x0001, 0x000a, 0x002f, 0x004b, 0x0049, 0x0046, 0x001A}, - {0xe011, 0x0000, 0x006a, 0x0000, 0x005d, 0x0000, 0x0011, 0x0000}, - {0xe07a, 0x005d, 0xe075, 0x006b, 0x005a, 0xe072, 0x004a, 0x0066}, - {0xe06b, 0xe074, 0xe069, 0x0067, 0xe0c6, 0x0064, 0x0015, 0xe07d}, - {0x0073, 0x0066, 0xe071, 0x005d, 0x005a, 0xe04a, 0x0070, 0x0021}, - {0x0023, 0xe05a, 0x0075, 0x0067, 0xe069, 0xe07a, 0x007d, 0x0069}, + { 0x0000, 0x0000, 0x0014, 0xe01f, 0xe014, 0xe007, 0x0000, 0x0000 }, + { 0x001f, 0x0076, 0x0017, 0x000e, 0x001c, 0x003a, 0x000d, 0x0016 }, + { 0x006c, 0x000c, 0x0004, 0x0006, 0x0005, 0xe071, 0x0026, 0x002a }, + { 0x0032, 0x0034, 0x002c, 0x002e, 0x002b, 0x0029, 0x0025, 0x002d }, + { 0x0078, 0x0009, 0x0083, 0x000b, 0x0003, 0x0041, 0x001e, 0x001d }, + { 0x0051, 0x0007, 0x005b, 0x0000, 0x0042, 0x0022, 0x003e, 0x0043 }, + { 0x0031, 0x0033, 0x0035, 0x0036, 0x003b, 0x001b, 0x003d, 0x003c }, + { 0x0000, 0x0012, 0x0061, 0x0000, 0x0000, 0x0000, 0x0000, 0x0059 }, + { 0x0055, 0x0052, 0x0054, 0x004e, 0x004c, 0x0024, 0x0044, 0x004d }, + { 0x0045, 0x0001, 0x000a, 0x002f, 0x004b, 0x0049, 0x0046, 0x001A }, + { 0xe011, 0x0000, 0x006a, 0x0000, 0x005d, 0x0000, 0x0011, 0x0000 }, + { 0xe07a, 0x005d, 0xe075, 0x006b, 0x005a, 0xe072, 0x004a, 0x0066 }, + { 0xe06b, 0xe074, 0xe069, 0x0067, 0xe0c6, 0x0064, 0x0015, 0xe07d }, + { 0x0073, 0x0066, 0xe071, 0x005d, 0x005a, 0xe04a, 0x0070, 0x0021 }, + { 0x0023, 0xe05a, 0x0075, 0x0067, 0xe069, 0xe07a, 0x007d, 0x0069 }, }; static void keyboard_matrix_init(void) { CPRINTS("%s", __func__); - register_scancode_set2((uint16_t *) &scancode_set2_rgb, - sizeof(scancode_set2_rgb)); + register_scancode_set2((uint16_t *)&scancode_set2_rgb, + sizeof(scancode_set2_rgb)); } DECLARE_HOOK(HOOK_INIT, keyboard_matrix_init, HOOK_PRIO_PRE_DEFAULT); |