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 | |