blob: 1a96b35cb84661edc9a9f3dede041fc00f2a84b0 [file] [log] [blame]
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001/*
Mauro Carvalho Chehab7f9d6912009-08-29 08:43:20 -03002 Keytables for supported remote controls, used on drivers/media
3 devices.
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02004
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Mauro Carvalho Chehab7f9d6912009-08-29 08:43:20 -030018*/
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -020019
Mauro Carvalho Chehab7f9d6912009-08-29 08:43:20 -030020/*
21 * NOTICE FOR DEVELOPERS:
22 * The IR mappings should be as close as possible to what's
23 * specified at:
24 * http://linuxtv.org/wiki/index.php/Remote_Controllers
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -020025 */
26#include <linux/module.h>
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -020027
28#include <linux/input.h>
29#include <media/ir-common.h>
30
31/* empty keytable, can be used as placeholder for not-yet created keytables */
32IR_KEYTAB_TYPE ir_codes_empty[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -030033 [0x2a] = KEY_COFFEE,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -020034};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -020035EXPORT_SYMBOL_GPL(ir_codes_empty);
36
Michal Majchrowiczb04c1ba2006-09-13 16:42:42 -030037/* Michal Majchrowicz <mmajchrowicz@gmail.com> */
38IR_KEYTAB_TYPE ir_codes_proteus_2309[IR_KEYTAB_SIZE] = {
39 /* numeric */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -030040 [0x00] = KEY_0,
41 [0x01] = KEY_1,
42 [0x02] = KEY_2,
43 [0x03] = KEY_3,
44 [0x04] = KEY_4,
45 [0x05] = KEY_5,
46 [0x06] = KEY_6,
47 [0x07] = KEY_7,
48 [0x08] = KEY_8,
49 [0x09] = KEY_9,
Michal Majchrowiczb04c1ba2006-09-13 16:42:42 -030050
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -030051 [0x5c] = KEY_POWER, /* power */
Mauro Carvalho Chehab62f1aa92009-08-29 09:01:54 -030052 [0x20] = KEY_ZOOM, /* full screen */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -030053 [0x0f] = KEY_BACKSPACE, /* recall */
54 [0x1b] = KEY_ENTER, /* mute */
55 [0x41] = KEY_RECORD, /* record */
56 [0x43] = KEY_STOP, /* stop */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -030057 [0x16] = KEY_S,
Mauro Carvalho Chehab62f1aa92009-08-29 09:01:54 -030058 [0x1a] = KEY_POWER2, /* off */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -030059 [0x2e] = KEY_RED,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -030060 [0x1f] = KEY_DOWN, /* channel - */
61 [0x1c] = KEY_UP, /* channel + */
62 [0x10] = KEY_LEFT, /* volume - */
63 [0x1e] = KEY_RIGHT, /* volume + */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -030064 [0x14] = KEY_F1,
Michal Majchrowiczb04c1ba2006-09-13 16:42:42 -030065};
Michal Majchrowiczb04c1ba2006-09-13 16:42:42 -030066EXPORT_SYMBOL_GPL(ir_codes_proteus_2309);
Mauro Carvalho Chehaba83520f2009-08-27 09:54:44 -030067
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -020068/* Matt Jesson <dvb@jesson.eclipse.co.uk */
69IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -030070 [0x28] = KEY_0, /* '0' / 'enter' */
71 [0x22] = KEY_1, /* '1' */
72 [0x12] = KEY_2, /* '2' / 'up arrow' */
73 [0x32] = KEY_3, /* '3' */
74 [0x24] = KEY_4, /* '4' / 'left arrow' */
75 [0x14] = KEY_5, /* '5' */
76 [0x34] = KEY_6, /* '6' / 'right arrow' */
77 [0x26] = KEY_7, /* '7' */
78 [0x16] = KEY_8, /* '8' / 'down arrow' */
79 [0x36] = KEY_9, /* '9' */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -020080
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -030081 [0x20] = KEY_LIST, /* 'source' */
82 [0x10] = KEY_TEXT, /* 'teletext' */
83 [0x00] = KEY_POWER, /* 'power' */
84 [0x04] = KEY_AUDIO, /* 'audio' */
85 [0x06] = KEY_ZOOM, /* 'full screen' */
86 [0x18] = KEY_VIDEO, /* 'display' */
87 [0x38] = KEY_SEARCH, /* 'loop' */
88 [0x08] = KEY_INFO, /* 'preview' */
89 [0x2a] = KEY_REWIND, /* 'backward <<' */
90 [0x1a] = KEY_FASTFORWARD, /* 'forward >>' */
91 [0x3a] = KEY_RECORD, /* 'capture' */
92 [0x0a] = KEY_MUTE, /* 'mute' */
93 [0x2c] = KEY_RECORD, /* 'record' */
94 [0x1c] = KEY_PAUSE, /* 'pause' */
95 [0x3c] = KEY_STOP, /* 'stop' */
96 [0x0c] = KEY_PLAY, /* 'play' */
97 [0x2e] = KEY_RED, /* 'red' */
98 [0x01] = KEY_BLUE, /* 'blue' / 'cancel' */
99 [0x0e] = KEY_YELLOW, /* 'yellow' / 'ok' */
100 [0x21] = KEY_GREEN, /* 'green' */
101 [0x11] = KEY_CHANNELDOWN, /* 'channel -' */
102 [0x31] = KEY_CHANNELUP, /* 'channel +' */
103 [0x1e] = KEY_VOLUMEDOWN, /* 'volume -' */
104 [0x3e] = KEY_VOLUMEUP, /* 'volume +' */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200105};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200106EXPORT_SYMBOL_GPL(ir_codes_avermedia_dvbt);
107
Mauro Carvalho Chehab36f6bb92008-06-26 17:03:00 -0300108/* Mauro Carvalho Chehab <mchehab@infradead.org> */
109IR_KEYTAB_TYPE ir_codes_avermedia_m135a[IR_KEYTAB_SIZE] = {
110 [0x00] = KEY_POWER2,
111 [0x2e] = KEY_DOT, /* '.' */
112 [0x01] = KEY_MODE, /* TV/FM */
113
114 [0x05] = KEY_1,
115 [0x06] = KEY_2,
116 [0x07] = KEY_3,
117 [0x09] = KEY_4,
118 [0x0a] = KEY_5,
119 [0x0b] = KEY_6,
120 [0x0d] = KEY_7,
121 [0x0e] = KEY_8,
122 [0x0f] = KEY_9,
123 [0x11] = KEY_0,
124
125 [0x13] = KEY_RIGHT, /* -> */
126 [0x12] = KEY_LEFT, /* <- */
127
128 [0x17] = KEY_SLEEP, /* Capturar Imagem */
129 [0x10] = KEY_SHUFFLE, /* Amostra */
130
131 /* FIXME: The keys bellow aren't ok */
132
133 [0x43] = KEY_CHANNELUP,
134 [0x42] = KEY_CHANNELDOWN,
135 [0x1f] = KEY_VOLUMEUP,
136 [0x1e] = KEY_VOLUMEDOWN,
137 [0x0c] = KEY_ENTER,
138
139 [0x14] = KEY_MUTE,
140 [0x08] = KEY_AUDIO,
141
142 [0x03] = KEY_TEXT,
143 [0x04] = KEY_EPG,
144 [0x2b] = KEY_TV2, /* TV2 */
145
146 [0x1d] = KEY_RED,
147 [0x1c] = KEY_YELLOW,
148 [0x41] = KEY_GREEN,
149 [0x40] = KEY_BLUE,
150
151 [0x1a] = KEY_PLAYPAUSE,
152 [0x19] = KEY_RECORD,
153 [0x18] = KEY_PLAY,
154 [0x1b] = KEY_STOP,
155};
156EXPORT_SYMBOL_GPL(ir_codes_avermedia_m135a);
157
Oldřich Jedličkacb3bf502009-02-12 03:43:11 -0300158/* Oldrich Jedlicka <oldium.pro@seznam.cz> */
159IR_KEYTAB_TYPE ir_codes_avermedia_cardbus[IR_KEYTAB_SIZE] = {
160 [0x00] = KEY_POWER,
161 [0x01] = KEY_TUNER, /* TV/FM */
162 [0x03] = KEY_TEXT, /* Teletext */
163 [0x04] = KEY_EPG,
164 [0x05] = KEY_1,
165 [0x06] = KEY_2,
166 [0x07] = KEY_3,
167 [0x08] = KEY_AUDIO,
168 [0x09] = KEY_4,
169 [0x0a] = KEY_5,
170 [0x0b] = KEY_6,
171 [0x0c] = KEY_ZOOM, /* Full screen */
172 [0x0d] = KEY_7,
173 [0x0e] = KEY_8,
174 [0x0f] = KEY_9,
175 [0x10] = KEY_PAGEUP, /* 16-CH PREV */
176 [0x11] = KEY_0,
177 [0x12] = KEY_INFO,
178 [0x13] = KEY_AGAIN, /* CH RTN - channel return */
179 [0x14] = KEY_MUTE,
180 [0x15] = KEY_EDIT, /* Autoscan */
181 [0x17] = KEY_SAVE, /* Screenshot */
182 [0x18] = KEY_PLAYPAUSE,
183 [0x19] = KEY_RECORD,
184 [0x1a] = KEY_PLAY,
185 [0x1b] = KEY_STOP,
186 [0x1c] = KEY_FASTFORWARD,
187 [0x1d] = KEY_REWIND,
188 [0x1e] = KEY_VOLUMEDOWN,
189 [0x1f] = KEY_VOLUMEUP,
190 [0x22] = KEY_SLEEP, /* Sleep */
191 [0x23] = KEY_ZOOM, /* Aspect */
192 [0x26] = KEY_SCREEN, /* Pos */
193 [0x27] = KEY_ANGLE, /* Size */
194 [0x28] = KEY_SELECT, /* Select */
195 [0x29] = KEY_BLUE, /* Blue/Picture */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300196 [0x2a] = KEY_BACKSPACE, /* Back */
Oldřich Jedličkacb3bf502009-02-12 03:43:11 -0300197 [0x2b] = KEY_MEDIA, /* PIP (Picture-in-picture) */
198 [0x2c] = KEY_DOWN,
199 [0x2e] = KEY_DOT,
200 [0x2f] = KEY_TV, /* Live TV */
201 [0x32] = KEY_LEFT,
202 [0x33] = KEY_CLEAR, /* Clear */
203 [0x35] = KEY_RED, /* Red/TV */
204 [0x36] = KEY_UP,
205 [0x37] = KEY_HOME, /* Home */
206 [0x39] = KEY_GREEN, /* Green/Video */
207 [0x3d] = KEY_YELLOW, /* Yellow/Music */
208 [0x3e] = KEY_OK, /* Ok */
209 [0x3f] = KEY_RIGHT,
210 [0x40] = KEY_NEXT, /* Next */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300211 [0x41] = KEY_PREVIOUS, /* Previous */
Oldřich Jedličkacb3bf502009-02-12 03:43:11 -0300212 [0x42] = KEY_CHANNELDOWN, /* Channel down */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300213 [0x43] = KEY_CHANNELUP, /* Channel up */
Oldřich Jedličkacb3bf502009-02-12 03:43:11 -0300214};
215EXPORT_SYMBOL_GPL(ir_codes_avermedia_cardbus);
216
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200217/* Attila Kondoros <attila.kondoros@chello.hu> */
218IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE] = {
219
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300220 [0x01] = KEY_1,
221 [0x02] = KEY_2,
222 [0x03] = KEY_3,
223 [0x04] = KEY_4,
224 [0x05] = KEY_5,
225 [0x06] = KEY_6,
226 [0x07] = KEY_7,
227 [0x08] = KEY_8,
228 [0x09] = KEY_9,
229 [0x00] = KEY_0,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300230 [0x17] = KEY_LAST, /* +100 */
231 [0x0a] = KEY_LIST, /* recall */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200232
233
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300234 [0x1c] = KEY_TUNER, /* TV/FM */
235 [0x15] = KEY_SEARCH, /* scan */
236 [0x12] = KEY_POWER, /* power */
237 [0x1f] = KEY_VOLUMEDOWN, /* vol up */
238 [0x1b] = KEY_VOLUMEUP, /* vol down */
239 [0x1e] = KEY_CHANNELDOWN, /* chn up */
240 [0x1a] = KEY_CHANNELUP, /* chn down */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200241
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300242 [0x11] = KEY_VIDEO, /* video */
243 [0x0f] = KEY_ZOOM, /* full screen */
244 [0x13] = KEY_MUTE, /* mute/unmute */
245 [0x10] = KEY_TEXT, /* min */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200246
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300247 [0x0d] = KEY_STOP, /* freeze */
248 [0x0e] = KEY_RECORD, /* record */
249 [0x1d] = KEY_PLAYPAUSE, /* stop */
250 [0x19] = KEY_PLAY, /* play */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200251
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300252 [0x16] = KEY_GOTO, /* osd */
253 [0x14] = KEY_REFRESH, /* default */
254 [0x0c] = KEY_KPPLUS, /* fine tune >>>> */
255 [0x18] = KEY_KPMINUS, /* fine tune <<<< */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200256};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200257EXPORT_SYMBOL_GPL(ir_codes_apac_viewcomp);
258
259/* ---------------------------------------------------------------------- */
260
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200261IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE] = {
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200262
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300263 [0x1e] = KEY_POWER, /* power */
264 [0x07] = KEY_MEDIA, /* source */
265 [0x1c] = KEY_SEARCH, /* scan */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200266
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200267
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300268 [0x03] = KEY_TUNER, /* TV/FM */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200269
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300270 [0x00] = KEY_RECORD,
271 [0x08] = KEY_STOP,
272 [0x11] = KEY_PLAY,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200273
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300274 [0x1a] = KEY_PLAYPAUSE, /* freeze */
275 [0x19] = KEY_ZOOM, /* zoom */
276 [0x0f] = KEY_TEXT, /* min */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200277
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300278 [0x01] = KEY_1,
279 [0x0b] = KEY_2,
280 [0x1b] = KEY_3,
281 [0x05] = KEY_4,
282 [0x09] = KEY_5,
283 [0x15] = KEY_6,
284 [0x06] = KEY_7,
285 [0x0a] = KEY_8,
286 [0x12] = KEY_9,
287 [0x02] = KEY_0,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300288 [0x10] = KEY_LAST, /* +100 */
289 [0x13] = KEY_LIST, /* recall */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200290
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300291 [0x1f] = KEY_CHANNELUP, /* chn down */
292 [0x17] = KEY_CHANNELDOWN, /* chn up */
293 [0x16] = KEY_VOLUMEUP, /* vol down */
294 [0x14] = KEY_VOLUMEDOWN, /* vol up */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200295
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300296 [0x04] = KEY_KPMINUS, /* <<< */
297 [0x0e] = KEY_SETUP, /* function */
298 [0x0c] = KEY_KPPLUS, /* >>> */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200299
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300300 [0x0d] = KEY_GOTO, /* mts */
301 [0x1d] = KEY_REFRESH, /* reset */
302 [0x18] = KEY_MUTE, /* mute/unmute */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200303};
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200304EXPORT_SYMBOL_GPL(ir_codes_pixelview);
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200305
Mauro Carvalho Chehab7f0dd172008-04-22 14:46:01 -0300306/*
307 Mauro Carvalho Chehab <mchehab@infradead.org>
308 present on PV MPEG 8000GT
309 */
310IR_KEYTAB_TYPE ir_codes_pixelview_new[IR_KEYTAB_SIZE] = {
311 [0x3c] = KEY_PAUSE, /* Timeshift */
312 [0x12] = KEY_POWER,
313
314 [0x3d] = KEY_1,
315 [0x38] = KEY_2,
316 [0x18] = KEY_3,
317 [0x35] = KEY_4,
318 [0x39] = KEY_5,
319 [0x15] = KEY_6,
320 [0x36] = KEY_7,
321 [0x3a] = KEY_8,
322 [0x1e] = KEY_9,
323 [0x3e] = KEY_0,
324
325 [0x1c] = KEY_AGAIN, /* LOOP */
326 [0x3f] = KEY_MEDIA, /* Source */
327 [0x1f] = KEY_LAST, /* +100 */
328 [0x1b] = KEY_MUTE,
329
330 [0x17] = KEY_CHANNELDOWN,
331 [0x16] = KEY_CHANNELUP,
332 [0x10] = KEY_VOLUMEUP,
333 [0x14] = KEY_VOLUMEDOWN,
334 [0x13] = KEY_ZOOM,
335
336 [0x19] = KEY_SHUFFLE, /* SNAPSHOT */
337 [0x1a] = KEY_SEARCH, /* scan */
338
339 [0x37] = KEY_REWIND, /* << */
340 [0x32] = KEY_RECORD, /* o (red) */
341 [0x33] = KEY_FORWARD, /* >> */
342 [0x11] = KEY_STOP, /* square */
343 [0x3b] = KEY_PLAY, /* > */
344 [0x30] = KEY_PLAYPAUSE, /* || */
345
346 [0x31] = KEY_TV,
347 [0x34] = KEY_RADIO,
348};
349EXPORT_SYMBOL_GPL(ir_codes_pixelview_new);
350
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200351IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300352 [0x00] = KEY_0,
353 [0x01] = KEY_1,
354 [0x02] = KEY_2,
355 [0x03] = KEY_3,
356 [0x04] = KEY_4,
357 [0x05] = KEY_5,
358 [0x06] = KEY_6,
359 [0x07] = KEY_7,
360 [0x08] = KEY_8,
361 [0x09] = KEY_9,
362 [0x0a] = KEY_TV,
363 [0x0b] = KEY_AUX,
364 [0x0c] = KEY_DVD,
365 [0x0d] = KEY_POWER,
366 [0x0e] = KEY_MHP, /* labelled 'Picture' */
367 [0x0f] = KEY_AUDIO,
368 [0x10] = KEY_INFO,
369 [0x11] = KEY_F13, /* 16:9 */
370 [0x12] = KEY_F14, /* 14:9 */
371 [0x13] = KEY_EPG,
372 [0x14] = KEY_EXIT,
373 [0x15] = KEY_MENU,
374 [0x16] = KEY_UP,
375 [0x17] = KEY_DOWN,
376 [0x18] = KEY_LEFT,
377 [0x19] = KEY_RIGHT,
378 [0x1a] = KEY_ENTER,
379 [0x1b] = KEY_CHANNELUP,
380 [0x1c] = KEY_CHANNELDOWN,
381 [0x1d] = KEY_VOLUMEUP,
382 [0x1e] = KEY_VOLUMEDOWN,
383 [0x1f] = KEY_RED,
384 [0x20] = KEY_GREEN,
385 [0x21] = KEY_YELLOW,
386 [0x22] = KEY_BLUE,
387 [0x23] = KEY_SUBTITLE,
388 [0x24] = KEY_F15, /* AD */
389 [0x25] = KEY_TEXT,
390 [0x26] = KEY_MUTE,
391 [0x27] = KEY_REWIND,
392 [0x28] = KEY_STOP,
393 [0x29] = KEY_PLAY,
394 [0x2a] = KEY_FASTFORWARD,
395 [0x2b] = KEY_F16, /* chapter */
396 [0x2c] = KEY_PAUSE,
397 [0x2d] = KEY_PLAY,
398 [0x2e] = KEY_RECORD,
399 [0x2f] = KEY_F17, /* picture in picture */
400 [0x30] = KEY_KPPLUS, /* zoom in */
401 [0x31] = KEY_KPMINUS, /* zoom out */
402 [0x32] = KEY_F18, /* capture */
403 [0x33] = KEY_F19, /* web */
404 [0x34] = KEY_EMAIL,
405 [0x35] = KEY_PHONE,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300406 [0x36] = KEY_PC,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200407};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200408EXPORT_SYMBOL_GPL(ir_codes_nebula);
409
410/* DigitalNow DNTV Live DVB-T Remote */
411IR_KEYTAB_TYPE ir_codes_dntv_live_dvb_t[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300412 [0x00] = KEY_ESC, /* 'go up a level?' */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200413 /* Keys 0 to 9 */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300414 [0x0a] = KEY_0,
415 [0x01] = KEY_1,
416 [0x02] = KEY_2,
417 [0x03] = KEY_3,
418 [0x04] = KEY_4,
419 [0x05] = KEY_5,
420 [0x06] = KEY_6,
421 [0x07] = KEY_7,
422 [0x08] = KEY_8,
423 [0x09] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200424
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300425 [0x0b] = KEY_TUNER, /* tv/fm */
426 [0x0c] = KEY_SEARCH, /* scan */
427 [0x0d] = KEY_STOP,
428 [0x0e] = KEY_PAUSE,
429 [0x0f] = KEY_LIST, /* source */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200430
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300431 [0x10] = KEY_MUTE,
432 [0x11] = KEY_REWIND, /* backward << */
433 [0x12] = KEY_POWER,
Mauro Carvalho Chehab62f1aa92009-08-29 09:01:54 -0300434 [0x13] = KEY_CAMERA, /* snap */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300435 [0x14] = KEY_AUDIO, /* stereo */
436 [0x15] = KEY_CLEAR, /* reset */
437 [0x16] = KEY_PLAY,
438 [0x17] = KEY_ENTER,
439 [0x18] = KEY_ZOOM, /* full screen */
440 [0x19] = KEY_FASTFORWARD, /* forward >> */
441 [0x1a] = KEY_CHANNELUP,
442 [0x1b] = KEY_VOLUMEUP,
443 [0x1c] = KEY_INFO, /* preview */
444 [0x1d] = KEY_RECORD, /* record */
445 [0x1e] = KEY_CHANNELDOWN,
446 [0x1f] = KEY_VOLUMEDOWN,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200447};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200448EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvb_t);
449
450/* ---------------------------------------------------------------------- */
451
452/* IO-DATA BCTV7E Remote */
453IR_KEYTAB_TYPE ir_codes_iodata_bctv7e[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300454 [0x40] = KEY_TV,
455 [0x20] = KEY_RADIO, /* FM */
456 [0x60] = KEY_EPG,
457 [0x00] = KEY_POWER,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200458
459 /* Keys 0 to 9 */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300460 [0x44] = KEY_0, /* 10 */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300461 [0x50] = KEY_1,
462 [0x30] = KEY_2,
463 [0x70] = KEY_3,
464 [0x48] = KEY_4,
465 [0x28] = KEY_5,
466 [0x68] = KEY_6,
467 [0x58] = KEY_7,
468 [0x38] = KEY_8,
469 [0x78] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200470
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300471 [0x10] = KEY_L, /* Live */
472 [0x08] = KEY_T, /* Time Shift */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200473
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300474 [0x18] = KEY_PLAYPAUSE, /* Play */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200475
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300476 [0x24] = KEY_ENTER, /* 11 */
477 [0x64] = KEY_ESC, /* 12 */
478 [0x04] = KEY_M, /* Multi */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200479
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300480 [0x54] = KEY_VIDEO,
481 [0x34] = KEY_CHANNELUP,
482 [0x74] = KEY_VOLUMEUP,
483 [0x14] = KEY_MUTE,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200484
Mauro Carvalho Chehab62f1aa92009-08-29 09:01:54 -0300485 [0x4c] = KEY_VCR, /* SVIDEO */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300486 [0x2c] = KEY_CHANNELDOWN,
487 [0x6c] = KEY_VOLUMEDOWN,
488 [0x0c] = KEY_ZOOM,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200489
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300490 [0x5c] = KEY_PAUSE,
Mauro Carvalho Chehab62f1aa92009-08-29 09:01:54 -0300491 [0x3c] = KEY_RED, /* || (red) */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300492 [0x7c] = KEY_RECORD, /* recording */
493 [0x1c] = KEY_STOP,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200494
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300495 [0x41] = KEY_REWIND, /* backward << */
496 [0x21] = KEY_PLAY,
497 [0x61] = KEY_FASTFORWARD, /* forward >> */
498 [0x01] = KEY_NEXT, /* skip >| */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200499};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200500EXPORT_SYMBOL_GPL(ir_codes_iodata_bctv7e);
501
502/* ---------------------------------------------------------------------- */
503
504/* ADS Tech Instant TV DVB-T PCI Remote */
505IR_KEYTAB_TYPE ir_codes_adstech_dvb_t_pci[IR_KEYTAB_SIZE] = {
506 /* Keys 0 to 9 */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300507 [0x4d] = KEY_0,
508 [0x57] = KEY_1,
509 [0x4f] = KEY_2,
510 [0x53] = KEY_3,
511 [0x56] = KEY_4,
512 [0x4e] = KEY_5,
513 [0x5e] = KEY_6,
514 [0x54] = KEY_7,
515 [0x4c] = KEY_8,
516 [0x5c] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200517
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300518 [0x5b] = KEY_POWER,
519 [0x5f] = KEY_MUTE,
520 [0x55] = KEY_GOTO,
521 [0x5d] = KEY_SEARCH,
522 [0x17] = KEY_EPG, /* Guide */
523 [0x1f] = KEY_MENU,
524 [0x0f] = KEY_UP,
525 [0x46] = KEY_DOWN,
526 [0x16] = KEY_LEFT,
527 [0x1e] = KEY_RIGHT,
528 [0x0e] = KEY_SELECT, /* Enter */
529 [0x5a] = KEY_INFO,
530 [0x52] = KEY_EXIT,
531 [0x59] = KEY_PREVIOUS,
532 [0x51] = KEY_NEXT,
533 [0x58] = KEY_REWIND,
534 [0x50] = KEY_FORWARD,
535 [0x44] = KEY_PLAYPAUSE,
536 [0x07] = KEY_STOP,
537 [0x1b] = KEY_RECORD,
538 [0x13] = KEY_TUNER, /* Live */
539 [0x0a] = KEY_A,
540 [0x12] = KEY_B,
541 [0x03] = KEY_PROG1, /* 1 */
542 [0x01] = KEY_PROG2, /* 2 */
543 [0x00] = KEY_PROG3, /* 3 */
544 [0x06] = KEY_DVD,
545 [0x48] = KEY_AUX, /* Photo */
546 [0x40] = KEY_VIDEO,
547 [0x19] = KEY_AUDIO, /* Music */
548 [0x0b] = KEY_CHANNELUP,
549 [0x08] = KEY_CHANNELDOWN,
550 [0x15] = KEY_VOLUMEUP,
551 [0x1c] = KEY_VOLUMEDOWN,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200552};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200553EXPORT_SYMBOL_GPL(ir_codes_adstech_dvb_t_pci);
554
555/* ---------------------------------------------------------------------- */
556
Brian Rogersba340b42008-10-13 08:37:06 -0300557/* MSI TV@nywhere MASTER remote */
558
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200559IR_KEYTAB_TYPE ir_codes_msi_tvanywhere[IR_KEYTAB_SIZE] = {
560 /* Keys 0 to 9 */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300561 [0x00] = KEY_0,
562 [0x01] = KEY_1,
563 [0x02] = KEY_2,
564 [0x03] = KEY_3,
565 [0x04] = KEY_4,
566 [0x05] = KEY_5,
567 [0x06] = KEY_6,
568 [0x07] = KEY_7,
569 [0x08] = KEY_8,
570 [0x09] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200571
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300572 [0x0c] = KEY_MUTE,
573 [0x0f] = KEY_SCREEN, /* Full Screen */
Mauro Carvalho Chehab62f1aa92009-08-29 09:01:54 -0300574 [0x10] = KEY_FN, /* Funtion */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300575 [0x11] = KEY_T, /* Time shift */
576 [0x12] = KEY_POWER,
577 [0x13] = KEY_MEDIA, /* MTS */
578 [0x14] = KEY_SLOW,
579 [0x16] = KEY_REWIND, /* backward << */
580 [0x17] = KEY_ENTER, /* Return */
581 [0x18] = KEY_FASTFORWARD, /* forward >> */
582 [0x1a] = KEY_CHANNELUP,
583 [0x1b] = KEY_VOLUMEUP,
584 [0x1e] = KEY_CHANNELDOWN,
585 [0x1f] = KEY_VOLUMEDOWN,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200586};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200587EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere);
588
589/* ---------------------------------------------------------------------- */
590
Brian Rogersba340b42008-10-13 08:37:06 -0300591/*
592 Keycodes for remote on the MSI TV@nywhere Plus. The controller IC on the card
593 is marked "KS003". The controller is I2C at address 0x30, but does not seem
594 to respond to probes until a read is performed from a valid device.
595 I don't know why...
596
597 Note: This remote may be of similar or identical design to the
598 Pixelview remote (?). The raw codes and duplicate button codes
599 appear to be the same.
600
601 Henry Wong <henry@stuffedcow.net>
602 Some changes to formatting and keycodes by Mark Schultz <n9xmj@yahoo.com>
603
604*/
605
606IR_KEYTAB_TYPE ir_codes_msi_tvanywhere_plus[IR_KEYTAB_SIZE] = {
607
608/* ---- Remote Button Layout ----
609
610 POWER SOURCE SCAN MUTE
611 TV/FM 1 2 3
612 |> 4 5 6
613 <| 7 8 9
614 ^^UP 0 + RECALL
615 vvDN RECORD STOP PLAY
616
617 MINIMIZE ZOOM
618
619 CH+
620 VOL- VOL+
621 CH-
622
623 SNAPSHOT MTS
624
625 << FUNC >> RESET
626*/
627
Mauro Carvalho Chehab88d25a12009-08-29 08:37:58 -0300628 [0x01] = KEY_1, /* 1 */
629 [0x0b] = KEY_2, /* 2 */
630 [0x1b] = KEY_3, /* 3 */
631 [0x05] = KEY_4, /* 4 */
632 [0x09] = KEY_5, /* 5 */
633 [0x15] = KEY_6, /* 6 */
634 [0x06] = KEY_7, /* 7 */
635 [0x0a] = KEY_8, /* 8 */
636 [0x12] = KEY_9, /* 9 */
637 [0x02] = KEY_0, /* 0 */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300638 [0x10] = KEY_KPPLUS, /* + */
639 [0x13] = KEY_AGAIN, /* Recall */
Brian Rogersba340b42008-10-13 08:37:06 -0300640
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300641 [0x1e] = KEY_POWER, /* Power */
642 [0x07] = KEY_TUNER, /* Source */
643 [0x1c] = KEY_SEARCH, /* Scan */
644 [0x18] = KEY_MUTE, /* Mute */
Brian Rogersba340b42008-10-13 08:37:06 -0300645
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300646 [0x03] = KEY_RADIO, /* TV/FM */
Brian Rogersba340b42008-10-13 08:37:06 -0300647 /* The next four keys are duplicates that appear to send the
648 same IR code as Ch+, Ch-, >>, and << . The raw code assigned
649 to them is the actual code + 0x20 - they will never be
650 detected as such unless some way is discovered to distinguish
651 these buttons from those that have the same code. */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300652 [0x3f] = KEY_RIGHT, /* |> and Ch+ */
653 [0x37] = KEY_LEFT, /* <| and Ch- */
654 [0x2c] = KEY_UP, /* ^^Up and >> */
655 [0x24] = KEY_DOWN, /* vvDn and << */
Brian Rogersba340b42008-10-13 08:37:06 -0300656
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300657 [0x00] = KEY_RECORD, /* Record */
658 [0x08] = KEY_STOP, /* Stop */
659 [0x11] = KEY_PLAY, /* Play */
Brian Rogersba340b42008-10-13 08:37:06 -0300660
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300661 [0x0f] = KEY_CLOSE, /* Minimize */
662 [0x19] = KEY_ZOOM, /* Zoom */
663 [0x1a] = KEY_SHUFFLE, /* Snapshot */
664 [0x0d] = KEY_LANGUAGE, /* MTS */
Brian Rogersba340b42008-10-13 08:37:06 -0300665
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300666 [0x14] = KEY_VOLUMEDOWN,/* Vol- */
667 [0x16] = KEY_VOLUMEUP, /* Vol+ */
668 [0x17] = KEY_CHANNELDOWN,/* Ch- */
669 [0x1f] = KEY_CHANNELUP, /* Ch+ */
Brian Rogersba340b42008-10-13 08:37:06 -0300670
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300671 [0x04] = KEY_REWIND, /* << */
672 [0x0e] = KEY_MENU, /* Function */
673 [0x0c] = KEY_FASTFORWARD,/* >> */
674 [0x1d] = KEY_RESTART, /* Reset */
Brian Rogersba340b42008-10-13 08:37:06 -0300675};
676EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere_plus);
677
678/* ---------------------------------------------------------------------- */
679
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200680/* Cinergy 1400 DVB-T */
681IR_KEYTAB_TYPE ir_codes_cinergy_1400[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300682 [0x01] = KEY_POWER,
683 [0x02] = KEY_1,
684 [0x03] = KEY_2,
685 [0x04] = KEY_3,
686 [0x05] = KEY_4,
687 [0x06] = KEY_5,
688 [0x07] = KEY_6,
689 [0x08] = KEY_7,
690 [0x09] = KEY_8,
691 [0x0a] = KEY_9,
692 [0x0c] = KEY_0,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200693
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300694 [0x0b] = KEY_VIDEO,
695 [0x0d] = KEY_REFRESH,
696 [0x0e] = KEY_SELECT,
697 [0x0f] = KEY_EPG,
698 [0x10] = KEY_UP,
699 [0x11] = KEY_LEFT,
700 [0x12] = KEY_OK,
701 [0x13] = KEY_RIGHT,
702 [0x14] = KEY_DOWN,
703 [0x15] = KEY_TEXT,
704 [0x16] = KEY_INFO,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200705
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300706 [0x17] = KEY_RED,
707 [0x18] = KEY_GREEN,
708 [0x19] = KEY_YELLOW,
709 [0x1a] = KEY_BLUE,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200710
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300711 [0x1b] = KEY_CHANNELUP,
712 [0x1c] = KEY_VOLUMEUP,
713 [0x1d] = KEY_MUTE,
714 [0x1e] = KEY_VOLUMEDOWN,
715 [0x1f] = KEY_CHANNELDOWN,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200716
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300717 [0x40] = KEY_PAUSE,
718 [0x4c] = KEY_PLAY,
719 [0x58] = KEY_RECORD,
720 [0x54] = KEY_PREVIOUS,
721 [0x48] = KEY_STOP,
722 [0x5c] = KEY_NEXT,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200723};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200724EXPORT_SYMBOL_GPL(ir_codes_cinergy_1400);
725
726/* ---------------------------------------------------------------------- */
727
728/* AVERTV STUDIO 303 Remote */
729IR_KEYTAB_TYPE ir_codes_avertv_303[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300730 [0x2a] = KEY_1,
731 [0x32] = KEY_2,
732 [0x3a] = KEY_3,
733 [0x4a] = KEY_4,
734 [0x52] = KEY_5,
735 [0x5a] = KEY_6,
736 [0x6a] = KEY_7,
737 [0x72] = KEY_8,
738 [0x7a] = KEY_9,
739 [0x0e] = KEY_0,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200740
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300741 [0x02] = KEY_POWER,
742 [0x22] = KEY_VIDEO,
743 [0x42] = KEY_AUDIO,
744 [0x62] = KEY_ZOOM,
745 [0x0a] = KEY_TV,
746 [0x12] = KEY_CD,
747 [0x1a] = KEY_TEXT,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200748
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300749 [0x16] = KEY_SUBTITLE,
750 [0x1e] = KEY_REWIND,
751 [0x06] = KEY_PRINT,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200752
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300753 [0x2e] = KEY_SEARCH,
754 [0x36] = KEY_SLEEP,
755 [0x3e] = KEY_SHUFFLE,
756 [0x26] = KEY_MUTE,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200757
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300758 [0x4e] = KEY_RECORD,
759 [0x56] = KEY_PAUSE,
760 [0x5e] = KEY_STOP,
761 [0x46] = KEY_PLAY,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200762
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300763 [0x6e] = KEY_RED,
764 [0x0b] = KEY_GREEN,
765 [0x66] = KEY_YELLOW,
766 [0x03] = KEY_BLUE,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200767
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300768 [0x76] = KEY_LEFT,
769 [0x7e] = KEY_RIGHT,
770 [0x13] = KEY_DOWN,
771 [0x1b] = KEY_UP,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200772};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200773EXPORT_SYMBOL_GPL(ir_codes_avertv_303);
774
775/* ---------------------------------------------------------------------- */
776
777/* DigitalNow DNTV Live! DVB-T Pro Remote */
778IR_KEYTAB_TYPE ir_codes_dntv_live_dvbt_pro[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300779 [0x16] = KEY_POWER,
780 [0x5b] = KEY_HOME,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200781
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300782 [0x55] = KEY_TV, /* live tv */
783 [0x58] = KEY_TUNER, /* digital Radio */
784 [0x5a] = KEY_RADIO, /* FM radio */
785 [0x59] = KEY_DVD, /* dvd menu */
786 [0x03] = KEY_1,
787 [0x01] = KEY_2,
788 [0x06] = KEY_3,
789 [0x09] = KEY_4,
790 [0x1d] = KEY_5,
791 [0x1f] = KEY_6,
792 [0x0d] = KEY_7,
793 [0x19] = KEY_8,
794 [0x1b] = KEY_9,
795 [0x0c] = KEY_CANCEL,
796 [0x15] = KEY_0,
797 [0x4a] = KEY_CLEAR,
798 [0x13] = KEY_BACK,
799 [0x00] = KEY_TAB,
800 [0x4b] = KEY_UP,
801 [0x4e] = KEY_LEFT,
802 [0x4f] = KEY_OK,
803 [0x52] = KEY_RIGHT,
804 [0x51] = KEY_DOWN,
805 [0x1e] = KEY_VOLUMEUP,
806 [0x0a] = KEY_VOLUMEDOWN,
807 [0x02] = KEY_CHANNELDOWN,
808 [0x05] = KEY_CHANNELUP,
809 [0x11] = KEY_RECORD,
810 [0x14] = KEY_PLAY,
811 [0x4c] = KEY_PAUSE,
812 [0x1a] = KEY_STOP,
813 [0x40] = KEY_REWIND,
814 [0x12] = KEY_FASTFORWARD,
815 [0x41] = KEY_PREVIOUSSONG, /* replay |< */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300816 [0x42] = KEY_NEXTSONG, /* skip >| */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300817 [0x54] = KEY_CAMERA, /* capture */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300818 [0x50] = KEY_LANGUAGE, /* sap */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300819 [0x47] = KEY_TV2, /* pip */
820 [0x4d] = KEY_SCREEN,
821 [0x43] = KEY_SUBTITLE,
822 [0x10] = KEY_MUTE,
823 [0x49] = KEY_AUDIO, /* l/r */
824 [0x07] = KEY_SLEEP,
825 [0x08] = KEY_VIDEO, /* a/v */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300826 [0x0e] = KEY_PREVIOUS, /* recall */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300827 [0x45] = KEY_ZOOM, /* zoom + */
828 [0x46] = KEY_ANGLE, /* zoom - */
829 [0x56] = KEY_RED,
830 [0x57] = KEY_GREEN,
831 [0x5c] = KEY_YELLOW,
832 [0x5d] = KEY_BLUE,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200833};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200834EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvbt_pro);
835
836IR_KEYTAB_TYPE ir_codes_em_terratec[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300837 [0x01] = KEY_CHANNEL,
838 [0x02] = KEY_SELECT,
839 [0x03] = KEY_MUTE,
840 [0x04] = KEY_POWER,
841 [0x05] = KEY_1,
842 [0x06] = KEY_2,
843 [0x07] = KEY_3,
844 [0x08] = KEY_CHANNELUP,
845 [0x09] = KEY_4,
846 [0x0a] = KEY_5,
847 [0x0b] = KEY_6,
848 [0x0c] = KEY_CHANNELDOWN,
849 [0x0d] = KEY_7,
850 [0x0e] = KEY_8,
851 [0x0f] = KEY_9,
852 [0x10] = KEY_VOLUMEUP,
853 [0x11] = KEY_0,
854 [0x12] = KEY_MENU,
855 [0x13] = KEY_PRINT,
856 [0x14] = KEY_VOLUMEDOWN,
857 [0x16] = KEY_PAUSE,
858 [0x18] = KEY_RECORD,
859 [0x19] = KEY_REWIND,
860 [0x1a] = KEY_PLAY,
861 [0x1b] = KEY_FORWARD,
862 [0x1c] = KEY_BACKSPACE,
863 [0x1e] = KEY_STOP,
864 [0x40] = KEY_ZOOM,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200865};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200866EXPORT_SYMBOL_GPL(ir_codes_em_terratec);
867
Sylvain Pascheb93eedb2006-03-25 23:14:42 -0300868IR_KEYTAB_TYPE ir_codes_pinnacle_grey[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300869 [0x3a] = KEY_0,
870 [0x31] = KEY_1,
871 [0x32] = KEY_2,
872 [0x33] = KEY_3,
873 [0x34] = KEY_4,
874 [0x35] = KEY_5,
875 [0x36] = KEY_6,
876 [0x37] = KEY_7,
877 [0x38] = KEY_8,
878 [0x39] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200879
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300880 [0x2f] = KEY_POWER,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200881
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300882 [0x2e] = KEY_P,
883 [0x1f] = KEY_L,
884 [0x2b] = KEY_I,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200885
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300886 [0x2d] = KEY_SCREEN,
887 [0x1e] = KEY_ZOOM,
888 [0x1b] = KEY_VOLUMEUP,
889 [0x0f] = KEY_VOLUMEDOWN,
890 [0x17] = KEY_CHANNELUP,
891 [0x1c] = KEY_CHANNELDOWN,
892 [0x25] = KEY_INFO,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200893
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300894 [0x3c] = KEY_MUTE,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200895
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300896 [0x3d] = KEY_LEFT,
897 [0x3b] = KEY_RIGHT,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200898
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300899 [0x3f] = KEY_UP,
900 [0x3e] = KEY_DOWN,
901 [0x1a] = KEY_ENTER,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200902
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300903 [0x1d] = KEY_MENU,
904 [0x19] = KEY_AGAIN,
905 [0x16] = KEY_PREVIOUSSONG,
906 [0x13] = KEY_NEXTSONG,
907 [0x15] = KEY_PAUSE,
908 [0x0e] = KEY_REWIND,
909 [0x0d] = KEY_PLAY,
910 [0x0b] = KEY_STOP,
911 [0x07] = KEY_FORWARD,
912 [0x27] = KEY_RECORD,
913 [0x26] = KEY_TUNER,
914 [0x29] = KEY_TEXT,
915 [0x2a] = KEY_MEDIA,
916 [0x18] = KEY_EPG,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200917};
Sylvain Pascheb93eedb2006-03-25 23:14:42 -0300918EXPORT_SYMBOL_GPL(ir_codes_pinnacle_grey);
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200919
920IR_KEYTAB_TYPE ir_codes_flyvideo[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300921 [0x0f] = KEY_0,
922 [0x03] = KEY_1,
923 [0x04] = KEY_2,
924 [0x05] = KEY_3,
925 [0x07] = KEY_4,
926 [0x08] = KEY_5,
927 [0x09] = KEY_6,
928 [0x0b] = KEY_7,
929 [0x0c] = KEY_8,
930 [0x0d] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200931
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300932 [0x0e] = KEY_MODE, /* Air/Cable */
933 [0x11] = KEY_VIDEO, /* Video */
934 [0x15] = KEY_AUDIO, /* Audio */
935 [0x00] = KEY_POWER, /* Power */
936 [0x18] = KEY_TUNER, /* AV Source */
937 [0x02] = KEY_ZOOM, /* Fullscreen */
938 [0x1a] = KEY_LANGUAGE, /* Stereo */
939 [0x1b] = KEY_MUTE, /* Mute */
940 [0x14] = KEY_VOLUMEUP, /* Volume + */
941 [0x17] = KEY_VOLUMEDOWN,/* Volume - */
942 [0x12] = KEY_CHANNELUP, /* Channel + */
943 [0x13] = KEY_CHANNELDOWN,/* Channel - */
944 [0x06] = KEY_AGAIN, /* Recall */
945 [0x10] = KEY_ENTER, /* Enter */
Ivan Bobyr9e05c0f2008-04-16 16:01:55 -0300946
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300947 [0x19] = KEY_BACK, /* Rewind ( <<< ) */
948 [0x1f] = KEY_FORWARD, /* Forward ( >>> ) */
949 [0x0a] = KEY_ANGLE, /* no label, may be used as the PAUSE button */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200950};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200951EXPORT_SYMBOL_GPL(ir_codes_flyvideo);
952
953IR_KEYTAB_TYPE ir_codes_flydvb[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300954 [0x01] = KEY_ZOOM, /* Full Screen */
955 [0x00] = KEY_POWER, /* Power */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200956
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300957 [0x03] = KEY_1,
958 [0x04] = KEY_2,
959 [0x05] = KEY_3,
960 [0x07] = KEY_4,
961 [0x08] = KEY_5,
962 [0x09] = KEY_6,
963 [0x0b] = KEY_7,
964 [0x0c] = KEY_8,
965 [0x0d] = KEY_9,
966 [0x06] = KEY_AGAIN, /* Recall */
967 [0x0f] = KEY_0,
968 [0x10] = KEY_MUTE, /* Mute */
969 [0x02] = KEY_RADIO, /* TV/Radio */
970 [0x1b] = KEY_LANGUAGE, /* SAP (Second Audio Program) */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200971
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300972 [0x14] = KEY_VOLUMEUP, /* VOL+ */
973 [0x17] = KEY_VOLUMEDOWN, /* VOL- */
974 [0x12] = KEY_CHANNELUP, /* CH+ */
975 [0x13] = KEY_CHANNELDOWN, /* CH- */
976 [0x1d] = KEY_ENTER, /* Enter */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200977
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300978 [0x1a] = KEY_MODE, /* PIP */
979 [0x18] = KEY_TUNER, /* Source */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200980
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300981 [0x1e] = KEY_RECORD, /* Record/Pause */
982 [0x15] = KEY_ANGLE, /* Swap (no label on key) */
983 [0x1c] = KEY_PAUSE, /* Timeshift/Pause */
984 [0x19] = KEY_BACK, /* Rewind << */
985 [0x0a] = KEY_PLAYPAUSE, /* Play/Pause */
986 [0x1f] = KEY_FORWARD, /* Forward >> */
987 [0x16] = KEY_PREVIOUS, /* Back |<< */
988 [0x11] = KEY_STOP, /* Stop */
989 [0x0e] = KEY_NEXT, /* End >>| */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200990};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200991EXPORT_SYMBOL_GPL(ir_codes_flydvb);
992
993IR_KEYTAB_TYPE ir_codes_cinergy[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300994 [0x00] = KEY_0,
995 [0x01] = KEY_1,
996 [0x02] = KEY_2,
997 [0x03] = KEY_3,
998 [0x04] = KEY_4,
999 [0x05] = KEY_5,
1000 [0x06] = KEY_6,
1001 [0x07] = KEY_7,
1002 [0x08] = KEY_8,
1003 [0x09] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001004
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001005 [0x0a] = KEY_POWER,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001006 [0x0b] = KEY_PROG1, /* app */
1007 [0x0c] = KEY_ZOOM, /* zoom/fullscreen */
1008 [0x0d] = KEY_CHANNELUP, /* channel */
1009 [0x0e] = KEY_CHANNELDOWN,/* channel- */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001010 [0x0f] = KEY_VOLUMEUP,
1011 [0x10] = KEY_VOLUMEDOWN,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001012 [0x11] = KEY_TUNER, /* AV */
1013 [0x12] = KEY_NUMLOCK, /* -/-- */
1014 [0x13] = KEY_AUDIO, /* audio */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001015 [0x14] = KEY_MUTE,
1016 [0x15] = KEY_UP,
1017 [0x16] = KEY_DOWN,
1018 [0x17] = KEY_LEFT,
1019 [0x18] = KEY_RIGHT,
1020 [0x19] = BTN_LEFT,
1021 [0x1a] = BTN_RIGHT,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001022 [0x1b] = KEY_WWW, /* text */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001023 [0x1c] = KEY_REWIND,
1024 [0x1d] = KEY_FORWARD,
1025 [0x1e] = KEY_RECORD,
1026 [0x1f] = KEY_PLAY,
1027 [0x20] = KEY_PREVIOUSSONG,
1028 [0x21] = KEY_NEXTSONG,
1029 [0x22] = KEY_PAUSE,
1030 [0x23] = KEY_STOP,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001031};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001032EXPORT_SYMBOL_GPL(ir_codes_cinergy);
1033
1034/* Alfons Geser <a.geser@cox.net>
1035 * updates from Job D. R. Borges <jobdrb@ig.com.br> */
1036IR_KEYTAB_TYPE ir_codes_eztv[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001037 [0x12] = KEY_POWER,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001038 [0x01] = KEY_TV, /* DVR */
1039 [0x15] = KEY_DVD, /* DVD */
1040 [0x17] = KEY_AUDIO, /* music */
1041 /* DVR mode / DVD mode / music mode */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001042
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001043 [0x1b] = KEY_MUTE, /* mute */
1044 [0x02] = KEY_LANGUAGE, /* MTS/SAP / audio / autoseek */
1045 [0x1e] = KEY_SUBTITLE, /* closed captioning / subtitle / seek */
1046 [0x16] = KEY_ZOOM, /* full screen */
1047 [0x1c] = KEY_VIDEO, /* video source / eject / delall */
1048 [0x1d] = KEY_RESTART, /* playback / angle / del */
1049 [0x2f] = KEY_SEARCH, /* scan / menu / playlist */
1050 [0x30] = KEY_CHANNEL, /* CH surfing / bookmark / memo */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001051
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001052 [0x31] = KEY_HELP, /* help */
1053 [0x32] = KEY_MODE, /* num/memo */
1054 [0x33] = KEY_ESC, /* cancel */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001055
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001056 [0x0c] = KEY_UP, /* up */
1057 [0x10] = KEY_DOWN, /* down */
1058 [0x08] = KEY_LEFT, /* left */
1059 [0x04] = KEY_RIGHT, /* right */
1060 [0x03] = KEY_SELECT, /* select */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001061
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001062 [0x1f] = KEY_REWIND, /* rewind */
1063 [0x20] = KEY_PLAYPAUSE, /* play/pause */
1064 [0x29] = KEY_FORWARD, /* forward */
1065 [0x14] = KEY_AGAIN, /* repeat */
1066 [0x2b] = KEY_RECORD, /* recording */
1067 [0x2c] = KEY_STOP, /* stop */
1068 [0x2d] = KEY_PLAY, /* play */
1069 [0x2e] = KEY_SHUFFLE, /* snapshot / shuffle */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001070
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001071 [0x00] = KEY_0,
1072 [0x05] = KEY_1,
1073 [0x06] = KEY_2,
1074 [0x07] = KEY_3,
1075 [0x09] = KEY_4,
1076 [0x0a] = KEY_5,
1077 [0x0b] = KEY_6,
1078 [0x0d] = KEY_7,
1079 [0x0e] = KEY_8,
1080 [0x0f] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001081
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001082 [0x2a] = KEY_VOLUMEUP,
1083 [0x11] = KEY_VOLUMEDOWN,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001084 [0x18] = KEY_CHANNELUP, /* CH.tracking up */
1085 [0x19] = KEY_CHANNELDOWN,/* CH.tracking down */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001086
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001087 [0x13] = KEY_ENTER, /* enter */
1088 [0x21] = KEY_DOT, /* . (decimal dot) */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001089};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001090EXPORT_SYMBOL_GPL(ir_codes_eztv);
1091
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001092/* Alex Hermann <gaaf@gmx.net> */
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -02001093IR_KEYTAB_TYPE ir_codes_avermedia[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001094 [0x28] = KEY_1,
1095 [0x18] = KEY_2,
1096 [0x38] = KEY_3,
1097 [0x24] = KEY_4,
1098 [0x14] = KEY_5,
1099 [0x34] = KEY_6,
1100 [0x2c] = KEY_7,
1101 [0x1c] = KEY_8,
1102 [0x3c] = KEY_9,
1103 [0x22] = KEY_0,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001104
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001105 [0x20] = KEY_TV, /* TV/FM */
1106 [0x10] = KEY_CD, /* CD */
1107 [0x30] = KEY_TEXT, /* TELETEXT */
1108 [0x00] = KEY_POWER, /* POWER */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001109
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001110 [0x08] = KEY_VIDEO, /* VIDEO */
1111 [0x04] = KEY_AUDIO, /* AUDIO */
1112 [0x0c] = KEY_ZOOM, /* FULL SCREEN */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001113
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001114 [0x12] = KEY_SUBTITLE, /* DISPLAY */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001115 [0x32] = KEY_REWIND, /* LOOP */
1116 [0x02] = KEY_PRINT, /* PREVIEW */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001117
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001118 [0x2a] = KEY_SEARCH, /* AUTOSCAN */
1119 [0x1a] = KEY_SLEEP, /* FREEZE */
1120 [0x3a] = KEY_SHUFFLE, /* SNAPSHOT */
1121 [0x0a] = KEY_MUTE, /* MUTE */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001122
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001123 [0x26] = KEY_RECORD, /* RECORD */
1124 [0x16] = KEY_PAUSE, /* PAUSE */
1125 [0x36] = KEY_STOP, /* STOP */
1126 [0x06] = KEY_PLAY, /* PLAY */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001127
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001128 [0x2e] = KEY_RED, /* RED */
1129 [0x21] = KEY_GREEN, /* GREEN */
1130 [0x0e] = KEY_YELLOW, /* YELLOW */
1131 [0x01] = KEY_BLUE, /* BLUE */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001132
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001133 [0x1e] = KEY_VOLUMEDOWN, /* VOLUME- */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001134 [0x3e] = KEY_VOLUMEUP, /* VOLUME+ */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001135 [0x11] = KEY_CHANNELDOWN, /* CHANNEL/PAGE- */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001136 [0x31] = KEY_CHANNELUP /* CHANNEL/PAGE+ */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001137};
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -02001138EXPORT_SYMBOL_GPL(ir_codes_avermedia);
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001139
1140IR_KEYTAB_TYPE ir_codes_videomate_tv_pvr[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001141 [0x14] = KEY_MUTE,
1142 [0x24] = KEY_ZOOM,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001143
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001144 [0x01] = KEY_DVD,
1145 [0x23] = KEY_RADIO,
1146 [0x00] = KEY_TV,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001147
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001148 [0x0a] = KEY_REWIND,
1149 [0x08] = KEY_PLAYPAUSE,
1150 [0x0f] = KEY_FORWARD,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001151
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001152 [0x02] = KEY_PREVIOUS,
1153 [0x07] = KEY_STOP,
1154 [0x06] = KEY_NEXT,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001155
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001156 [0x0c] = KEY_UP,
1157 [0x0e] = KEY_DOWN,
1158 [0x0b] = KEY_LEFT,
1159 [0x0d] = KEY_RIGHT,
1160 [0x11] = KEY_OK,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001161
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001162 [0x03] = KEY_MENU,
1163 [0x09] = KEY_SETUP,
1164 [0x05] = KEY_VIDEO,
1165 [0x22] = KEY_CHANNEL,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001166
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001167 [0x12] = KEY_VOLUMEUP,
1168 [0x15] = KEY_VOLUMEDOWN,
1169 [0x10] = KEY_CHANNELUP,
1170 [0x13] = KEY_CHANNELDOWN,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001171
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001172 [0x04] = KEY_RECORD,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001173
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001174 [0x16] = KEY_1,
1175 [0x17] = KEY_2,
1176 [0x18] = KEY_3,
1177 [0x19] = KEY_4,
1178 [0x1a] = KEY_5,
1179 [0x1b] = KEY_6,
1180 [0x1c] = KEY_7,
1181 [0x1d] = KEY_8,
1182 [0x1e] = KEY_9,
1183 [0x1f] = KEY_0,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001184
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001185 [0x20] = KEY_LANGUAGE,
1186 [0x21] = KEY_SLEEP,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001187};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001188EXPORT_SYMBOL_GPL(ir_codes_videomate_tv_pvr);
1189
1190/* Michael Tokarev <mjt@tls.msk.ru>
1191 http://www.corpit.ru/mjt/beholdTV/remote_control.jpg
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001192 keytable is used by MANLI MTV00[0x0c] and BeholdTV 40[13] at
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001193 least, and probably other cards too.
1194 The "ascii-art picture" below (in comments, first row
1195 is the keycode in hex, and subsequent row(s) shows
1196 the button labels (several variants when appropriate)
1197 helps to descide which keycodes to assign to the buttons.
1198 */
1199IR_KEYTAB_TYPE ir_codes_manli[IR_KEYTAB_SIZE] = {
1200
1201 /* 0x1c 0x12 *
1202 * FUNCTION POWER *
1203 * FM (|) *
1204 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001205 [0x1c] = KEY_RADIO, /*XXX*/
1206 [0x12] = KEY_POWER,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001207
1208 /* 0x01 0x02 0x03 *
1209 * 1 2 3 *
1210 * *
1211 * 0x04 0x05 0x06 *
1212 * 4 5 6 *
1213 * *
1214 * 0x07 0x08 0x09 *
1215 * 7 8 9 *
1216 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001217 [0x01] = KEY_1,
1218 [0x02] = KEY_2,
1219 [0x03] = KEY_3,
1220 [0x04] = KEY_4,
1221 [0x05] = KEY_5,
1222 [0x06] = KEY_6,
1223 [0x07] = KEY_7,
1224 [0x08] = KEY_8,
1225 [0x09] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001226
1227 /* 0x0a 0x00 0x17 *
1228 * RECALL 0 +100 *
1229 * PLUS *
1230 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001231 [0x0a] = KEY_AGAIN, /*XXX KEY_REWIND? */
1232 [0x00] = KEY_0,
1233 [0x17] = KEY_DIGITS, /*XXX*/
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001234
1235 /* 0x14 0x10 *
1236 * MENU INFO *
1237 * OSD */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001238 [0x14] = KEY_MENU,
1239 [0x10] = KEY_INFO,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001240
1241 /* 0x0b *
1242 * Up *
1243 * *
1244 * 0x18 0x16 0x0c *
1245 * Left Ok Right *
1246 * *
1247 * 0x015 *
1248 * Down *
1249 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001250 [0x0b] = KEY_UP, /*XXX KEY_SCROLLUP? */
1251 [0x18] = KEY_LEFT, /*XXX KEY_BACK? */
1252 [0x16] = KEY_OK, /*XXX KEY_SELECT? KEY_ENTER? */
1253 [0x0c] = KEY_RIGHT, /*XXX KEY_FORWARD? */
1254 [0x15] = KEY_DOWN, /*XXX KEY_SCROLLDOWN? */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001255
1256 /* 0x11 0x0d *
1257 * TV/AV MODE *
1258 * SOURCE STEREO *
1259 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001260 [0x11] = KEY_TV, /*XXX*/
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001261 [0x0d] = KEY_MODE, /*XXX there's no KEY_STEREO */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001262
1263 /* 0x0f 0x1b 0x1a *
1264 * AUDIO Vol+ Chan+ *
1265 * TIMESHIFT??? *
1266 * *
1267 * 0x0e 0x1f 0x1e *
1268 * SLEEP Vol- Chan- *
1269 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001270 [0x0f] = KEY_AUDIO,
1271 [0x1b] = KEY_VOLUMEUP,
1272 [0x1a] = KEY_CHANNELUP,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001273 [0x0e] = KEY_SLEEP, /*XXX maybe KEY_PAUSE */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001274 [0x1f] = KEY_VOLUMEDOWN,
1275 [0x1e] = KEY_CHANNELDOWN,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001276
1277 /* 0x13 0x19 *
1278 * MUTE SNAPSHOT*
1279 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001280 [0x13] = KEY_MUTE,
1281 [0x19] = KEY_RECORD, /*XXX*/
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001282
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -03001283 /* 0x1d unused ? */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001284};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001285EXPORT_SYMBOL_GPL(ir_codes_manli);
1286
1287/* Mike Baikov <mike@baikov.com> */
1288IR_KEYTAB_TYPE ir_codes_gotview7135[IR_KEYTAB_SIZE] = {
1289
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001290 [0x11] = KEY_POWER,
1291 [0x35] = KEY_TV,
1292 [0x1b] = KEY_0,
1293 [0x29] = KEY_1,
1294 [0x19] = KEY_2,
1295 [0x39] = KEY_3,
1296 [0x1f] = KEY_4,
1297 [0x2c] = KEY_5,
1298 [0x21] = KEY_6,
1299 [0x24] = KEY_7,
1300 [0x18] = KEY_8,
1301 [0x2b] = KEY_9,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001302 [0x3b] = KEY_AGAIN, /* LOOP */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001303 [0x06] = KEY_AUDIO,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001304 [0x31] = KEY_PRINT, /* PREVIEW */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001305 [0x3e] = KEY_VIDEO,
1306 [0x10] = KEY_CHANNELUP,
1307 [0x20] = KEY_CHANNELDOWN,
1308 [0x0c] = KEY_VOLUMEDOWN,
1309 [0x28] = KEY_VOLUMEUP,
1310 [0x08] = KEY_MUTE,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001311 [0x26] = KEY_SEARCH, /*SCAN*/
1312 [0x3f] = KEY_SHUFFLE, /* SNAPSHOT */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001313 [0x12] = KEY_RECORD,
1314 [0x32] = KEY_STOP,
1315 [0x3c] = KEY_PLAY,
1316 [0x1d] = KEY_REWIND,
1317 [0x2d] = KEY_PAUSE,
1318 [0x0d] = KEY_FORWARD,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001319 [0x05] = KEY_ZOOM, /*FULL*/
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001320
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001321 [0x2a] = KEY_F21, /* LIVE TIMESHIFT */
1322 [0x0e] = KEY_F22, /* MIN TIMESHIFT */
1323 [0x1e] = KEY_F23, /* TIMESHIFT */
1324 [0x38] = KEY_F24, /* NORMAL TIMESHIFT */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001325};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001326EXPORT_SYMBOL_GPL(ir_codes_gotview7135);
1327
1328IR_KEYTAB_TYPE ir_codes_purpletv[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001329 [0x03] = KEY_POWER,
1330 [0x6f] = KEY_MUTE,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001331 [0x10] = KEY_BACKSPACE, /* Recall */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001332
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001333 [0x11] = KEY_0,
1334 [0x04] = KEY_1,
1335 [0x05] = KEY_2,
1336 [0x06] = KEY_3,
1337 [0x08] = KEY_4,
1338 [0x09] = KEY_5,
1339 [0x0a] = KEY_6,
1340 [0x0c] = KEY_7,
1341 [0x0d] = KEY_8,
1342 [0x0e] = KEY_9,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001343 [0x12] = KEY_DOT, /* 100+ */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001344
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001345 [0x07] = KEY_VOLUMEUP,
1346 [0x0b] = KEY_VOLUMEDOWN,
1347 [0x1a] = KEY_KPPLUS,
1348 [0x18] = KEY_KPMINUS,
1349 [0x15] = KEY_UP,
1350 [0x1d] = KEY_DOWN,
1351 [0x0f] = KEY_CHANNELUP,
1352 [0x13] = KEY_CHANNELDOWN,
1353 [0x48] = KEY_ZOOM,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001354
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001355 [0x1b] = KEY_VIDEO, /* Video source */
Mauro Carvalho Chehab62f1aa92009-08-29 09:01:54 -03001356 [0x1f] = KEY_CAMERA, /* Snapshot */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001357 [0x49] = KEY_LANGUAGE, /* MTS Select */
1358 [0x19] = KEY_SEARCH, /* Auto Scan */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001359
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001360 [0x4b] = KEY_RECORD,
1361 [0x46] = KEY_PLAY,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001362 [0x45] = KEY_PAUSE, /* Pause */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001363 [0x44] = KEY_STOP,
Mauro Carvalho Chehab62f1aa92009-08-29 09:01:54 -03001364 [0x17] = KEY_CHANNEL, /* SURF CH */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001365 [0x40] = KEY_FORWARD, /* Forward ? */
1366 [0x42] = KEY_REWIND, /* Backward ? */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001367
1368};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001369EXPORT_SYMBOL_GPL(ir_codes_purpletv);
1370
1371/* Mapping for the 28 key remote control as seen at
1372 http://www.sednacomputer.com/photo/cardbus-tv.jpg
Mauro Lacye80faad2008-04-22 14:45:58 -03001373 Pavel Mihaylov <bin@bash.info>
1374 Also for the remote bundled with Kozumi KTV-01C card */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001375IR_KEYTAB_TYPE ir_codes_pctv_sedna[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001376 [0x00] = KEY_0,
1377 [0x01] = KEY_1,
1378 [0x02] = KEY_2,
1379 [0x03] = KEY_3,
1380 [0x04] = KEY_4,
1381 [0x05] = KEY_5,
1382 [0x06] = KEY_6,
1383 [0x07] = KEY_7,
1384 [0x08] = KEY_8,
1385 [0x09] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001386
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001387 [0x0a] = KEY_AGAIN, /* Recall */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001388 [0x0b] = KEY_CHANNELUP,
1389 [0x0c] = KEY_VOLUMEUP,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001390 [0x0d] = KEY_MODE, /* Stereo */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001391 [0x0e] = KEY_STOP,
1392 [0x0f] = KEY_PREVIOUSSONG,
1393 [0x10] = KEY_ZOOM,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001394 [0x11] = KEY_TUNER, /* Source */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001395 [0x12] = KEY_POWER,
1396 [0x13] = KEY_MUTE,
1397 [0x15] = KEY_CHANNELDOWN,
1398 [0x18] = KEY_VOLUMEDOWN,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001399 [0x19] = KEY_SHUFFLE, /* Snapshot */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001400 [0x1a] = KEY_NEXTSONG,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001401 [0x1b] = KEY_TEXT, /* Time Shift */
1402 [0x1c] = KEY_RADIO, /* FM Radio */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001403 [0x1d] = KEY_RECORD,
1404 [0x1e] = KEY_PAUSE,
Mauro Lacye80faad2008-04-22 14:45:58 -03001405 /* additional codes for Kozumi's remote */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001406 [0x14] = KEY_INFO, /* OSD */
1407 [0x16] = KEY_OK, /* OK */
1408 [0x17] = KEY_DIGITS, /* Plus */
1409 [0x1f] = KEY_PLAY, /* Play */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001410};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001411EXPORT_SYMBOL_GPL(ir_codes_pctv_sedna);
1412
1413/* Mark Phalan <phalanm@o2.ie> */
1414IR_KEYTAB_TYPE ir_codes_pv951[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001415 [0x00] = KEY_0,
1416 [0x01] = KEY_1,
1417 [0x02] = KEY_2,
1418 [0x03] = KEY_3,
1419 [0x04] = KEY_4,
1420 [0x05] = KEY_5,
1421 [0x06] = KEY_6,
1422 [0x07] = KEY_7,
1423 [0x08] = KEY_8,
1424 [0x09] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001425
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001426 [0x12] = KEY_POWER,
1427 [0x10] = KEY_MUTE,
1428 [0x1f] = KEY_VOLUMEDOWN,
1429 [0x1b] = KEY_VOLUMEUP,
1430 [0x1a] = KEY_CHANNELUP,
1431 [0x1e] = KEY_CHANNELDOWN,
1432 [0x0e] = KEY_PAGEUP,
1433 [0x1d] = KEY_PAGEDOWN,
1434 [0x13] = KEY_SOUND,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001435
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001436 [0x18] = KEY_KPPLUSMINUS, /* CH +/- */
1437 [0x16] = KEY_SUBTITLE, /* CC */
1438 [0x0d] = KEY_TEXT, /* TTX */
1439 [0x0b] = KEY_TV, /* AIR/CBL */
1440 [0x11] = KEY_PC, /* PC/TV */
1441 [0x17] = KEY_OK, /* CH RTN */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001442 [0x19] = KEY_MODE, /* FUNC */
1443 [0x0c] = KEY_SEARCH, /* AUTOSCAN */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001444
1445 /* Not sure what to do with these ones! */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001446 [0x0f] = KEY_SELECT, /* SOURCE */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001447 [0x0a] = KEY_KPPLUS, /* +100 */
1448 [0x14] = KEY_EQUAL, /* SYNC */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001449 [0x1c] = KEY_MEDIA, /* PC/TV */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001450};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001451EXPORT_SYMBOL_GPL(ir_codes_pv951);
1452
1453/* generic RC5 keytable */
1454/* see http://users.pandora.be/nenya/electronics/rc5/codes00.htm */
1455/* used by old (black) Hauppauge remotes */
1456IR_KEYTAB_TYPE ir_codes_rc5_tv[IR_KEYTAB_SIZE] = {
1457 /* Keys 0 to 9 */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001458 [0x00] = KEY_0,
1459 [0x01] = KEY_1,
1460 [0x02] = KEY_2,
1461 [0x03] = KEY_3,
1462 [0x04] = KEY_4,
1463 [0x05] = KEY_5,
1464 [0x06] = KEY_6,
1465 [0x07] = KEY_7,
1466 [0x08] = KEY_8,
1467 [0x09] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001468
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001469 [0x0b] = KEY_CHANNEL, /* channel / program (japan: 11) */
1470 [0x0c] = KEY_POWER, /* standby */
1471 [0x0d] = KEY_MUTE, /* mute / demute */
1472 [0x0f] = KEY_TV, /* display */
1473 [0x10] = KEY_VOLUMEUP,
1474 [0x11] = KEY_VOLUMEDOWN,
1475 [0x12] = KEY_BRIGHTNESSUP,
1476 [0x13] = KEY_BRIGHTNESSDOWN,
1477 [0x1e] = KEY_SEARCH, /* search + */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001478 [0x20] = KEY_CHANNELUP, /* channel / program + */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001479 [0x21] = KEY_CHANNELDOWN, /* channel / program - */
1480 [0x22] = KEY_CHANNEL, /* alt / channel */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001481 [0x23] = KEY_LANGUAGE, /* 1st / 2nd language */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001482 [0x26] = KEY_SLEEP, /* sleeptimer */
1483 [0x2e] = KEY_MENU, /* 2nd controls (USA: menu) */
1484 [0x30] = KEY_PAUSE,
1485 [0x32] = KEY_REWIND,
1486 [0x33] = KEY_GOTO,
1487 [0x35] = KEY_PLAY,
1488 [0x36] = KEY_STOP,
1489 [0x37] = KEY_RECORD, /* recording */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001490 [0x3c] = KEY_TEXT, /* teletext submode (Japan: 12) */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001491 [0x3d] = KEY_SUSPEND, /* system standby */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001492
1493};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001494EXPORT_SYMBOL_GPL(ir_codes_rc5_tv);
1495
1496/* Table for Leadtek Winfast Remote Controls - used by both bttv and cx88 */
1497IR_KEYTAB_TYPE ir_codes_winfast[IR_KEYTAB_SIZE] = {
1498 /* Keys 0 to 9 */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001499 [0x12] = KEY_0,
1500 [0x05] = KEY_1,
1501 [0x06] = KEY_2,
1502 [0x07] = KEY_3,
1503 [0x09] = KEY_4,
1504 [0x0a] = KEY_5,
1505 [0x0b] = KEY_6,
1506 [0x0d] = KEY_7,
1507 [0x0e] = KEY_8,
1508 [0x0f] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001509
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001510 [0x00] = KEY_POWER,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001511 [0x1b] = KEY_AUDIO, /* Audio Source */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001512 [0x02] = KEY_TUNER, /* TV/FM, not on Y0400052 */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001513 [0x1e] = KEY_VIDEO, /* Video Source */
1514 [0x16] = KEY_INFO, /* Display information */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001515 [0x04] = KEY_VOLUMEUP,
1516 [0x08] = KEY_VOLUMEDOWN,
1517 [0x0c] = KEY_CHANNELUP,
1518 [0x10] = KEY_CHANNELDOWN,
1519 [0x03] = KEY_ZOOM, /* fullscreen */
1520 [0x1f] = KEY_TEXT, /* closed caption/teletext */
1521 [0x20] = KEY_SLEEP,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001522 [0x29] = KEY_CLEAR, /* boss key */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001523 [0x14] = KEY_MUTE,
1524 [0x2b] = KEY_RED,
1525 [0x2c] = KEY_GREEN,
1526 [0x2d] = KEY_YELLOW,
1527 [0x2e] = KEY_BLUE,
1528 [0x18] = KEY_KPPLUS, /* fine tune + , not on Y040052 */
1529 [0x19] = KEY_KPMINUS, /* fine tune - , not on Y040052 */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001530 [0x2a] = KEY_MEDIA, /* PIP (Picture in picture */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001531 [0x21] = KEY_DOT,
1532 [0x13] = KEY_ENTER,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001533 [0x11] = KEY_LAST, /* Recall (last channel */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001534 [0x22] = KEY_PREVIOUS,
1535 [0x23] = KEY_PLAYPAUSE,
1536 [0x24] = KEY_NEXT,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001537 [0x25] = KEY_ARCHIVE, /* Time Shifting */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001538 [0x26] = KEY_STOP,
1539 [0x27] = KEY_RECORD,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001540 [0x28] = KEY_SAVE, /* Screenshot */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001541 [0x2f] = KEY_MENU,
1542 [0x30] = KEY_CANCEL,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001543 [0x31] = KEY_CHANNEL, /* Channel Surf */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001544 [0x32] = KEY_SUBTITLE,
1545 [0x33] = KEY_LANGUAGE,
1546 [0x34] = KEY_REWIND,
1547 [0x35] = KEY_FASTFORWARD,
1548 [0x36] = KEY_TV,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001549 [0x37] = KEY_RADIO, /* FM */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001550 [0x38] = KEY_DVD,
Michel Lespinasse102df6a2007-11-26 18:57:10 -03001551
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001552 [0x3e] = KEY_F21, /* MCE +VOL, on Y04G0033 */
1553 [0x3a] = KEY_F22, /* MCE -VOL, on Y04G0033 */
1554 [0x3b] = KEY_F23, /* MCE +CH, on Y04G0033 */
1555 [0x3f] = KEY_F24 /* MCE -CH, on Y04G0033 */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001556};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001557EXPORT_SYMBOL_GPL(ir_codes_winfast);
1558
Sylvain Pascheb93eedb2006-03-25 23:14:42 -03001559IR_KEYTAB_TYPE ir_codes_pinnacle_color[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001560 [0x59] = KEY_MUTE,
1561 [0x4a] = KEY_POWER,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001562
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001563 [0x18] = KEY_TEXT,
1564 [0x26] = KEY_TV,
1565 [0x3d] = KEY_PRINT,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001566
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001567 [0x48] = KEY_RED,
1568 [0x04] = KEY_GREEN,
1569 [0x11] = KEY_YELLOW,
1570 [0x00] = KEY_BLUE,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001571
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001572 [0x2d] = KEY_VOLUMEUP,
1573 [0x1e] = KEY_VOLUMEDOWN,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001574
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001575 [0x49] = KEY_MENU,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001576
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001577 [0x16] = KEY_CHANNELUP,
1578 [0x17] = KEY_CHANNELDOWN,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001579
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001580 [0x20] = KEY_UP,
1581 [0x21] = KEY_DOWN,
1582 [0x22] = KEY_LEFT,
1583 [0x23] = KEY_RIGHT,
1584 [0x0d] = KEY_SELECT,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001585
1586
1587
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001588 [0x08] = KEY_BACK,
1589 [0x07] = KEY_REFRESH,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001590
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001591 [0x2f] = KEY_ZOOM,
1592 [0x29] = KEY_RECORD,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001593
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001594 [0x4b] = KEY_PAUSE,
1595 [0x4d] = KEY_REWIND,
1596 [0x2e] = KEY_PLAY,
1597 [0x4e] = KEY_FORWARD,
1598 [0x53] = KEY_PREVIOUS,
1599 [0x4c] = KEY_STOP,
1600 [0x54] = KEY_NEXT,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001601
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001602 [0x69] = KEY_0,
1603 [0x6a] = KEY_1,
1604 [0x6b] = KEY_2,
1605 [0x6c] = KEY_3,
1606 [0x6d] = KEY_4,
1607 [0x6e] = KEY_5,
1608 [0x6f] = KEY_6,
1609 [0x70] = KEY_7,
1610 [0x71] = KEY_8,
1611 [0x72] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001612
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001613 [0x74] = KEY_CHANNEL,
1614 [0x0a] = KEY_BACKSPACE,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001615};
Sylvain Pascheb93eedb2006-03-25 23:14:42 -03001616EXPORT_SYMBOL_GPL(ir_codes_pinnacle_color);
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001617
1618/* Hauppauge: the newer, gray remotes (seems there are multiple
1619 * slightly different versions), shipped with cx88+ivtv cards.
1620 * almost rc5 coding, but some non-standard keys */
1621IR_KEYTAB_TYPE ir_codes_hauppauge_new[IR_KEYTAB_SIZE] = {
1622 /* Keys 0 to 9 */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001623 [0x00] = KEY_0,
1624 [0x01] = KEY_1,
1625 [0x02] = KEY_2,
1626 [0x03] = KEY_3,
1627 [0x04] = KEY_4,
1628 [0x05] = KEY_5,
1629 [0x06] = KEY_6,
1630 [0x07] = KEY_7,
1631 [0x08] = KEY_8,
1632 [0x09] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001633
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001634 [0x0a] = KEY_TEXT, /* keypad asterisk as well */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001635 [0x0b] = KEY_RED, /* red button */
1636 [0x0c] = KEY_RADIO,
1637 [0x0d] = KEY_MENU,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001638 [0x0e] = KEY_SUBTITLE, /* also the # key */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001639 [0x0f] = KEY_MUTE,
1640 [0x10] = KEY_VOLUMEUP,
1641 [0x11] = KEY_VOLUMEDOWN,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001642 [0x12] = KEY_PREVIOUS, /* previous channel */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001643 [0x14] = KEY_UP,
1644 [0x15] = KEY_DOWN,
1645 [0x16] = KEY_LEFT,
1646 [0x17] = KEY_RIGHT,
1647 [0x18] = KEY_VIDEO, /* Videos */
1648 [0x19] = KEY_AUDIO, /* Music */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001649 /* 0x1a: Pictures - presume this means
1650 "Multimedia Home Platform" -
1651 no "PICTURES" key in input.h
1652 */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001653 [0x1a] = KEY_MHP,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001654
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001655 [0x1b] = KEY_EPG, /* Guide */
1656 [0x1c] = KEY_TV,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001657 [0x1e] = KEY_NEXTSONG, /* skip >| */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001658 [0x1f] = KEY_EXIT, /* back/exit */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001659 [0x20] = KEY_CHANNELUP, /* channel / program + */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001660 [0x21] = KEY_CHANNELDOWN, /* channel / program - */
1661 [0x22] = KEY_CHANNEL, /* source (old black remote) */
1662 [0x24] = KEY_PREVIOUSSONG, /* replay |< */
1663 [0x25] = KEY_ENTER, /* OK */
1664 [0x26] = KEY_SLEEP, /* minimize (old black remote) */
1665 [0x29] = KEY_BLUE, /* blue key */
1666 [0x2e] = KEY_GREEN, /* green button */
1667 [0x30] = KEY_PAUSE, /* pause */
1668 [0x32] = KEY_REWIND, /* backward << */
1669 [0x34] = KEY_FASTFORWARD, /* forward >> */
1670 [0x35] = KEY_PLAY,
1671 [0x36] = KEY_STOP,
1672 [0x37] = KEY_RECORD, /* recording */
1673 [0x38] = KEY_YELLOW, /* yellow key */
1674 [0x3b] = KEY_SELECT, /* top right button */
1675 [0x3c] = KEY_ZOOM, /* full */
1676 [0x3d] = KEY_POWER, /* system power (green button) */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001677};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001678EXPORT_SYMBOL_GPL(ir_codes_hauppauge_new);
Ricardo Cerqueira680543c2006-05-22 07:44:02 -03001679
1680IR_KEYTAB_TYPE ir_codes_npgtech[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001681 [0x1d] = KEY_SWITCHVIDEOMODE, /* switch inputs */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001682 [0x2a] = KEY_FRONT,
Ricardo Cerqueira680543c2006-05-22 07:44:02 -03001683
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001684 [0x3e] = KEY_1,
1685 [0x02] = KEY_2,
1686 [0x06] = KEY_3,
1687 [0x0a] = KEY_4,
1688 [0x0e] = KEY_5,
1689 [0x12] = KEY_6,
1690 [0x16] = KEY_7,
1691 [0x1a] = KEY_8,
1692 [0x1e] = KEY_9,
1693 [0x3a] = KEY_0,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001694 [0x22] = KEY_NUMLOCK, /* -/-- */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001695 [0x20] = KEY_REFRESH,
Ricardo Cerqueira680543c2006-05-22 07:44:02 -03001696
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001697 [0x03] = KEY_BRIGHTNESSDOWN,
1698 [0x28] = KEY_AUDIO,
1699 [0x3c] = KEY_UP,
1700 [0x3f] = KEY_LEFT,
1701 [0x2e] = KEY_MUTE,
1702 [0x3b] = KEY_RIGHT,
1703 [0x00] = KEY_DOWN,
1704 [0x07] = KEY_BRIGHTNESSUP,
1705 [0x2c] = KEY_TEXT,
Ricardo Cerqueira680543c2006-05-22 07:44:02 -03001706
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001707 [0x37] = KEY_RECORD,
1708 [0x17] = KEY_PLAY,
1709 [0x13] = KEY_PAUSE,
1710 [0x26] = KEY_STOP,
1711 [0x18] = KEY_FASTFORWARD,
1712 [0x14] = KEY_REWIND,
1713 [0x33] = KEY_ZOOM,
1714 [0x32] = KEY_KEYBOARD,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001715 [0x30] = KEY_GOTO, /* Pointing arrow */
1716 [0x36] = KEY_MACRO, /* Maximize/Minimize (yellow) */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001717 [0x0b] = KEY_RADIO,
1718 [0x10] = KEY_POWER,
Ricardo Cerqueira680543c2006-05-22 07:44:02 -03001719
1720};
Ricardo Cerqueira680543c2006-05-22 07:44:02 -03001721EXPORT_SYMBOL_GPL(ir_codes_npgtech);
Peter Naullsd1009bd2006-08-08 09:10:05 -03001722
1723/* Norwood Micro (non-Pro) TV Tuner
1724 By Peter Naulls <peter@chocky.org>
1725 Key comments are the functions given in the manual */
1726IR_KEYTAB_TYPE ir_codes_norwood[IR_KEYTAB_SIZE] = {
1727 /* Keys 0 to 9 */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001728 [0x20] = KEY_0,
1729 [0x21] = KEY_1,
1730 [0x22] = KEY_2,
1731 [0x23] = KEY_3,
1732 [0x24] = KEY_4,
1733 [0x25] = KEY_5,
1734 [0x26] = KEY_6,
1735 [0x27] = KEY_7,
1736 [0x28] = KEY_8,
1737 [0x29] = KEY_9,
Peter Naullsd1009bd2006-08-08 09:10:05 -03001738
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001739 [0x78] = KEY_TUNER, /* Video Source */
1740 [0x2c] = KEY_EXIT, /* Open/Close software */
1741 [0x2a] = KEY_SELECT, /* 2 Digit Select */
1742 [0x69] = KEY_AGAIN, /* Recall */
Peter Naullsd1009bd2006-08-08 09:10:05 -03001743
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001744 [0x32] = KEY_BRIGHTNESSUP, /* Brightness increase */
1745 [0x33] = KEY_BRIGHTNESSDOWN, /* Brightness decrease */
1746 [0x6b] = KEY_KPPLUS, /* (not named >>>>>) */
1747 [0x6c] = KEY_KPMINUS, /* (not named <<<<<) */
Peter Naullsd1009bd2006-08-08 09:10:05 -03001748
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001749 [0x2d] = KEY_MUTE, /* Mute */
1750 [0x30] = KEY_VOLUMEUP, /* Volume up */
1751 [0x31] = KEY_VOLUMEDOWN,/* Volume down */
1752 [0x60] = KEY_CHANNELUP, /* Channel up */
1753 [0x61] = KEY_CHANNELDOWN,/* Channel down */
Peter Naullsd1009bd2006-08-08 09:10:05 -03001754
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001755 [0x3f] = KEY_RECORD, /* Record */
1756 [0x37] = KEY_PLAY, /* Play */
1757 [0x36] = KEY_PAUSE, /* Pause */
1758 [0x2b] = KEY_STOP, /* Stop */
1759 [0x67] = KEY_FASTFORWARD,/* Foward */
1760 [0x66] = KEY_REWIND, /* Rewind */
1761 [0x3e] = KEY_SEARCH, /* Auto Scan */
1762 [0x2e] = KEY_CAMERA, /* Capture Video */
1763 [0x6d] = KEY_MENU, /* Show/Hide Control */
1764 [0x2f] = KEY_ZOOM, /* Full Screen */
1765 [0x34] = KEY_RADIO, /* FM */
1766 [0x65] = KEY_POWER, /* Computer power */
Peter Naullsd1009bd2006-08-08 09:10:05 -03001767};
Peter Naullsd1009bd2006-08-08 09:10:05 -03001768EXPORT_SYMBOL_GPL(ir_codes_norwood);
David Hardeman2520fff2006-12-02 21:16:05 -02001769
1770/* From reading the following remotes:
1771 * Zenith Universal 7 / TV Mode 807 / VCR Mode 837
1772 * Hauppauge (from NOVA-CI-s box product)
1773 * This is a "middle of the road" approach, differences are noted
1774 */
1775IR_KEYTAB_TYPE ir_codes_budget_ci_old[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001776 [0x00] = KEY_0,
1777 [0x01] = KEY_1,
1778 [0x02] = KEY_2,
1779 [0x03] = KEY_3,
1780 [0x04] = KEY_4,
1781 [0x05] = KEY_5,
1782 [0x06] = KEY_6,
1783 [0x07] = KEY_7,
1784 [0x08] = KEY_8,
1785 [0x09] = KEY_9,
1786 [0x0a] = KEY_ENTER,
1787 [0x0b] = KEY_RED,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001788 [0x0c] = KEY_POWER, /* RADIO on Hauppauge */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001789 [0x0d] = KEY_MUTE,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001790 [0x0f] = KEY_A, /* TV on Hauppauge */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001791 [0x10] = KEY_VOLUMEUP,
1792 [0x11] = KEY_VOLUMEDOWN,
1793 [0x14] = KEY_B,
1794 [0x1c] = KEY_UP,
1795 [0x1d] = KEY_DOWN,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001796 [0x1e] = KEY_OPTION, /* RESERVED on Hauppauge */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001797 [0x1f] = KEY_BREAK,
1798 [0x20] = KEY_CHANNELUP,
1799 [0x21] = KEY_CHANNELDOWN,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001800 [0x22] = KEY_PREVIOUS, /* Prev Ch on Zenith, SOURCE on Hauppauge */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001801 [0x24] = KEY_RESTART,
1802 [0x25] = KEY_OK,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001803 [0x26] = KEY_CYCLEWINDOWS, /* MINIMIZE on Hauppauge */
1804 [0x28] = KEY_ENTER, /* VCR mode on Zenith */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001805 [0x29] = KEY_PAUSE,
1806 [0x2b] = KEY_RIGHT,
1807 [0x2c] = KEY_LEFT,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001808 [0x2e] = KEY_MENU, /* FULL SCREEN on Hauppauge */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001809 [0x30] = KEY_SLOW,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001810 [0x31] = KEY_PREVIOUS, /* VCR mode on Zenith */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001811 [0x32] = KEY_REWIND,
1812 [0x34] = KEY_FASTFORWARD,
1813 [0x35] = KEY_PLAY,
1814 [0x36] = KEY_STOP,
1815 [0x37] = KEY_RECORD,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001816 [0x38] = KEY_TUNER, /* TV/VCR on Zenith */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001817 [0x3a] = KEY_C,
1818 [0x3c] = KEY_EXIT,
1819 [0x3d] = KEY_POWER2,
1820 [0x3e] = KEY_TUNER,
David Hardeman2520fff2006-12-02 21:16:05 -02001821};
David Hardeman2520fff2006-12-02 21:16:05 -02001822EXPORT_SYMBOL_GPL(ir_codes_budget_ci_old);
Hermann Pitton91607232006-12-07 21:45:28 -03001823
1824/*
1825 * Marc Fargas <telenieko@telenieko.com>
1826 * this is the remote control that comes with the asus p7131
1827 * which has a label saying is "Model PC-39"
1828 */
1829IR_KEYTAB_TYPE ir_codes_asus_pc39[IR_KEYTAB_SIZE] = {
1830 /* Keys 0 to 9 */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001831 [0x15] = KEY_0,
1832 [0x29] = KEY_1,
1833 [0x2d] = KEY_2,
1834 [0x2b] = KEY_3,
1835 [0x09] = KEY_4,
1836 [0x0d] = KEY_5,
1837 [0x0b] = KEY_6,
1838 [0x31] = KEY_7,
1839 [0x35] = KEY_8,
1840 [0x33] = KEY_9,
Hermann Pitton91607232006-12-07 21:45:28 -03001841
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001842 [0x3e] = KEY_RADIO, /* radio */
1843 [0x03] = KEY_MENU, /* dvd/menu */
1844 [0x2a] = KEY_VOLUMEUP,
1845 [0x19] = KEY_VOLUMEDOWN,
1846 [0x37] = KEY_UP,
1847 [0x3b] = KEY_DOWN,
1848 [0x27] = KEY_LEFT,
1849 [0x2f] = KEY_RIGHT,
1850 [0x25] = KEY_VIDEO, /* video */
1851 [0x39] = KEY_AUDIO, /* music */
Hermann Pitton91607232006-12-07 21:45:28 -03001852
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001853 [0x21] = KEY_TV, /* tv */
1854 [0x1d] = KEY_EXIT, /* back */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001855 [0x0a] = KEY_CHANNELUP, /* channel / program + */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001856 [0x1b] = KEY_CHANNELDOWN, /* channel / program - */
1857 [0x1a] = KEY_ENTER, /* enter */
Hermann Pitton91607232006-12-07 21:45:28 -03001858
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001859 [0x06] = KEY_PAUSE, /* play/pause */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001860 [0x1e] = KEY_PREVIOUS, /* rew */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001861 [0x26] = KEY_NEXT, /* forward */
1862 [0x0e] = KEY_REWIND, /* backward << */
1863 [0x3a] = KEY_FASTFORWARD, /* forward >> */
1864 [0x36] = KEY_STOP,
1865 [0x2e] = KEY_RECORD, /* recording */
1866 [0x16] = KEY_POWER, /* the button that reads "close" */
Hermann Pitton91607232006-12-07 21:45:28 -03001867
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001868 [0x11] = KEY_ZOOM, /* full screen */
1869 [0x13] = KEY_MACRO, /* recall */
1870 [0x23] = KEY_HOME, /* home */
1871 [0x05] = KEY_PVR, /* picture */
1872 [0x3d] = KEY_MUTE, /* mute */
1873 [0x01] = KEY_DVD, /* dvd */
Hermann Pitton91607232006-12-07 21:45:28 -03001874};
Hermann Pitton91607232006-12-07 21:45:28 -03001875EXPORT_SYMBOL_GPL(ir_codes_asus_pc39);
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001876
1877
1878/* Encore ENLTV-FM - black plastic, white front cover with white glowing buttons
1879 Juan Pablo Sormani <sorman@gmail.com> */
1880IR_KEYTAB_TYPE ir_codes_encore_enltv[IR_KEYTAB_SIZE] = {
1881
1882 /* Power button does nothing, neither in Windows app,
1883 although it sends data (used for BIOS wakeup?) */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001884 [0x0d] = KEY_MUTE,
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001885
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001886 [0x1e] = KEY_TV,
1887 [0x00] = KEY_VIDEO,
1888 [0x01] = KEY_AUDIO, /* music */
1889 [0x02] = KEY_MHP, /* picture */
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001890
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001891 [0x1f] = KEY_1,
1892 [0x03] = KEY_2,
1893 [0x04] = KEY_3,
1894 [0x05] = KEY_4,
1895 [0x1c] = KEY_5,
1896 [0x06] = KEY_6,
1897 [0x07] = KEY_7,
1898 [0x08] = KEY_8,
1899 [0x1d] = KEY_9,
1900 [0x0a] = KEY_0,
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001901
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001902 [0x09] = KEY_LIST, /* -/-- */
1903 [0x0b] = KEY_LAST, /* recall */
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001904
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001905 [0x14] = KEY_HOME, /* win start menu */
1906 [0x15] = KEY_EXIT, /* exit */
1907 [0x16] = KEY_UP,
1908 [0x12] = KEY_DOWN,
1909 [0x0c] = KEY_RIGHT,
1910 [0x17] = KEY_LEFT,
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001911
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001912 [0x18] = KEY_ENTER, /* OK */
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001913
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001914 [0x0e] = KEY_ESC,
Mauro Carvalho Chehab62f1aa92009-08-29 09:01:54 -03001915 [0x13] = KEY_CYCLEWINDOWS, /* desktop */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001916 [0x11] = KEY_TAB,
1917 [0x19] = KEY_SWITCHVIDEOMODE, /* switch */
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001918
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001919 [0x1a] = KEY_MENU,
1920 [0x1b] = KEY_ZOOM, /* fullscreen */
1921 [0x44] = KEY_TIME, /* time shift */
1922 [0x40] = KEY_MODE, /* source */
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001923
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001924 [0x5a] = KEY_RECORD,
1925 [0x42] = KEY_PLAY, /* play/pause */
1926 [0x45] = KEY_STOP,
1927 [0x43] = KEY_CAMERA, /* camera icon */
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001928
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001929 [0x48] = KEY_REWIND,
1930 [0x4a] = KEY_FASTFORWARD,
1931 [0x49] = KEY_PREVIOUS,
1932 [0x4b] = KEY_NEXT,
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001933
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001934 [0x4c] = KEY_FAVORITES, /* tv wall */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001935 [0x4d] = KEY_SOUND, /* DVD sound */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001936 [0x4e] = KEY_LANGUAGE, /* DVD lang */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001937 [0x4f] = KEY_TEXT, /* DVD text */
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001938
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001939 [0x50] = KEY_SLEEP, /* shutdown */
1940 [0x51] = KEY_MODE, /* stereo > main */
1941 [0x52] = KEY_SELECT, /* stereo > sap */
1942 [0x53] = KEY_PROG1, /* teletext */
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001943
1944
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001945 [0x59] = KEY_RED, /* AP1 */
1946 [0x41] = KEY_GREEN, /* AP2 */
1947 [0x47] = KEY_YELLOW, /* AP3 */
1948 [0x57] = KEY_BLUE, /* AP4 */
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001949};
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001950EXPORT_SYMBOL_GPL(ir_codes_encore_enltv);
Ville-Pekka Vainioae1942c2007-01-12 14:06:21 -03001951
Mauro Carvalho Chehab7d341a62008-08-05 10:14:13 -03001952/* Encore ENLTV2-FM - silver plastic - "Wand Media" written at the botton
1953 Mauro Carvalho Chehab <mchehab@infradead.org> */
1954IR_KEYTAB_TYPE ir_codes_encore_enltv2[IR_KEYTAB_SIZE] = {
1955 [0x4c] = KEY_POWER2,
1956 [0x4a] = KEY_TUNER,
1957 [0x40] = KEY_1,
1958 [0x60] = KEY_2,
1959 [0x50] = KEY_3,
1960 [0x70] = KEY_4,
1961 [0x48] = KEY_5,
1962 [0x68] = KEY_6,
1963 [0x58] = KEY_7,
1964 [0x78] = KEY_8,
1965 [0x44] = KEY_9,
1966 [0x54] = KEY_0,
1967
1968 [0x64] = KEY_LAST, /* +100 */
1969 [0x4e] = KEY_AGAIN, /* Recall */
1970
1971 [0x6c] = KEY_SWITCHVIDEOMODE, /* Video Source */
1972 [0x5e] = KEY_MENU,
1973 [0x56] = KEY_SCREEN,
1974 [0x7a] = KEY_SETUP,
1975
1976 [0x46] = KEY_MUTE,
1977 [0x5c] = KEY_MODE, /* Stereo */
1978 [0x74] = KEY_INFO,
1979 [0x7c] = KEY_CLEAR,
1980
1981 [0x55] = KEY_UP,
1982 [0x49] = KEY_DOWN,
1983 [0x7e] = KEY_LEFT,
1984 [0x59] = KEY_RIGHT,
1985 [0x6a] = KEY_ENTER,
1986
1987 [0x42] = KEY_VOLUMEUP,
1988 [0x62] = KEY_VOLUMEDOWN,
1989 [0x52] = KEY_CHANNELUP,
1990 [0x72] = KEY_CHANNELDOWN,
1991
1992 [0x41] = KEY_RECORD,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001993 [0x51] = KEY_SHUFFLE, /* Snapshot */
1994 [0x75] = KEY_TIME, /* Timeshift */
1995 [0x71] = KEY_TV2, /* PIP */
Mauro Carvalho Chehab7d341a62008-08-05 10:14:13 -03001996
1997 [0x45] = KEY_REWIND,
1998 [0x6f] = KEY_PAUSE,
1999 [0x7d] = KEY_FORWARD,
2000 [0x79] = KEY_STOP,
2001};
2002EXPORT_SYMBOL_GPL(ir_codes_encore_enltv2);
2003
Ville-Pekka Vainio28aedb82007-04-14 15:38:23 -03002004/* for the Technotrend 1500 bundled remotes (grey and black): */
Ville-Pekka Vainioae1942c2007-01-12 14:06:21 -03002005IR_KEYTAB_TYPE ir_codes_tt_1500[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002006 [0x01] = KEY_POWER,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002007 [0x02] = KEY_SHUFFLE, /* ? double-arrow key */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002008 [0x03] = KEY_1,
2009 [0x04] = KEY_2,
2010 [0x05] = KEY_3,
2011 [0x06] = KEY_4,
2012 [0x07] = KEY_5,
2013 [0x08] = KEY_6,
2014 [0x09] = KEY_7,
2015 [0x0a] = KEY_8,
2016 [0x0b] = KEY_9,
2017 [0x0c] = KEY_0,
2018 [0x0d] = KEY_UP,
2019 [0x0e] = KEY_LEFT,
2020 [0x0f] = KEY_OK,
2021 [0x10] = KEY_RIGHT,
2022 [0x11] = KEY_DOWN,
2023 [0x12] = KEY_INFO,
2024 [0x13] = KEY_EXIT,
2025 [0x14] = KEY_RED,
2026 [0x15] = KEY_GREEN,
2027 [0x16] = KEY_YELLOW,
2028 [0x17] = KEY_BLUE,
2029 [0x18] = KEY_MUTE,
2030 [0x19] = KEY_TEXT,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002031 [0x1a] = KEY_MODE, /* ? TV/Radio */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002032 [0x21] = KEY_OPTION,
2033 [0x22] = KEY_EPG,
2034 [0x23] = KEY_CHANNELUP,
2035 [0x24] = KEY_CHANNELDOWN,
2036 [0x25] = KEY_VOLUMEUP,
2037 [0x26] = KEY_VOLUMEDOWN,
2038 [0x27] = KEY_SETUP,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002039 [0x3a] = KEY_RECORD, /* these keys are only in the black remote */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002040 [0x3b] = KEY_PLAY,
2041 [0x3c] = KEY_STOP,
2042 [0x3d] = KEY_REWIND,
2043 [0x3e] = KEY_PAUSE,
2044 [0x3f] = KEY_FORWARD,
Ville-Pekka Vainioae1942c2007-01-12 14:06:21 -03002045};
Ville-Pekka Vainioae1942c2007-01-12 14:06:21 -03002046EXPORT_SYMBOL_GPL(ir_codes_tt_1500);
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002047
Michael Krufky3c443582007-08-24 01:07:12 -03002048/* DViCO FUSION HDTV MCE remote */
2049IR_KEYTAB_TYPE ir_codes_fusionhdtv_mce[IR_KEYTAB_SIZE] = {
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002050
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002051 [0x0b] = KEY_1,
2052 [0x17] = KEY_2,
2053 [0x1b] = KEY_3,
2054 [0x07] = KEY_4,
2055 [0x50] = KEY_5,
2056 [0x54] = KEY_6,
2057 [0x48] = KEY_7,
2058 [0x4c] = KEY_8,
2059 [0x58] = KEY_9,
2060 [0x03] = KEY_0,
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002061
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002062 [0x5e] = KEY_OK,
2063 [0x51] = KEY_UP,
2064 [0x53] = KEY_DOWN,
2065 [0x5b] = KEY_LEFT,
2066 [0x5f] = KEY_RIGHT,
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002067
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002068 [0x02] = KEY_TV, /* Labeled DTV on remote */
2069 [0x0e] = KEY_MP3,
2070 [0x1a] = KEY_DVD,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002071 [0x1e] = KEY_FAVORITES, /* Labeled CPF on remote */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002072 [0x16] = KEY_SETUP,
2073 [0x46] = KEY_POWER2, /* TV On/Off button on remote */
2074 [0x0a] = KEY_EPG, /* Labeled Guide on remote */
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002075
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002076 [0x49] = KEY_BACK,
2077 [0x59] = KEY_INFO, /* Labeled MORE on remote */
2078 [0x4d] = KEY_MENU, /* Labeled DVDMENU on remote */
2079 [0x55] = KEY_CYCLEWINDOWS, /* Labeled ALT-TAB on remote */
Michael Krufky3c443582007-08-24 01:07:12 -03002080
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002081 [0x0f] = KEY_PREVIOUSSONG, /* Labeled |<< REPLAY on remote */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002082 [0x12] = KEY_NEXTSONG, /* Labeled >>| SKIP on remote */
2083 [0x42] = KEY_ENTER, /* Labeled START with a green
2084 MS windows logo on remote */
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002085
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002086 [0x15] = KEY_VOLUMEUP,
2087 [0x05] = KEY_VOLUMEDOWN,
2088 [0x11] = KEY_CHANNELUP,
2089 [0x09] = KEY_CHANNELDOWN,
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002090
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002091 [0x52] = KEY_CAMERA,
2092 [0x5a] = KEY_TUNER,
2093 [0x19] = KEY_OPEN,
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002094
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002095 [0x13] = KEY_MODE, /* 4:3 16:9 select */
2096 [0x1f] = KEY_ZOOM,
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002097
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002098 [0x43] = KEY_REWIND,
2099 [0x47] = KEY_PLAYPAUSE,
2100 [0x4f] = KEY_FASTFORWARD,
2101 [0x57] = KEY_MUTE,
2102 [0x0d] = KEY_STOP,
2103 [0x01] = KEY_RECORD,
2104 [0x4e] = KEY_POWER,
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002105};
Michael Krufky3c443582007-08-24 01:07:12 -03002106EXPORT_SYMBOL_GPL(ir_codes_fusionhdtv_mce);
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002107
Steven Toth91211062008-01-22 01:00:33 -03002108/* Pinnacle PCTV HD 800i mini remote */
2109IR_KEYTAB_TYPE ir_codes_pinnacle_pctv_hd[IR_KEYTAB_SIZE] = {
2110
2111 [0x0f] = KEY_1,
2112 [0x15] = KEY_2,
2113 [0x10] = KEY_3,
2114 [0x18] = KEY_4,
2115 [0x1b] = KEY_5,
2116 [0x1e] = KEY_6,
2117 [0x11] = KEY_7,
2118 [0x21] = KEY_8,
2119 [0x12] = KEY_9,
2120 [0x27] = KEY_0,
2121
2122 [0x24] = KEY_ZOOM,
2123 [0x2a] = KEY_SUBTITLE,
2124
2125 [0x00] = KEY_MUTE,
2126 [0x01] = KEY_ENTER, /* Pinnacle Logo */
2127 [0x39] = KEY_POWER,
2128
2129 [0x03] = KEY_VOLUMEUP,
2130 [0x09] = KEY_VOLUMEDOWN,
2131 [0x06] = KEY_CHANNELUP,
2132 [0x0c] = KEY_CHANNELDOWN,
2133
2134 [0x2d] = KEY_REWIND,
2135 [0x30] = KEY_PLAYPAUSE,
2136 [0x33] = KEY_FASTFORWARD,
2137 [0x3c] = KEY_STOP,
2138 [0x36] = KEY_RECORD,
2139 [0x3f] = KEY_EPG, /* Labeled "?" */
2140};
2141EXPORT_SYMBOL_GPL(ir_codes_pinnacle_pctv_hd);
2142
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002143/*
2144 * Igor Kuznetsov <igk72@ya.ru>
2145 * Andrey J. Melnikov <temnota@kmv.ru>
2146 *
2147 * Keytable is used by BeholdTV 60x series, M6 series at
2148 * least, and probably other cards too.
2149 * The "ascii-art picture" below (in comments, first row
2150 * is the keycode in hex, and subsequent row(s) shows
2151 * the button labels (several variants when appropriate)
2152 * helps to descide which keycodes to assign to the buttons.
2153 */
2154IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE] = {
2155
2156 /* 0x1c 0x12 *
2157 * TV/FM POWER *
2158 * */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002159 [0x1c] = KEY_TUNER, /* XXX KEY_TV / KEY_RADIO */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002160 [0x12] = KEY_POWER,
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002161
2162 /* 0x01 0x02 0x03 *
2163 * 1 2 3 *
2164 * *
2165 * 0x04 0x05 0x06 *
2166 * 4 5 6 *
2167 * *
2168 * 0x07 0x08 0x09 *
2169 * 7 8 9 *
2170 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002171 [0x01] = KEY_1,
2172 [0x02] = KEY_2,
2173 [0x03] = KEY_3,
2174 [0x04] = KEY_4,
2175 [0x05] = KEY_5,
2176 [0x06] = KEY_6,
2177 [0x07] = KEY_7,
2178 [0x08] = KEY_8,
2179 [0x09] = KEY_9,
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002180
2181 /* 0x0a 0x00 0x17 *
2182 * RECALL 0 MODE *
2183 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002184 [0x0a] = KEY_AGAIN,
2185 [0x00] = KEY_0,
2186 [0x17] = KEY_MODE,
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002187
2188 /* 0x14 0x10 *
2189 * ASPECT FULLSCREEN *
2190 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002191 [0x14] = KEY_SCREEN,
2192 [0x10] = KEY_ZOOM,
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002193
2194 /* 0x0b *
2195 * Up *
2196 * *
2197 * 0x18 0x16 0x0c *
2198 * Left Ok Right *
2199 * *
2200 * 0x015 *
2201 * Down *
2202 * */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002203 [0x0b] = KEY_CHANNELUP, /* XXX KEY_UP */
2204 [0x18] = KEY_VOLUMEDOWN, /* XXX KEY_LEFT */
2205 [0x16] = KEY_OK, /* XXX KEY_ENTER */
2206 [0x0c] = KEY_VOLUMEUP, /* XXX KEY_RIGHT */
2207 [0x15] = KEY_CHANNELDOWN, /* XXX KEY_DOWN */
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002208
2209 /* 0x11 0x0d *
2210 * MUTE INFO *
2211 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002212 [0x11] = KEY_MUTE,
2213 [0x0d] = KEY_INFO,
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002214
2215 /* 0x0f 0x1b 0x1a *
2216 * RECORD PLAY/PAUSE STOP *
2217 * *
2218 * 0x0e 0x1f 0x1e *
2219 *TELETEXT AUDIO SOURCE *
2220 * RED YELLOW *
2221 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002222 [0x0f] = KEY_RECORD,
2223 [0x1b] = KEY_PLAYPAUSE,
2224 [0x1a] = KEY_STOP,
2225 [0x0e] = KEY_TEXT,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002226 [0x1f] = KEY_RED, /*XXX KEY_AUDIO */
2227 [0x1e] = KEY_YELLOW, /*XXX KEY_SOURCE */
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002228
2229 /* 0x1d 0x13 0x19 *
2230 * SLEEP PREVIEW DVB *
2231 * GREEN BLUE *
2232 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002233 [0x1d] = KEY_SLEEP,
2234 [0x13] = KEY_GREEN,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002235 [0x19] = KEY_BLUE, /* XXX KEY_SAT */
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002236
2237 /* 0x58 0x5c *
2238 * FREEZE SNAPSHOT *
2239 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002240 [0x58] = KEY_SLOW,
2241 [0x5c] = KEY_SAVE,
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002242
2243};
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002244EXPORT_SYMBOL_GPL(ir_codes_behold);
Adrian Pardinif0ba3562008-02-11 12:40:53 -03002245
Dmitry Belimovb34dddb2008-04-23 14:09:08 -03002246/* Beholder Intl. Ltd. 2008
2247 * Dmitry Belimov d.belimov@google.com
2248 * Keytable is used by BeholdTV Columbus
2249 * The "ascii-art picture" below (in comments, first row
2250 * is the keycode in hex, and subsequent row(s) shows
2251 * the button labels (several variants when appropriate)
2252 * helps to descide which keycodes to assign to the buttons.
2253 */
2254IR_KEYTAB_TYPE ir_codes_behold_columbus[IR_KEYTAB_SIZE] = {
2255
2256 /* 0x13 0x11 0x1C 0x12 *
2257 * Mute Source TV/FM Power *
2258 * */
2259
2260 [0x13] = KEY_MUTE,
2261 [0x11] = KEY_PROPS,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002262 [0x1C] = KEY_TUNER, /* KEY_TV/KEY_RADIO */
Dmitry Belimovb34dddb2008-04-23 14:09:08 -03002263 [0x12] = KEY_POWER,
2264
2265 /* 0x01 0x02 0x03 0x0D *
2266 * 1 2 3 Stereo *
2267 * *
2268 * 0x04 0x05 0x06 0x19 *
2269 * 4 5 6 Snapshot *
2270 * *
2271 * 0x07 0x08 0x09 0x10 *
2272 * 7 8 9 Zoom *
2273 * */
2274 [0x01] = KEY_1,
2275 [0x02] = KEY_2,
2276 [0x03] = KEY_3,
2277 [0x0D] = KEY_SETUP, /* Setup key */
2278 [0x04] = KEY_4,
2279 [0x05] = KEY_5,
2280 [0x06] = KEY_6,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002281 [0x19] = KEY_BOOKMARKS, /* Snapshot key */
Dmitry Belimovb34dddb2008-04-23 14:09:08 -03002282 [0x07] = KEY_7,
2283 [0x08] = KEY_8,
2284 [0x09] = KEY_9,
2285 [0x10] = KEY_ZOOM,
2286
2287 /* 0x0A 0x00 0x0B 0x0C *
2288 * RECALL 0 ChannelUp VolumeUp *
2289 * */
2290 [0x0A] = KEY_AGAIN,
2291 [0x00] = KEY_0,
2292 [0x0B] = KEY_CHANNELUP,
2293 [0x0C] = KEY_VOLUMEUP,
2294
2295 /* 0x1B 0x1D 0x15 0x18 *
2296 * Timeshift Record ChannelDown VolumeDown *
2297 * */
2298
2299 [0x1B] = KEY_REWIND,
2300 [0x1D] = KEY_RECORD,
2301 [0x15] = KEY_CHANNELDOWN,
2302 [0x18] = KEY_VOLUMEDOWN,
2303
2304 /* 0x0E 0x1E 0x0F 0x1A *
2305 * Stop Pause Previouse Next *
2306 * */
2307
2308 [0x0E] = KEY_STOP,
2309 [0x1E] = KEY_PAUSE,
2310 [0x0F] = KEY_PREVIOUS,
2311 [0x1A] = KEY_NEXT,
2312
2313};
2314EXPORT_SYMBOL_GPL(ir_codes_behold_columbus);
2315
Adrian Pardinif0ba3562008-02-11 12:40:53 -03002316/*
2317 * Remote control for the Genius TVGO A11MCE
2318 * Adrian Pardini <pardo.bsso@gmail.com>
2319 */
2320IR_KEYTAB_TYPE ir_codes_genius_tvgo_a11mce[IR_KEYTAB_SIZE] = {
2321 /* Keys 0 to 9 */
2322 [0x48] = KEY_0,
2323 [0x09] = KEY_1,
2324 [0x1d] = KEY_2,
2325 [0x1f] = KEY_3,
2326 [0x19] = KEY_4,
2327 [0x1b] = KEY_5,
2328 [0x11] = KEY_6,
2329 [0x17] = KEY_7,
2330 [0x12] = KEY_8,
2331 [0x16] = KEY_9,
2332
2333 [0x54] = KEY_RECORD, /* recording */
2334 [0x06] = KEY_MUTE, /* mute */
2335 [0x10] = KEY_POWER,
2336 [0x40] = KEY_LAST, /* recall */
2337 [0x4c] = KEY_CHANNELUP, /* channel / program + */
2338 [0x00] = KEY_CHANNELDOWN, /* channel / program - */
2339 [0x0d] = KEY_VOLUMEUP,
2340 [0x15] = KEY_VOLUMEDOWN,
2341 [0x4d] = KEY_OK, /* also labeled as Pause */
2342 [0x1c] = KEY_ZOOM, /* full screen and Stop*/
2343 [0x02] = KEY_MODE, /* AV Source or Rewind*/
2344 [0x04] = KEY_LIST, /* -/-- */
2345 /* small arrows above numbers */
2346 [0x1a] = KEY_NEXT, /* also Fast Forward */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002347 [0x0e] = KEY_PREVIOUS, /* also Rewind */
Adrian Pardinif0ba3562008-02-11 12:40:53 -03002348 /* these are in a rather non standard layout and have
2349 an alternate name written */
2350 [0x1e] = KEY_UP, /* Video Setting */
2351 [0x0a] = KEY_DOWN, /* Video Default */
2352 [0x05] = KEY_LEFT, /* Snapshot */
2353 [0x0c] = KEY_RIGHT, /* Hide Panel */
2354 /* Four buttons without label */
2355 [0x49] = KEY_RED,
2356 [0x0b] = KEY_GREEN,
2357 [0x13] = KEY_YELLOW,
2358 [0x50] = KEY_BLUE,
2359};
2360EXPORT_SYMBOL_GPL(ir_codes_genius_tvgo_a11mce);
Dâniel Fragaba928032008-04-08 19:56:44 -03002361
2362/*
2363 * Remote control for Powercolor Real Angel 330
2364 * Daniel Fraga <fragabr@gmail.com>
2365 */
2366IR_KEYTAB_TYPE ir_codes_powercolor_real_angel[IR_KEYTAB_SIZE] = {
2367 [0x38] = KEY_SWITCHVIDEOMODE, /* switch inputs */
2368 [0x0c] = KEY_MEDIA, /* Turn ON/OFF App */
2369 [0x00] = KEY_0,
2370 [0x01] = KEY_1,
2371 [0x02] = KEY_2,
2372 [0x03] = KEY_3,
2373 [0x04] = KEY_4,
2374 [0x05] = KEY_5,
2375 [0x06] = KEY_6,
2376 [0x07] = KEY_7,
2377 [0x08] = KEY_8,
2378 [0x09] = KEY_9,
2379 [0x0a] = KEY_DIGITS, /* single, double, tripple digit */
2380 [0x29] = KEY_PREVIOUS, /* previous channel */
2381 [0x12] = KEY_BRIGHTNESSUP,
2382 [0x13] = KEY_BRIGHTNESSDOWN,
2383 [0x2b] = KEY_MODE, /* stereo/mono */
2384 [0x2c] = KEY_TEXT, /* teletext */
2385 [0x20] = KEY_UP, /* channel up */
2386 [0x21] = KEY_DOWN, /* channel down */
2387 [0x10] = KEY_RIGHT, /* volume up */
2388 [0x11] = KEY_LEFT, /* volume down */
2389 [0x0d] = KEY_MUTE,
2390 [0x1f] = KEY_RECORD,
2391 [0x17] = KEY_PLAY,
2392 [0x16] = KEY_PAUSE,
2393 [0x0b] = KEY_STOP,
2394 [0x27] = KEY_FASTFORWARD,
2395 [0x26] = KEY_REWIND,
2396 [0x1e] = KEY_SEARCH, /* autoscan */
2397 [0x0e] = KEY_SHUFFLE, /* snapshot */
2398 [0x2d] = KEY_SETUP,
2399 [0x0f] = KEY_SCREEN, /* full screen */
2400 [0x14] = KEY_RADIO, /* FM radio */
2401 [0x25] = KEY_POWER, /* power */
2402};
2403EXPORT_SYMBOL_GPL(ir_codes_powercolor_real_angel);
Tim Farrington6e501a32008-06-15 13:33:42 -03002404
Mauro Carvalho Chehab26d5f3a2008-12-07 13:19:29 -03002405/* Kworld Plus TV Analog Lite PCI IR
2406 Mauro Carvalho Chehab <mchehab@infradead.org>
2407 */
2408IR_KEYTAB_TYPE ir_codes_kworld_plus_tv_analog[IR_KEYTAB_SIZE] = {
2409 [0x0c] = KEY_PROG1, /* Kworld key */
2410 [0x16] = KEY_CLOSECD, /* -> ) */
2411 [0x1d] = KEY_POWER2,
2412
2413 [0x00] = KEY_1,
2414 [0x01] = KEY_2,
2415 [0x02] = KEY_3, /* Two keys have the same code: 3 and left */
2416 [0x03] = KEY_4, /* Two keys have the same code: 3 and right */
2417 [0x04] = KEY_5,
2418 [0x05] = KEY_6,
2419 [0x06] = KEY_7,
2420 [0x07] = KEY_8,
2421 [0x08] = KEY_9,
2422 [0x0a] = KEY_0,
2423
2424 [0x09] = KEY_AGAIN,
2425 [0x14] = KEY_MUTE,
2426
2427 [0x20] = KEY_UP,
2428 [0x21] = KEY_DOWN,
2429 [0x0b] = KEY_ENTER,
2430
2431 [0x10] = KEY_CHANNELUP,
2432 [0x11] = KEY_CHANNELDOWN,
2433
2434 /* Couldn't map key left/key right since those
2435 conflict with '3' and '4' scancodes
2436 I dunno what the original driver does
2437 */
2438
2439 [0x13] = KEY_VOLUMEUP,
2440 [0x12] = KEY_VOLUMEDOWN,
2441
2442 /* The lower part of the IR
2443 There are several duplicated keycodes there.
2444 Most of them conflict with digits.
2445 Add mappings just to the unused scancodes.
2446 Somehow, the original driver has a way to know,
2447 but this doesn't seem to be on some GPIO.
2448 Also, it is not related to the time between keyup
2449 and keydown.
2450 */
2451 [0x19] = KEY_PAUSE, /* Timeshift */
2452 [0x1a] = KEY_STOP,
2453 [0x1b] = KEY_RECORD,
2454
2455 [0x22] = KEY_TEXT,
2456
2457 [0x15] = KEY_AUDIO, /* ((*)) */
2458 [0x0f] = KEY_ZOOM,
2459 [0x1c] = KEY_SHUFFLE, /* snapshot */
2460
2461 [0x18] = KEY_RED, /* B */
2462 [0x23] = KEY_GREEN, /* C */
2463};
2464EXPORT_SYMBOL_GPL(ir_codes_kworld_plus_tv_analog);
2465
Mauro Carvalho Chehab9fc2c5e2009-02-11 14:15:14 -03002466/* Kaiomy TVnPC U2
2467 Mauro Carvalho Chehab <mchehab@infradead.org>
2468 */
2469IR_KEYTAB_TYPE ir_codes_kaiomy[IR_KEYTAB_SIZE] = {
2470 [0x43] = KEY_POWER2,
2471 [0x01] = KEY_LIST,
2472 [0x0b] = KEY_ZOOM,
2473 [0x03] = KEY_POWER,
2474
2475 [0x04] = KEY_1,
2476 [0x08] = KEY_2,
2477 [0x02] = KEY_3,
2478
2479 [0x0f] = KEY_4,
2480 [0x05] = KEY_5,
2481 [0x06] = KEY_6,
2482
2483 [0x0c] = KEY_7,
2484 [0x0d] = KEY_8,
2485 [0x0a] = KEY_9,
2486
2487 [0x11] = KEY_0,
2488
2489 [0x09] = KEY_CHANNELUP,
2490 [0x07] = KEY_CHANNELDOWN,
2491
2492 [0x0e] = KEY_VOLUMEUP,
2493 [0x13] = KEY_VOLUMEDOWN,
2494
2495 [0x10] = KEY_HOME,
2496 [0x12] = KEY_ENTER,
2497
2498 [0x14] = KEY_RECORD,
2499 [0x15] = KEY_STOP,
2500 [0x16] = KEY_PLAY,
2501 [0x17] = KEY_MUTE,
2502
2503 [0x18] = KEY_UP,
2504 [0x19] = KEY_DOWN,
2505 [0x1a] = KEY_LEFT,
2506 [0x1b] = KEY_RIGHT,
2507
2508 [0x1c] = KEY_RED,
2509 [0x1d] = KEY_GREEN,
2510 [0x1e] = KEY_YELLOW,
2511 [0x1f] = KEY_BLUE,
2512};
2513EXPORT_SYMBOL_GPL(ir_codes_kaiomy);
2514
Tim Farrington6e501a32008-06-15 13:33:42 -03002515IR_KEYTAB_TYPE ir_codes_avermedia_a16d[IR_KEYTAB_SIZE] = {
2516 [0x20] = KEY_LIST,
2517 [0x00] = KEY_POWER,
2518 [0x28] = KEY_1,
2519 [0x18] = KEY_2,
2520 [0x38] = KEY_3,
2521 [0x24] = KEY_4,
2522 [0x14] = KEY_5,
2523 [0x34] = KEY_6,
2524 [0x2c] = KEY_7,
2525 [0x1c] = KEY_8,
2526 [0x3c] = KEY_9,
2527 [0x12] = KEY_SUBTITLE,
2528 [0x22] = KEY_0,
2529 [0x32] = KEY_REWIND,
2530 [0x3a] = KEY_SHUFFLE,
2531 [0x02] = KEY_PRINT,
2532 [0x11] = KEY_CHANNELDOWN,
2533 [0x31] = KEY_CHANNELUP,
2534 [0x0c] = KEY_ZOOM,
2535 [0x1e] = KEY_VOLUMEDOWN,
2536 [0x3e] = KEY_VOLUMEUP,
2537 [0x0a] = KEY_MUTE,
2538 [0x04] = KEY_AUDIO,
2539 [0x26] = KEY_RECORD,
2540 [0x06] = KEY_PLAY,
2541 [0x36] = KEY_STOP,
2542 [0x16] = KEY_PAUSE,
2543 [0x2e] = KEY_REWIND,
2544 [0x0e] = KEY_FASTFORWARD,
2545 [0x30] = KEY_TEXT,
2546 [0x21] = KEY_GREEN,
2547 [0x01] = KEY_BLUE,
2548 [0x08] = KEY_EPG,
2549 [0x2a] = KEY_MENU,
2550};
2551EXPORT_SYMBOL_GPL(ir_codes_avermedia_a16d);
Mauro Carvalho Chehabbf1ece62008-06-26 17:03:00 -03002552
2553/* Encore ENLTV-FM v5.3
2554 Mauro Carvalho Chehab <mchehab@infradead.org>
2555 */
2556IR_KEYTAB_TYPE ir_codes_encore_enltv_fm53[IR_KEYTAB_SIZE] = {
2557 [0x10] = KEY_POWER2,
2558 [0x06] = KEY_MUTE,
2559
2560 [0x09] = KEY_1,
2561 [0x1d] = KEY_2,
2562 [0x1f] = KEY_3,
2563 [0x19] = KEY_4,
2564 [0x1b] = KEY_5,
2565 [0x11] = KEY_6,
2566 [0x17] = KEY_7,
2567 [0x12] = KEY_8,
2568 [0x16] = KEY_9,
2569 [0x48] = KEY_0,
2570
2571 [0x04] = KEY_LIST, /* -/-- */
2572 [0x40] = KEY_LAST, /* recall */
2573
2574 [0x02] = KEY_MODE, /* TV/AV */
2575 [0x05] = KEY_SHUFFLE, /* SNAPSHOT */
2576
2577 [0x4c] = KEY_CHANNELUP, /* UP */
2578 [0x00] = KEY_CHANNELDOWN, /* DOWN */
2579 [0x0d] = KEY_VOLUMEUP, /* RIGHT */
2580 [0x15] = KEY_VOLUMEDOWN, /* LEFT */
2581 [0x49] = KEY_ENTER, /* OK */
2582
2583 [0x54] = KEY_RECORD,
2584 [0x4d] = KEY_PLAY, /* pause */
2585
2586 [0x1e] = KEY_UP, /* video setting */
2587 [0x0e] = KEY_RIGHT, /* <- */
2588 [0x1a] = KEY_LEFT, /* -> */
2589
2590 [0x0a] = KEY_DOWN, /* video default */
2591 [0x0c] = KEY_ZOOM, /* hide pannel */
2592 [0x47] = KEY_SLEEP, /* shutdown */
2593};
2594EXPORT_SYMBOL_GPL(ir_codes_encore_enltv_fm53);
Mauro Carvalho Chehab9b000192008-06-26 17:03:00 -03002595
2596/* Zogis Real Audio 220 - 32 keys IR */
2597IR_KEYTAB_TYPE ir_codes_real_audio_220_32_keys[IR_KEYTAB_SIZE] = {
2598 [0x1c] = KEY_RADIO,
2599 [0x12] = KEY_POWER2,
2600
2601 [0x01] = KEY_1,
2602 [0x02] = KEY_2,
2603 [0x03] = KEY_3,
2604 [0x04] = KEY_4,
2605 [0x05] = KEY_5,
2606 [0x06] = KEY_6,
2607 [0x07] = KEY_7,
2608 [0x08] = KEY_8,
2609 [0x09] = KEY_9,
2610 [0x00] = KEY_0,
2611
2612 [0x0c] = KEY_VOLUMEUP,
2613 [0x18] = KEY_VOLUMEDOWN,
2614 [0x0b] = KEY_CHANNELUP,
2615 [0x15] = KEY_CHANNELDOWN,
2616 [0x16] = KEY_ENTER,
2617
2618 [0x11] = KEY_LIST, /* Source */
2619 [0x0d] = KEY_AUDIO, /* stereo */
2620
2621 [0x0f] = KEY_PREVIOUS, /* Prev */
2622 [0x1b] = KEY_PAUSE, /* Timeshift */
2623 [0x1a] = KEY_NEXT, /* Next */
2624
2625 [0x0e] = KEY_STOP,
2626 [0x1f] = KEY_PLAY,
2627 [0x1e] = KEY_PLAYPAUSE, /* Pause */
2628
2629 [0x1d] = KEY_RECORD,
2630 [0x13] = KEY_MUTE,
2631 [0x19] = KEY_SHUFFLE, /* Snapshot */
2632
2633};
2634EXPORT_SYMBOL_GPL(ir_codes_real_audio_220_32_keys);
Devin Heitmueller60245e82008-11-16 08:03:53 -03002635
2636/* ATI TV Wonder HD 600 USB
2637 Devin Heitmueller <devin.heitmueller@gmail.com>
2638 */
2639IR_KEYTAB_TYPE ir_codes_ati_tv_wonder_hd_600[IR_KEYTAB_SIZE] = {
2640 [0x00] = KEY_RECORD, /* Row 1 */
2641 [0x01] = KEY_PLAYPAUSE,
2642 [0x02] = KEY_STOP,
2643 [0x03] = KEY_POWER,
2644 [0x04] = KEY_PREVIOUS, /* Row 2 */
2645 [0x05] = KEY_REWIND,
2646 [0x06] = KEY_FORWARD,
2647 [0x07] = KEY_NEXT,
2648 [0x08] = KEY_EPG, /* Row 3 */
2649 [0x09] = KEY_HOME,
2650 [0x0a] = KEY_MENU,
2651 [0x0b] = KEY_CHANNELUP,
2652 [0x0c] = KEY_BACK, /* Row 4 */
2653 [0x0d] = KEY_UP,
2654 [0x0e] = KEY_INFO,
2655 [0x0f] = KEY_CHANNELDOWN,
2656 [0x10] = KEY_LEFT, /* Row 5 */
2657 [0x11] = KEY_SELECT,
2658 [0x12] = KEY_RIGHT,
2659 [0x13] = KEY_VOLUMEUP,
2660 [0x14] = KEY_LAST, /* Row 6 */
2661 [0x15] = KEY_DOWN,
2662 [0x16] = KEY_MUTE,
2663 [0x17] = KEY_VOLUMEDOWN,
2664};
Devin Heitmueller60245e82008-11-16 08:03:53 -03002665EXPORT_SYMBOL_GPL(ir_codes_ati_tv_wonder_hd_600);
Igor M. Liplianinb72857d2009-02-26 03:49:44 -03002666
2667/* DVBWorld remotes
2668 Igor M. Liplianin <liplianin@me.by>
2669 */
2670IR_KEYTAB_TYPE ir_codes_dm1105_nec[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab62f1aa92009-08-29 09:01:54 -03002671 [0x0a] = KEY_POWER2, /* power */
2672 [0x0c] = KEY_MUTE, /* mute */
Igor M. Liplianinb72857d2009-02-26 03:49:44 -03002673 [0x11] = KEY_1,
2674 [0x12] = KEY_2,
2675 [0x13] = KEY_3,
2676 [0x14] = KEY_4,
2677 [0x15] = KEY_5,
2678 [0x16] = KEY_6,
2679 [0x17] = KEY_7,
2680 [0x18] = KEY_8,
2681 [0x19] = KEY_9,
2682 [0x10] = KEY_0,
Mauro Carvalho Chehab62f1aa92009-08-29 09:01:54 -03002683 [0x1c] = KEY_PAGEUP, /* ch+ */
2684 [0x0f] = KEY_PAGEDOWN, /* ch- */
2685 [0x1a] = KEY_VOLUMEUP, /* vol+ */
2686 [0x0e] = KEY_VOLUMEDOWN, /* vol- */
2687 [0x04] = KEY_RECORD, /* rec */
2688 [0x09] = KEY_CHANNEL, /* fav */
2689 [0x08] = KEY_BACKSPACE, /* rewind */
2690 [0x07] = KEY_FASTFORWARD, /* fast */
2691 [0x0b] = KEY_PAUSE, /* pause */
2692 [0x02] = KEY_ESC, /* cancel */
2693 [0x03] = KEY_TAB, /* tab */
2694 [0x00] = KEY_UP, /* up */
2695 [0x1f] = KEY_ENTER, /* ok */
2696 [0x01] = KEY_DOWN, /* down */
2697 [0x05] = KEY_RECORD, /* cap */
2698 [0x06] = KEY_STOP, /* stop */
2699 [0x40] = KEY_ZOOM, /* full */
2700 [0x1e] = KEY_TV, /* tvmode */
2701 [0x1b] = KEY_B, /* recall */
Igor M. Liplianinb72857d2009-02-26 03:49:44 -03002702};
2703EXPORT_SYMBOL_GPL(ir_codes_dm1105_nec);
Devin Heitmuellera4c47302009-06-20 21:34:42 -03002704
Devin Heitmueller8cd9aae2009-08-03 23:56:51 -03002705
2706/* Terratec Cinergy Hybrid T USB XS
2707 Devin Heitmueller <dheitmueller@linuxtv.org>
2708 */
2709IR_KEYTAB_TYPE ir_codes_terratec_cinergy_xs[IR_KEYTAB_SIZE] = {
2710 [0x41] = KEY_HOME,
2711 [0x01] = KEY_POWER,
2712 [0x42] = KEY_MENU,
2713 [0x02] = KEY_1,
2714 [0x03] = KEY_2,
2715 [0x04] = KEY_3,
2716 [0x43] = KEY_SUBTITLE,
2717 [0x05] = KEY_4,
2718 [0x06] = KEY_5,
2719 [0x07] = KEY_6,
2720 [0x44] = KEY_TEXT,
2721 [0x08] = KEY_7,
2722 [0x09] = KEY_8,
2723 [0x0a] = KEY_9,
2724 [0x45] = KEY_DELETE,
2725 [0x0b] = KEY_TUNER,
2726 [0x0c] = KEY_0,
2727 [0x0d] = KEY_MODE,
2728 [0x46] = KEY_TV,
2729 [0x47] = KEY_DVD,
2730 [0x49] = KEY_VIDEO,
2731 [0x4b] = KEY_AUX,
2732 [0x10] = KEY_UP,
2733 [0x11] = KEY_LEFT,
2734 [0x12] = KEY_OK,
2735 [0x13] = KEY_RIGHT,
2736 [0x14] = KEY_DOWN,
2737 [0x0f] = KEY_EPG,
2738 [0x16] = KEY_INFO,
2739 [0x4d] = KEY_BACKSPACE,
2740 [0x1c] = KEY_VOLUMEUP,
2741 [0x4c] = KEY_PLAY,
2742 [0x1b] = KEY_CHANNELUP,
2743 [0x1e] = KEY_VOLUMEDOWN,
2744 [0x1d] = KEY_MUTE,
2745 [0x1f] = KEY_CHANNELDOWN,
2746 [0x17] = KEY_RED,
2747 [0x18] = KEY_GREEN,
2748 [0x19] = KEY_YELLOW,
2749 [0x1a] = KEY_BLUE,
2750 [0x58] = KEY_RECORD,
2751 [0x48] = KEY_STOP,
2752 [0x40] = KEY_PAUSE,
2753 [0x54] = KEY_LAST,
2754 [0x4e] = KEY_REWIND,
2755 [0x4f] = KEY_FASTFORWARD,
2756 [0x5c] = KEY_NEXT,
2757};
2758EXPORT_SYMBOL_GPL(ir_codes_terratec_cinergy_xs);
2759
Devin Heitmuellera4c47302009-06-20 21:34:42 -03002760/* EVGA inDtube
2761 Devin Heitmueller <devin.heitmueller@gmail.com>
2762 */
2763IR_KEYTAB_TYPE ir_codes_evga_indtube[IR_KEYTAB_SIZE] = {
2764 [0x12] = KEY_POWER,
2765 [0x02] = KEY_MODE, /* TV */
2766 [0x14] = KEY_MUTE,
2767 [0x1a] = KEY_CHANNELUP,
2768 [0x16] = KEY_TV2, /* PIP */
2769 [0x1d] = KEY_VOLUMEUP,
2770 [0x05] = KEY_CHANNELDOWN,
2771 [0x0f] = KEY_PLAYPAUSE,
2772 [0x19] = KEY_VOLUMEDOWN,
2773 [0x1c] = KEY_REWIND,
2774 [0x0d] = KEY_RECORD,
2775 [0x18] = KEY_FORWARD,
2776 [0x1e] = KEY_PREVIOUS,
2777 [0x1b] = KEY_STOP,
2778 [0x1f] = KEY_NEXT,
2779 [0x13] = KEY_CAMERA,
2780};
2781EXPORT_SYMBOL_GPL(ir_codes_evga_indtube);
Igor M. Liplianinecfcfec2009-08-13 21:42:21 -03002782
2783IR_KEYTAB_TYPE ir_codes_videomate_s350[IR_KEYTAB_SIZE] = {
2784 [0x00] = KEY_TV,
2785 [0x01] = KEY_DVD,
2786 [0x04] = KEY_RECORD,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002787 [0x05] = KEY_VIDEO, /* TV/Video */
Igor M. Liplianinecfcfec2009-08-13 21:42:21 -03002788 [0x07] = KEY_STOP,
2789 [0x08] = KEY_PLAYPAUSE,
2790 [0x0a] = KEY_REWIND,
2791 [0x0f] = KEY_FASTFORWARD,
2792 [0x10] = KEY_CHANNELUP,
2793 [0x12] = KEY_VOLUMEUP,
2794 [0x13] = KEY_CHANNELDOWN,
2795 [0x14] = KEY_MUTE,
2796 [0x15] = KEY_VOLUMEDOWN,
2797 [0x16] = KEY_1,
2798 [0x17] = KEY_2,
2799 [0x18] = KEY_3,
2800 [0x19] = KEY_4,
2801 [0x1a] = KEY_5,
2802 [0x1b] = KEY_6,
2803 [0x1c] = KEY_7,
2804 [0x1d] = KEY_8,
2805 [0x1e] = KEY_9,
2806 [0x1f] = KEY_0,
2807 [0x21] = KEY_SLEEP,
2808 [0x24] = KEY_ZOOM,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002809 [0x25] = KEY_LAST, /* Recall */
2810 [0x26] = KEY_SUBTITLE, /* CC */
2811 [0x27] = KEY_LANGUAGE, /* MTS */
2812 [0x29] = KEY_CHANNEL, /* SURF */
Igor M. Liplianinecfcfec2009-08-13 21:42:21 -03002813 [0x2b] = KEY_A,
2814 [0x2c] = KEY_B,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002815 [0x2f] = KEY_SHUFFLE, /* Snapshot */
Igor M. Liplianinecfcfec2009-08-13 21:42:21 -03002816 [0x23] = KEY_RADIO,
2817 [0x02] = KEY_PREVIOUSSONG,
2818 [0x06] = KEY_NEXTSONG,
2819 [0x03] = KEY_EPG,
2820 [0x09] = KEY_SETUP,
2821 [0x22] = KEY_BACKSPACE,
2822 [0x0c] = KEY_UP,
2823 [0x0e] = KEY_DOWN,
2824 [0x0b] = KEY_LEFT,
2825 [0x0d] = KEY_RIGHT,
2826 [0x11] = KEY_ENTER,
2827 [0x20] = KEY_TEXT,
2828};
2829EXPORT_SYMBOL_GPL(ir_codes_videomate_s350);