Path: blob/master/include/dt-bindings/input/cros-ec-keyboard.h
26288 views
/* SPDX-License-Identifier: GPL-2.0 */1/*2* This header provides the constants of the standard Chrome OS key matrix3* for cros-ec keyboard-controller bindings.4*5* Copyright (c) 2021 Google, Inc6*/78#ifndef _CROS_EC_KEYBOARD_H9#define _CROS_EC_KEYBOARD_H1011#define CROS_STD_TOP_ROW_KEYMAP \12MATRIX_KEY(0x00, 0x02, KEY_F1) \13MATRIX_KEY(0x03, 0x02, KEY_F2) \14MATRIX_KEY(0x02, 0x02, KEY_F3) \15MATRIX_KEY(0x01, 0x02, KEY_F4) \16MATRIX_KEY(0x03, 0x04, KEY_F5) \17MATRIX_KEY(0x02, 0x04, KEY_F6) \18MATRIX_KEY(0x01, 0x04, KEY_F7) \19MATRIX_KEY(0x02, 0x09, KEY_F8) \20MATRIX_KEY(0x01, 0x09, KEY_F9) \21MATRIX_KEY(0x00, 0x04, KEY_F10)2223#define CROS_STD_MAIN_KEYMAP \24MATRIX_KEY(0x00, 0x01, KEY_LEFTMETA) \25MATRIX_KEY(0x00, 0x03, KEY_B) \26MATRIX_KEY(0x00, 0x05, KEY_RO) \27MATRIX_KEY(0x00, 0x06, KEY_N) \28MATRIX_KEY(0x00, 0x08, KEY_EQUAL) \29MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT) \30MATRIX_KEY(0x01, 0x01, KEY_ESC) \31MATRIX_KEY(0x01, 0x03, KEY_G) \32MATRIX_KEY(0x01, 0x06, KEY_H) \33MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE) \34MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE) \35MATRIX_KEY(0x01, 0x0c, KEY_HENKAN) \36\37MATRIX_KEY(0x02, 0x00, KEY_LEFTCTRL) \38MATRIX_KEY(0x02, 0x01, KEY_TAB) \39MATRIX_KEY(0x02, 0x03, KEY_T) \40MATRIX_KEY(0x02, 0x05, KEY_RIGHTBRACE) \41MATRIX_KEY(0x02, 0x06, KEY_Y) \42MATRIX_KEY(0x02, 0x07, KEY_102ND) \43MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE) \44MATRIX_KEY(0x02, 0x0a, KEY_YEN) \45\46MATRIX_KEY(0x03, 0x00, KEY_LEFTMETA) \47MATRIX_KEY(0x03, 0x01, KEY_GRAVE) \48MATRIX_KEY(0x03, 0x03, KEY_5) \49MATRIX_KEY(0x03, 0x06, KEY_6) \50MATRIX_KEY(0x03, 0x08, KEY_MINUS) \51MATRIX_KEY(0x03, 0x09, KEY_SLEEP) \52MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH) \53MATRIX_KEY(0x03, 0x0c, KEY_MUHENKAN) \54\55MATRIX_KEY(0x04, 0x00, KEY_RIGHTCTRL) \56MATRIX_KEY(0x04, 0x01, KEY_A) \57MATRIX_KEY(0x04, 0x02, KEY_D) \58MATRIX_KEY(0x04, 0x03, KEY_F) \59MATRIX_KEY(0x04, 0x04, KEY_S) \60MATRIX_KEY(0x04, 0x05, KEY_K) \61MATRIX_KEY(0x04, 0x06, KEY_J) \62MATRIX_KEY(0x04, 0x08, KEY_SEMICOLON) \63MATRIX_KEY(0x04, 0x09, KEY_L) \64MATRIX_KEY(0x04, 0x0a, KEY_BACKSLASH) \65MATRIX_KEY(0x04, 0x0b, KEY_ENTER) \66\67MATRIX_KEY(0x05, 0x01, KEY_Z) \68MATRIX_KEY(0x05, 0x02, KEY_C) \69MATRIX_KEY(0x05, 0x03, KEY_V) \70MATRIX_KEY(0x05, 0x04, KEY_X) \71MATRIX_KEY(0x05, 0x05, KEY_COMMA) \72MATRIX_KEY(0x05, 0x06, KEY_M) \73MATRIX_KEY(0x05, 0x07, KEY_LEFTSHIFT) \74MATRIX_KEY(0x05, 0x08, KEY_SLASH) \75MATRIX_KEY(0x05, 0x09, KEY_DOT) \76MATRIX_KEY(0x05, 0x0b, KEY_SPACE) \77\78MATRIX_KEY(0x06, 0x01, KEY_1) \79MATRIX_KEY(0x06, 0x02, KEY_3) \80MATRIX_KEY(0x06, 0x03, KEY_4) \81MATRIX_KEY(0x06, 0x04, KEY_2) \82MATRIX_KEY(0x06, 0x05, KEY_8) \83MATRIX_KEY(0x06, 0x06, KEY_7) \84MATRIX_KEY(0x06, 0x08, KEY_0) \85MATRIX_KEY(0x06, 0x09, KEY_9) \86MATRIX_KEY(0x06, 0x0a, KEY_LEFTALT) \87MATRIX_KEY(0x06, 0x0b, KEY_DOWN) \88MATRIX_KEY(0x06, 0x0c, KEY_RIGHT) \89\90MATRIX_KEY(0x07, 0x01, KEY_Q) \91MATRIX_KEY(0x07, 0x02, KEY_E) \92MATRIX_KEY(0x07, 0x03, KEY_R) \93MATRIX_KEY(0x07, 0x04, KEY_W) \94MATRIX_KEY(0x07, 0x05, KEY_I) \95MATRIX_KEY(0x07, 0x06, KEY_U) \96MATRIX_KEY(0x07, 0x07, KEY_RIGHTSHIFT) \97MATRIX_KEY(0x07, 0x08, KEY_P) \98MATRIX_KEY(0x07, 0x09, KEY_O) \99MATRIX_KEY(0x07, 0x0b, KEY_UP) \100MATRIX_KEY(0x07, 0x0c, KEY_LEFT)101102/* No numpad */103#define CROS_TOP_ROW_KEYMAP_V30 \104MATRIX_KEY(0x00, 0x01, KEY_F11) /* T11 */ \105MATRIX_KEY(0x00, 0x02, KEY_F1) /* T1 */ \106MATRIX_KEY(0x00, 0x04, KEY_F10) /* T10 */ \107MATRIX_KEY(0x00, 0x0b, KEY_F14) /* T14 */ \108MATRIX_KEY(0x00, 0x0c, KEY_F15) /* T15 */ \109MATRIX_KEY(0x01, 0x02, KEY_F4) /* T4 */ \110MATRIX_KEY(0x01, 0x04, KEY_F7) /* T7 */ \111MATRIX_KEY(0x01, 0x05, KEY_F12) /* T12 */ \112MATRIX_KEY(0x01, 0x09, KEY_F9) /* T9 */ \113MATRIX_KEY(0x02, 0x02, KEY_F3) /* T3 */ \114MATRIX_KEY(0x02, 0x04, KEY_F6) /* T6 */ \115MATRIX_KEY(0x02, 0x0b, KEY_F8) /* T8 */ \116MATRIX_KEY(0x03, 0x02, KEY_F2) /* T2 */ \117MATRIX_KEY(0x03, 0x05, KEY_F13) /* T13 */ \118MATRIX_KEY(0x04, 0x04, KEY_F5) /* T5 */119120#define CROS_MAIN_KEYMAP_V30 /* Keycode */ \121MATRIX_KEY(0x00, 0x03, KEY_B) /* 50 */ \122MATRIX_KEY(0x00, 0x05, KEY_N) /* 51 */ \123MATRIX_KEY(0x00, 0x06, KEY_RO) /* 56 (JIS) */ \124MATRIX_KEY(0x00, 0x08, KEY_EQUAL) /* 13 */ \125MATRIX_KEY(0x00, 0x09, KEY_HOME) /* 80 (Numpad) */ \126MATRIX_KEY(0x00, 0x0a, KEY_RIGHTALT) /* 62 */ \127MATRIX_KEY(0x00, 0x10, KEY_FN) /* 127 */ \128\129MATRIX_KEY(0x01, 0x01, KEY_ESC) /* 110 */ \130MATRIX_KEY(0x01, 0x03, KEY_G) /* 35 */ \131MATRIX_KEY(0x01, 0x06, KEY_H) /* 36 */ \132MATRIX_KEY(0x01, 0x08, KEY_APOSTROPHE) /* 41 */ \133MATRIX_KEY(0x01, 0x0b, KEY_BACKSPACE) /* 15 */ \134MATRIX_KEY(0x01, 0x0c, KEY_HENKAN) /* 65 (JIS) */ \135MATRIX_KEY(0x01, 0x0e, KEY_LEFTCTRL) /* 58 */ \136\137MATRIX_KEY(0x02, 0x01, KEY_TAB) /* 16 */ \138MATRIX_KEY(0x02, 0x03, KEY_T) /* 21 */ \139MATRIX_KEY(0x02, 0x05, KEY_RIGHTBRACE) /* 28 */ \140MATRIX_KEY(0x02, 0x06, KEY_Y) /* 22 */ \141MATRIX_KEY(0x02, 0x08, KEY_LEFTBRACE) /* 27 */ \142MATRIX_KEY(0x02, 0x09, KEY_DELETE) /* 76 (Numpad) */ \143MATRIX_KEY(0x02, 0x0c, KEY_PAGEUP) /* 85 (Numpad) */ \144MATRIX_KEY(0x02, 0x011, KEY_YEN) /* 14 (JIS) */ \145\146MATRIX_KEY(0x03, 0x00, KEY_LEFTMETA) /* Launcher */ \147MATRIX_KEY(0x03, 0x01, KEY_GRAVE) /* 1 */ \148MATRIX_KEY(0x03, 0x03, KEY_5) /* 6 */ \149MATRIX_KEY(0x03, 0x04, KEY_S) /* 32 */ \150MATRIX_KEY(0x03, 0x06, KEY_MINUS) /* 12 */ \151MATRIX_KEY(0x03, 0x08, KEY_6) /* 7 */ \152MATRIX_KEY(0x03, 0x09, KEY_SLEEP) /* Lock */ \153MATRIX_KEY(0x03, 0x0b, KEY_BACKSLASH) /* 29 */ \154MATRIX_KEY(0x03, 0x0c, KEY_MUHENKAN) /* 63 (JIS) */ \155MATRIX_KEY(0x03, 0x0e, KEY_RIGHTCTRL) /* 64 */ \156\157MATRIX_KEY(0x04, 0x01, KEY_A) /* 31 */ \158MATRIX_KEY(0x04, 0x02, KEY_D) /* 33 */ \159MATRIX_KEY(0x04, 0x03, KEY_F) /* 34 */ \160MATRIX_KEY(0x04, 0x05, KEY_K) /* 38 */ \161MATRIX_KEY(0x04, 0x06, KEY_J) /* 37 */ \162MATRIX_KEY(0x04, 0x08, KEY_SEMICOLON) /* 40 */ \163MATRIX_KEY(0x04, 0x09, KEY_L) /* 39 */ \164MATRIX_KEY(0x04, 0x0b, KEY_ENTER) /* 43 */ \165MATRIX_KEY(0x04, 0x0c, KEY_END) /* 81 (Numpad) */ \166\167MATRIX_KEY(0x05, 0x01, KEY_1) /* 2 */ \168MATRIX_KEY(0x05, 0x02, KEY_COMMA) /* 53 */ \169MATRIX_KEY(0x05, 0x03, KEY_DOT) /* 54 */ \170MATRIX_KEY(0x05, 0x04, KEY_SLASH) /* 55 */ \171MATRIX_KEY(0x05, 0x05, KEY_C) /* 48 */ \172MATRIX_KEY(0x05, 0x06, KEY_SPACE) /* 61 */ \173MATRIX_KEY(0x05, 0x07, KEY_LEFTSHIFT) /* 44 */ \174MATRIX_KEY(0x05, 0x08, KEY_X) /* 47 */ \175MATRIX_KEY(0x05, 0x09, KEY_V) /* 49 */ \176MATRIX_KEY(0x05, 0x0b, KEY_M) /* 52 */ \177MATRIX_KEY(0x05, 0x0c, KEY_PAGEDOWN) /* 86 (Numpad) */ \178\179MATRIX_KEY(0x06, 0x01, KEY_Z) /* 46 */ \180MATRIX_KEY(0x06, 0x02, KEY_3) /* 4 */ \181MATRIX_KEY(0x06, 0x03, KEY_4) /* 5 */ \182MATRIX_KEY(0x06, 0x04, KEY_2) /* 3 */ \183MATRIX_KEY(0x06, 0x05, KEY_8) /* 9 */ \184MATRIX_KEY(0x06, 0x06, KEY_0) /* 11 */ \185MATRIX_KEY(0x06, 0x08, KEY_7) /* 8 */ \186MATRIX_KEY(0x06, 0x09, KEY_9) /* 10 */ \187MATRIX_KEY(0x06, 0x0b, KEY_DOWN) /* 84 */ \188MATRIX_KEY(0x06, 0x0c, KEY_RIGHT) /* 89 */ \189MATRIX_KEY(0x06, 0x0d, KEY_LEFTALT) /* 60 */ \190MATRIX_KEY(0x06, 0x0f, KEY_ASSISTANT) /* 128 */ \191MATRIX_KEY(0x06, 0x11, KEY_BACKSLASH) /* 42 (JIS, ISO) */ \192\193MATRIX_KEY(0x07, 0x01, KEY_U) /* 23 */ \194MATRIX_KEY(0x07, 0x02, KEY_I) /* 24 */ \195MATRIX_KEY(0x07, 0x03, KEY_O) /* 25 */ \196MATRIX_KEY(0x07, 0x04, KEY_P) /* 26 */ \197MATRIX_KEY(0x07, 0x05, KEY_Q) /* 17 */ \198MATRIX_KEY(0x07, 0x06, KEY_W) /* 18 */ \199MATRIX_KEY(0x07, 0x07, KEY_RIGHTSHIFT) /* 57 */ \200MATRIX_KEY(0x07, 0x08, KEY_E) /* 19 */ \201MATRIX_KEY(0x07, 0x09, KEY_R) /* 20 */ \202MATRIX_KEY(0x07, 0x0b, KEY_UP) /* 83 */ \203MATRIX_KEY(0x07, 0x0c, KEY_LEFT) /* 79 */ \204MATRIX_KEY(0x07, 0x11, KEY_102ND) /* 45 (ISO) */205206#endif /* _CROS_EC_KEYBOARD_H */207208209