keymap.c 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. /*++
  2. Copyright (c) 2015 Minoca Corp. All Rights Reserved
  3. Module Name:
  4. keymap.c
  5. Abstract:
  6. This module contains the keymap for the Google Embedded Controller Matrix
  7. Keyboard.
  8. Author:
  9. Evan Green 26-Aug-2015
  10. Environment:
  11. Kernel
  12. --*/
  13. //
  14. // ------------------------------------------------------------------- Includes
  15. //
  16. #include <minoca/kernel/driver.h>
  17. #include "goec.h"
  18. //
  19. // ---------------------------------------------------------------- Definitions
  20. //
  21. //
  22. // ------------------------------------------------------ Data Type Definitions
  23. //
  24. //
  25. // ----------------------------------------------- Internal Function Prototypes
  26. //
  27. //
  28. // -------------------------------------------------------------------- Globals
  29. //
  30. KEYBOARD_KEY GoecKeyMap[GOEC_MAX_COLUMNS][BITS_PER_BYTE] = {
  31. {
  32. KeyboardKeyInvalid,
  33. KeyboardKeyInvalid,
  34. KeyboardKeyLeftControl,
  35. KeyboardKeyInvalid,
  36. KeyboardKeyRightControl,
  37. KeyboardKeyInvalid,
  38. KeyboardKeyInvalid,
  39. KeyboardKeyInvalid,
  40. },
  41. {
  42. KeyboardKeyLeftWindows, // Meta
  43. KeyboardKeyEscape,
  44. KeyboardKeyTab,
  45. KeyboardKeyTilde,
  46. KeyboardKeyA,
  47. KeyboardKeyZ,
  48. KeyboardKey1,
  49. KeyboardKeyQ,
  50. },
  51. {
  52. KeyboardKeyF1,
  53. KeyboardKeyF4,
  54. KeyboardKeyF3,
  55. KeyboardKeyF2,
  56. KeyboardKeyD,
  57. KeyboardKeyC,
  58. KeyboardKey3,
  59. KeyboardKeyE,
  60. },
  61. {
  62. KeyboardKeyB,
  63. KeyboardKeyG,
  64. KeyboardKeyT,
  65. KeyboardKey5,
  66. KeyboardKeyF,
  67. KeyboardKeyV,
  68. KeyboardKey4,
  69. KeyboardKeyR,
  70. },
  71. {
  72. KeyboardKeyF10,
  73. KeyboardKeyF7,
  74. KeyboardKeyF6,
  75. KeyboardKeyF5,
  76. KeyboardKeyS,
  77. KeyboardKeyX,
  78. KeyboardKey2,
  79. KeyboardKeyW,
  80. },
  81. {
  82. KeyboardKeyInvalid, // RO
  83. KeyboardKeyInvalid,
  84. KeyboardKeyRightBracket,
  85. KeyboardKeyInvalid,
  86. KeyboardKeyK,
  87. KeyboardKeyComma,
  88. KeyboardKey8,
  89. KeyboardKeyI,
  90. },
  91. {
  92. KeyboardKeyN,
  93. KeyboardKeyH,
  94. KeyboardKeyY,
  95. KeyboardKey6,
  96. KeyboardKeyJ,
  97. KeyboardKeyM,
  98. KeyboardKey7,
  99. KeyboardKeyU,
  100. },
  101. {
  102. KeyboardKeyInvalid,
  103. KeyboardKeyInvalid,
  104. KeyboardKeyBackslash, // 102nd
  105. KeyboardKeyInvalid,
  106. KeyboardKeyInvalid,
  107. KeyboardKeyLeftShift,
  108. KeyboardKeyInvalid,
  109. KeyboardKeyRightShift,
  110. },
  111. {
  112. KeyboardKeyEquals,
  113. KeyboardKeyApostrophe,
  114. KeyboardKeyLeftBracket,
  115. KeyboardKeyDash,
  116. KeyboardKeySemicolon,
  117. KeyboardKeySlash,
  118. KeyboardKey0,
  119. KeyboardKeyP,
  120. },
  121. {
  122. KeyboardKeyInvalid,
  123. KeyboardKeyF9,
  124. KeyboardKeyF8,
  125. KeyboardKeyF13,
  126. KeyboardKeyL,
  127. KeyboardKeyPeriod,
  128. KeyboardKey9,
  129. KeyboardKeyO,
  130. },
  131. {
  132. KeyboardKeyRightAlt,
  133. KeyboardKeyInvalid,
  134. KeyboardKeyInvalid, // Yen
  135. KeyboardKeyInvalid,
  136. KeyboardKeyBackslash,
  137. KeyboardKeyInvalid,
  138. KeyboardKeyLeftAlt,
  139. KeyboardKeyInvalid,
  140. },
  141. {
  142. KeyboardKeyInvalid,
  143. KeyboardKeyBackspace,
  144. KeyboardKeyInvalid,
  145. KeyboardKeyBackslash,
  146. KeyboardKeyEnter,
  147. KeyboardKeySpace,
  148. KeyboardKeyDown,
  149. KeyboardKeyUp,
  150. },
  151. {
  152. KeyboardKeyInvalid,
  153. KeyboardKeyInvalid, // Henkan
  154. KeyboardKeyInvalid,
  155. KeyboardKeyInvalid, // Muhenkan
  156. KeyboardKeyInvalid,
  157. KeyboardKeyInvalid,
  158. KeyboardKeyRight,
  159. KeyboardKeyLeft,
  160. },
  161. };
  162. //
  163. // ------------------------------------------------------------------ Functions
  164. //
  165. //
  166. // --------------------------------------------------------- Internal Functions
  167. //