cros-ec-keyboard.h revision 1.1 1 /* $NetBSD: cros-ec-keyboard.h,v 1.1 2021/11/07 16:49:57 jmcneill Exp $ */
2
3 /* SPDX-License-Identifier: GPL-2.0 */
4 /*
5 * This header provides the constants of the standard Chrome OS key matrix
6 * for cros-ec keyboard-controller bindings.
7 *
8 * Copyright (c) 2021 Google, Inc
9 */
10
11 #ifndef _CROS_EC_KEYBOARD_H
12 #define _CROS_EC_KEYBOARD_H
13
14 #define CROS_STD_TOP_ROW_KEYMAP \
15 MATRIX_KEY(0x00, 0x02, KEY_F1) \
16 MATRIX_KEY(0x03, 0x02, KEY_F2) \
17 MATRIX_KEY(0x02, 0x02, KEY_F3) \
18 MATRIX_KEY(0x01, 0x02, KEY_F4) \
19 MATRIX_KEY(0x03, 0x04, KEY_F5) \
20 MATRIX_KEY(0x02, 0x04, KEY_F6) \
21 MATRIX_KEY(0x01, 0x04, KEY_F7) \
22 MATRIX_KEY(0x02, 0x09, KEY_F8) \
23 MATRIX_KEY(0x01, 0x09, KEY_F9) \
24 MATRIX_KEY(0x00, 0x04, KEY_F10)
25
26 #define CROS_STD_MAIN_KEYMAP \
27 MATRIX_KEY(0x00, 0x01, KEY_LEFTMETA) \
28 MATRIX_KEY(0x00, 0x03, KEY_B) \
29 MATRIX_KEY(0x00, 0x05, KEY_RO) \
30 MATRIX_KEY(0x00, 0x06, KEY_N) \
31 MATRIX_KEY(0x00, 0x08, KEY_EQUAL) \
32 MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT) \
33 MATRIX_KEY(0x01, 0x01, KEY_ESC) \
34 MATRIX_KEY(0x01, 0x03, KEY_G) \
35 MATRIX_KEY(0x01, 0x06, KEY_H) \
36 MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE) \
37 MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE) \
38 MATRIX_KEY(0x01, 0x0c, KEY_HENKAN) \
39 \
40 MATRIX_KEY(0x02, 0x00, KEY_LEFTCTRL) \
41 MATRIX_KEY(0x02, 0x01, KEY_TAB) \
42 MATRIX_KEY(0x02, 0x03, KEY_T) \
43 MATRIX_KEY(0x02, 0x05, KEY_RIGHTBRACE) \
44 MATRIX_KEY(0x02, 0x06, KEY_Y) \
45 MATRIX_KEY(0x02, 0x07, KEY_102ND) \
46 MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE) \
47 MATRIX_KEY(0x02, 0x0a, KEY_YEN) \
48 \
49 MATRIX_KEY(0x03, 0x00, KEY_LEFTMETA) \
50 MATRIX_KEY(0x03, 0x01, KEY_GRAVE) \
51 MATRIX_KEY(0x03, 0x03, KEY_5) \
52 MATRIX_KEY(0x03, 0x06, KEY_6) \
53 MATRIX_KEY(0x03, 0x08, KEY_MINUS) \
54 MATRIX_KEY(0x03, 0x09, KEY_SLEEP) \
55 MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH) \
56 MATRIX_KEY(0x03, 0x0c, KEY_MUHENKAN) \
57 \
58 MATRIX_KEY(0x04, 0x00, KEY_RIGHTCTRL) \
59 MATRIX_KEY(0x04, 0x01, KEY_A) \
60 MATRIX_KEY(0x04, 0x02, KEY_D) \
61 MATRIX_KEY(0x04, 0x03, KEY_F) \
62 MATRIX_KEY(0x04, 0x04, KEY_S) \
63 MATRIX_KEY(0x04, 0x05, KEY_K) \
64 MATRIX_KEY(0x04, 0x06, KEY_J) \
65 MATRIX_KEY(0x04, 0x08, KEY_SEMICOLON) \
66 MATRIX_KEY(0x04, 0x09, KEY_L) \
67 MATRIX_KEY(0x04, 0x0a, KEY_BACKSLASH) \
68 MATRIX_KEY(0x04, 0x0b, KEY_ENTER) \
69 \
70 MATRIX_KEY(0x05, 0x01, KEY_Z) \
71 MATRIX_KEY(0x05, 0x02, KEY_C) \
72 MATRIX_KEY(0x05, 0x03, KEY_V) \
73 MATRIX_KEY(0x05, 0x04, KEY_X) \
74 MATRIX_KEY(0x05, 0x05, KEY_COMMA) \
75 MATRIX_KEY(0x05, 0x06, KEY_M) \
76 MATRIX_KEY(0x05, 0x07, KEY_LEFTSHIFT) \
77 MATRIX_KEY(0x05, 0x08, KEY_SLASH) \
78 MATRIX_KEY(0x05, 0x09, KEY_DOT) \
79 MATRIX_KEY(0x05, 0x0b, KEY_SPACE) \
80 \
81 MATRIX_KEY(0x06, 0x01, KEY_1) \
82 MATRIX_KEY(0x06, 0x02, KEY_3) \
83 MATRIX_KEY(0x06, 0x03, KEY_4) \
84 MATRIX_KEY(0x06, 0x04, KEY_2) \
85 MATRIX_KEY(0x06, 0x05, KEY_8) \
86 MATRIX_KEY(0x06, 0x06, KEY_7) \
87 MATRIX_KEY(0x06, 0x08, KEY_0) \
88 MATRIX_KEY(0x06, 0x09, KEY_9) \
89 MATRIX_KEY(0x06, 0x0a, KEY_LEFTALT) \
90 MATRIX_KEY(0x06, 0x0b, KEY_DOWN) \
91 MATRIX_KEY(0x06, 0x0c, KEY_RIGHT) \
92 \
93 MATRIX_KEY(0x07, 0x01, KEY_Q) \
94 MATRIX_KEY(0x07, 0x02, KEY_E) \
95 MATRIX_KEY(0x07, 0x03, KEY_R) \
96 MATRIX_KEY(0x07, 0x04, KEY_W) \
97 MATRIX_KEY(0x07, 0x05, KEY_I) \
98 MATRIX_KEY(0x07, 0x06, KEY_U) \
99 MATRIX_KEY(0x07, 0x07, KEY_RIGHTSHIFT) \
100 MATRIX_KEY(0x07, 0x08, KEY_P) \
101 MATRIX_KEY(0x07, 0x09, KEY_O) \
102 MATRIX_KEY(0x07, 0x0b, KEY_UP) \
103 MATRIX_KEY(0x07, 0x0c, KEY_LEFT)
104
105 #endif /* _CROS_EC_KEYBOARD_H */
106