Linux Audio

Check our new training course

Loading...
v3.1
 
  1/*
  2 * drivers/input/keyboard/tegra-nvec.c
  3 *
  4 * Keyboard class input driver for keyboards connected to an NvEc compliant
  5 * embedded controller
  6 *
  7 * Copyright (c) 2009, NVIDIA Corporation.
  8 *
  9 * This program is free software; you can redistribute it and/or modify
 10 * it under the terms of the GNU General Public License as published by
 11 * the Free Software Foundation; either version 2 of the License, or
 12 * (at your option) any later version.
 13 *
 14 * This program is distributed in the hope that it will be useful, but WITHOUT
 15 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 16 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 17 * more details.
 18 *
 19 * You should have received a copy of the GNU General Public License along
 20 * with this program; if not, write to the Free Software Foundation, Inc.,
 21 * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 22 */
 23
 24static unsigned short code_tab_102us[] = {
 25	KEY_GRAVE,	// 0x00
 
 26	KEY_ESC,
 27	KEY_1,
 28	KEY_2,
 29	KEY_3,
 30	KEY_4,
 31	KEY_5,
 32	KEY_6,
 33	KEY_7,
 34	KEY_8,
 35	KEY_9,
 36	KEY_0,
 37	KEY_MINUS,
 38	KEY_EQUAL,
 39	KEY_BACKSPACE,
 40	KEY_TAB,
 41	KEY_Q,		// 0x10
 
 42	KEY_W,
 43	KEY_E,
 44	KEY_R,
 45	KEY_T,
 46	KEY_Y,
 47	KEY_U,
 48	KEY_I,
 49	KEY_O,
 50	KEY_P,
 51	KEY_LEFTBRACE,
 52	KEY_RIGHTBRACE,
 53	KEY_ENTER,
 54	KEY_LEFTCTRL,
 55	KEY_A,
 56	KEY_S,
 57	KEY_D,		// 0x20
 
 58	KEY_F,
 59	KEY_G,
 60	KEY_H,
 61	KEY_J,
 62	KEY_K,
 63	KEY_L,
 64	KEY_SEMICOLON,
 65	KEY_APOSTROPHE,
 66	KEY_GRAVE,
 67	KEY_LEFTSHIFT,
 68	KEY_BACKSLASH,
 69	KEY_Z,
 70	KEY_X,
 71	KEY_C,
 72	KEY_V,
 73	KEY_B,		// 0x30
 
 74	KEY_N,
 75	KEY_M,
 76	KEY_COMMA,
 77	KEY_DOT,
 78	KEY_SLASH,
 79	KEY_RIGHTSHIFT,
 80	KEY_KPASTERISK,
 81	KEY_LEFTALT,
 82	KEY_SPACE,
 83	KEY_CAPSLOCK,
 84	KEY_F1,
 85	KEY_F2,
 86	KEY_F3,
 87	KEY_F4,
 88	KEY_F5,
 89	KEY_F6,		// 0x40
 
 90	KEY_F7,
 91	KEY_F8,
 92	KEY_F9,
 93	KEY_F10,
 94	KEY_FN,
 95	0,		//VK_SCROLL
 
 96	KEY_KP7,
 97	KEY_KP8,
 98	KEY_KP9,
 99	KEY_KPMINUS,
100	KEY_KP4,
101	KEY_KP5,
102	KEY_KP6,
103	KEY_KPPLUS,
104	KEY_KP1,
105	KEY_KP2,	// 0x50
 
106	KEY_KP3,
107	KEY_KP0,
108	KEY_KPDOT,
109	KEY_MENU,		//VK_SNAPSHOT
 
110	KEY_POWER,
111	KEY_102ND,		//VK_OEM_102   henry+ 0x2B (43) BACKSLASH have been used,change to use 0X56 (86)
112	KEY_F11,		//VK_F11
113	KEY_F12,		//VK_F12
114	0, 
115	0, 
116	0, 
117	0, 
118	0, 
119	0, 
120	0, 
121	0, // 60 
122	0,
123	0,
124	KEY_SEARCH, // add search key map 
125	0,		
126	0,
127	0,
128	0,	
129	0,		
130	0, 
131	0, 
132	0, 
133	0, 
134	0, 
135	0, 
136	0, 
137	0, // 70 
138	0,
139	0,
140	KEY_KP5,  //73 for JP keyboard '\' key, report 0x4c
141	0,		
142	0,
143	0,
144	0,	
145	0,		
146	0, 
147	0, 
148    0, 
149	0, 
150	KEY_KP9, //7d  for JP keyboard '|' key, report 0x49
 
 
 
151};
152
153static unsigned short extcode_tab_us102[] = {
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	0,
169	0,
170	0,		// 0xE0 0x10
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
171	0,
 
172	0,
173	0,
 
174	0,
175	0,
176	0,
177	0,
178	0,
179	0,		//VK_MEDIA_NEXT_TRACK,
180	0,
181	0,
182	0,		//VK_RETURN,
183	KEY_RIGHTCTRL,		//VK_RCONTROL,
184	0,
185	0,
186	KEY_MUTE,	// 0xE0 0x20
187	0,		//VK_LAUNCH_APP1
188	0,		//VK_MEDIA_PLAY_PAUSE
189	0,
190	0,		//VK_MEDIA_STOP
191	0,
192	0,
 
 
193	0,
 
194	0,
195	0,
196	0,
 
 
197	0,
 
 
 
 
 
198	0,
 
199	0,
 
200	0,
 
201	0,
202	KEY_VOLUMEUP,	// 0xE0 0x30
 
 
 
 
 
 
 
 
203	0,
204	0,		//VK_BROWSER_HOME
205	0,
206	0,
207	KEY_KPSLASH,	//VK_DIVIDE
208	0,
209	KEY_SYSRQ,		//VK_SNAPSHOT
210	KEY_RIGHTALT,		//VK_RMENU
211	0,		//VK_OEM_NV_BACKLIGHT_UP
212	0,		//VK_OEM_NV_BACKLIGHT_DN
213	0,		//VK_OEM_NV_BACKLIGHT_AUTOTOGGLE
214	0,		//VK_OEM_NV_POWER_INFO
215	0,		//VK_OEM_NV_WIFI_TOGGLE
216	0,		//VK_OEM_NV_DISPLAY_SELECT
217	0,		//VK_OEM_NV_AIRPLANE_TOGGLE
218	0,		//0xE0 0x40
219	KEY_LEFT,		//VK_OEM_NV_RESERVED    henry+ for JP keyboard
220	0,		//VK_OEM_NV_RESERVED
221	0,		//VK_OEM_NV_RESERVED
222	0,		//VK_OEM_NV_RESERVED
223	0,		//VK_OEM_NV_RESERVED
224	KEY_CANCEL,
225	KEY_HOME,
226	KEY_UP,
227	KEY_PAGEUP,		//VK_PRIOR
228	0,
229	KEY_LEFT,
230	0,
231	KEY_RIGHT,
232	0,
233	KEY_END,
234	KEY_DOWN,	// 0xE0 0x50
235	KEY_PAGEDOWN,		//VK_NEXT
 
236	KEY_INSERT,
237	KEY_DELETE,
238	0,
239	0,
240	0,
241	0,
242	0,
243	0,
244	0,
245	KEY_LEFTMETA,	//VK_LWIN
246	0,		//VK_RWIN
247	KEY_ESC,	//VK_APPS
248	KEY_KPMINUS, //for power button workaround
249	0, 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
250	0,
 
251	0,
 
252	0,
 
253	0,
 
254	0,
255	0,		//VK_BROWSER_SEARCH
256	0,		//VK_BROWSER_FAVORITES
257	0,		//VK_BROWSER_REFRESH
258	0,		//VK_BROWSER_STOP
259	0,		//VK_BROWSER_FORWARD
260	0,		//VK_BROWSER_BACK
261	0,		//VK_LAUNCH_APP2
262	0,		//VK_LAUNCH_MAIL
263	0,		//VK_LAUNCH_MEDIA_SELECT
264};
265
266static unsigned short* code_tabs[] = {code_tab_102us, extcode_tab_us102 };
v5.14.15
  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
 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 };