cros-ec-keyboard.h 3.2 KB

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