1 /* SPDX-License-Identifier: GPL-2.0+ */ 2 /* 3 * drivers/input/keyboard/tegra-nvec.c 4 * 5 * Keyboard class input driver for keyboards connected to an NvEc compliant 6 * embedded controller 7 * 8 * Copyright (c) 2009, NVIDIA Corporation. 9 */ 10 11 static unsigned short code_tab_102us[] = { 12 /* 0x00 */ 13 KEY_GRAVE, 14 KEY_ESC, 15 KEY_1, 16 KEY_2, 17 KEY_3, 18 KEY_4, 19 KEY_5, 20 KEY_6, 21 KEY_7, 22 KEY_8, 23 KEY_9, 24 KEY_0, 25 KEY_MINUS, 26 KEY_EQUAL, 27 KEY_BACKSPACE, 28 KEY_TAB, 29 /* 0x10 */ 30 KEY_Q, 31 KEY_W, 32 KEY_E, 33 KEY_R, 34 KEY_T, 35 KEY_Y, 36 KEY_U, 37 KEY_I, 38 KEY_O, 39 KEY_P, 40 KEY_LEFTBRACE, 41 KEY_RIGHTBRACE, 42 KEY_ENTER, 43 KEY_LEFTCTRL, 44 KEY_A, 45 KEY_S, 46 /* 0x20 */ 47 KEY_D, 48 KEY_F, 49 KEY_G, 50 KEY_H, 51 KEY_J, 52 KEY_K, 53 KEY_L, 54 KEY_SEMICOLON, 55 KEY_APOSTROPHE, 56 KEY_GRAVE, 57 KEY_LEFTSHIFT, 58 KEY_BACKSLASH, 59 KEY_Z, 60 KEY_X, 61 KEY_C, 62 KEY_V, 63 /* 0x30 */ 64 KEY_B, 65 KEY_N, 66 KEY_M, 67 KEY_COMMA, 68 KEY_DOT, 69 KEY_SLASH, 70 KEY_RIGHTSHIFT, 71 KEY_KPASTERISK, 72 KEY_LEFTALT, 73 KEY_SPACE, 74 KEY_CAPSLOCK, 75 KEY_F1, 76 KEY_F2, 77 KEY_F3, 78 KEY_F4, 79 KEY_F5, 80 /* 0x40 */ 81 KEY_F6, 82 KEY_F7, 83 KEY_F8, 84 KEY_F9, 85 KEY_F10, 86 KEY_FN, 87 /* VK_SCROLL */ 88 0, 89 KEY_KP7, 90 KEY_KP8, 91 KEY_KP9, 92 KEY_KPMINUS, 93 KEY_KP4, 94 KEY_KP5, 95 KEY_KP6, 96 KEY_KPPLUS, 97 KEY_KP1, 98 /* 0x50 */ 99 KEY_KP2, 100 KEY_KP3, 101 KEY_KP0, 102 KEY_KPDOT, 103 /* VK_SNAPSHOT */ 104 KEY_MENU, 105 KEY_POWER, 106 /* VK_OEM_102 */ 107 KEY_102ND, 108 KEY_F11, 109 KEY_F12, 110 0, 111 0, 112 0, 113 0, 114 0, 115 0, 116 0, 117 /* 0x60 */ 118 0, 119 0, 120 0, 121 KEY_SEARCH, 122 0, 123 0, 124 0, 125 0, 126 0, 127 0, 128 0, 129 0, 130 0, 131 0, 132 0, 133 0, 134 /* 0x70 */ 135 0, 136 0, 137 0, 138 KEY_KP5, 139 0, 140 0, 141 0, 142 0, 143 0, 144 0, 145 0, 146 0, 147 0, 148 KEY_KP9, 149 }; 150 151 static unsigned short extcode_tab_us102[] = { 152 0, 153 0, 154 0, 155 0, 156 0, 157 0, 158 0, 159 0, 160 0, 161 0, 162 0, 163 0, 164 0, 165 0, 166 0, 167 0, 168 /* 0x10 */ 169 0, 170 0, 171 0, 172 0, 173 0, 174 0, 175 0, 176 0, 177 0, 178 /* VK_MEDIA_NEXT_TRACK */ 179 0, 180 0, 181 0, 182 /* VK_RETURN */ 183 0, 184 KEY_RIGHTCTRL, 185 0, 186 0, 187 /* 0x20 */ 188 KEY_MUTE, 189 /* VK_LAUNCH_APP1 */ 190 0, 191 /* VK_MEDIA_PLAY_PAUSE */ 192 0, 193 0, 194 /* VK_MEDIA_STOP */ 195 0, 196 0, 197 0, 198 0, 199 0, 200 0, 201 0, 202 0, 203 0, 204 0, 205 0, 206 0, 207 /* 0x30 */ 208 KEY_VOLUMEUP, 209 0, 210 /* VK_BROWSER_HOME */ 211 0, 212 0, 213 0, 214 /* VK_DIVIDE */ 215 KEY_KPSLASH, 216 0, 217 /* VK_SNAPSHOT */ 218 KEY_SYSRQ, 219 /* VK_RMENU */ 220 KEY_RIGHTALT, 221 /* VK_OEM_NV_BACKLIGHT_UP */ 222 0, 223 /* VK_OEM_NV_BACKLIGHT_DN */ 224 0, 225 /* VK_OEM_NV_BACKLIGHT_AUTOTOGGLE */ 226 0, 227 /* VK_OEM_NV_POWER_INFO */ 228 0, 229 /* VK_OEM_NV_WIFI_TOGGLE */ 230 0, 231 /* VK_OEM_NV_DISPLAY_SELECT */ 232 0, 233 /* VK_OEM_NV_AIRPLANE_TOGGLE */ 234 0, 235 /* 0x40 */ 236 0, 237 KEY_LEFT, 238 0, 239 0, 240 0, 241 0, 242 KEY_CANCEL, 243 KEY_HOME, 244 KEY_UP, 245 KEY_PAGEUP, 246 0, 247 KEY_LEFT, 248 0, 249 KEY_RIGHT, 250 0, 251 KEY_END, 252 /* 0x50 */ 253 KEY_DOWN, 254 KEY_PAGEDOWN, 255 KEY_INSERT, 256 KEY_DELETE, 257 0, 258 0, 259 0, 260 0, 261 0, 262 0, 263 0, 264 KEY_LEFTMETA, 265 0, 266 KEY_ESC, 267 KEY_KPMINUS, 268 0, 269 0, 270 0, 271 0, 272 0, 273 0, 274 /* VK_BROWSER_SEARCH */ 275 0, 276 /* VK_BROWSER_FAVORITES */ 277 0, 278 /* VK_BROWSER_REFRESH */ 279 0, 280 /* VK_BROWSER_STOP */ 281 0, 282 /* VK_BROWSER_FORWARD */ 283 0, 284 /* VK_BROWSER_BACK */ 285 0, 286 /* VK_LAUNCH_APP2 */ 287 0, 288 /* VK_LAUNCH_MAIL */ 289 0, 290 /* VK_LAUNCH_MEDIA_SELECT */ 291 0, 292 }; 293 294 static unsigned short *code_tabs[] = { code_tab_102us, extcode_tab_us102 }; 295