295 lines · c
1/* SPDX-License-Identifier: GPL-2.0+ */2/*3 * drivers/input/keyboard/tegra-nvec.c4 *5 * Keyboard class input driver for keyboards connected to an NvEc compliant6 * embedded controller7 *8 * Copyright (c) 2009, NVIDIA Corporation.9 */10 11static 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 151static 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 294static unsigned short *code_tabs[] = { code_tab_102us, extcode_tab_us102 };295