b43: Add mask/set capability to debugfs MMIO interface
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / drivers / media / common / ir-keymaps.c
bloba3485817e46c9e06b765bda262fdd9f8215b7168
1 /*
4 Keytables for supported remote controls. This file is part of
5 video4linux.
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
22 #include <linux/module.h>
24 #include <linux/input.h>
25 #include <media/ir-common.h>
27 /* empty keytable, can be used as placeholder for not-yet created keytables */
28 IR_KEYTAB_TYPE ir_codes_empty[IR_KEYTAB_SIZE] = {
29 [ 0x2a ] = KEY_COFFEE,
32 EXPORT_SYMBOL_GPL(ir_codes_empty);
34 /* Michal Majchrowicz <mmajchrowicz@gmail.com> */
35 IR_KEYTAB_TYPE ir_codes_proteus_2309[IR_KEYTAB_SIZE] = {
36 /* numeric */
37 [ 0x00 ] = KEY_0,
38 [ 0x01 ] = KEY_1,
39 [ 0x02 ] = KEY_2,
40 [ 0x03 ] = KEY_3,
41 [ 0x04 ] = KEY_4,
42 [ 0x05 ] = KEY_5,
43 [ 0x06 ] = KEY_6,
44 [ 0x07 ] = KEY_7,
45 [ 0x08 ] = KEY_8,
46 [ 0x09 ] = KEY_9,
48 [ 0x5c ] = KEY_POWER, /* power */
49 [ 0x20 ] = KEY_F, /* full screen */
50 [ 0x0f ] = KEY_BACKSPACE, /* recall */
51 [ 0x1b ] = KEY_ENTER, /* mute */
52 [ 0x41 ] = KEY_RECORD, /* record */
53 [ 0x43 ] = KEY_STOP, /* stop */
54 [ 0x16 ] = KEY_S,
55 [ 0x1a ] = KEY_Q, /* off */
56 [ 0x2e ] = KEY_RED,
57 [ 0x1f ] = KEY_DOWN, /* channel - */
58 [ 0x1c ] = KEY_UP, /* channel + */
59 [ 0x10 ] = KEY_LEFT, /* volume - */
60 [ 0x1e ] = KEY_RIGHT, /* volume + */
61 [ 0x14 ] = KEY_F1,
64 EXPORT_SYMBOL_GPL(ir_codes_proteus_2309);
65 /* Matt Jesson <dvb@jesson.eclipse.co.uk */
66 IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE] = {
67 [ 0x28 ] = KEY_0, //'0' / 'enter'
68 [ 0x22 ] = KEY_1, //'1'
69 [ 0x12 ] = KEY_2, //'2' / 'up arrow'
70 [ 0x32 ] = KEY_3, //'3'
71 [ 0x24 ] = KEY_4, //'4' / 'left arrow'
72 [ 0x14 ] = KEY_5, //'5'
73 [ 0x34 ] = KEY_6, //'6' / 'right arrow'
74 [ 0x26 ] = KEY_7, //'7'
75 [ 0x16 ] = KEY_8, //'8' / 'down arrow'
76 [ 0x36 ] = KEY_9, //'9'
78 [ 0x20 ] = KEY_LIST, // 'source'
79 [ 0x10 ] = KEY_TEXT, // 'teletext'
80 [ 0x00 ] = KEY_POWER, // 'power'
81 [ 0x04 ] = KEY_AUDIO, // 'audio'
82 [ 0x06 ] = KEY_ZOOM, // 'full screen'
83 [ 0x18 ] = KEY_VIDEO, // 'display'
84 [ 0x38 ] = KEY_SEARCH, // 'loop'
85 [ 0x08 ] = KEY_INFO, // 'preview'
86 [ 0x2a ] = KEY_REWIND, // 'backward <<'
87 [ 0x1a ] = KEY_FASTFORWARD, // 'forward >>'
88 [ 0x3a ] = KEY_RECORD, // 'capture'
89 [ 0x0a ] = KEY_MUTE, // 'mute'
90 [ 0x2c ] = KEY_RECORD, // 'record'
91 [ 0x1c ] = KEY_PAUSE, // 'pause'
92 [ 0x3c ] = KEY_STOP, // 'stop'
93 [ 0x0c ] = KEY_PLAY, // 'play'
94 [ 0x2e ] = KEY_RED, // 'red'
95 [ 0x01 ] = KEY_BLUE, // 'blue' / 'cancel'
96 [ 0x0e ] = KEY_YELLOW, // 'yellow' / 'ok'
97 [ 0x21 ] = KEY_GREEN, // 'green'
98 [ 0x11 ] = KEY_CHANNELDOWN, // 'channel -'
99 [ 0x31 ] = KEY_CHANNELUP, // 'channel +'
100 [ 0x1e ] = KEY_VOLUMEDOWN, // 'volume -'
101 [ 0x3e ] = KEY_VOLUMEUP, // 'volume +'
104 EXPORT_SYMBOL_GPL(ir_codes_avermedia_dvbt);
106 /* Attila Kondoros <attila.kondoros@chello.hu> */
107 IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE] = {
109 [ 0x01 ] = KEY_1,
110 [ 0x02 ] = KEY_2,
111 [ 0x03 ] = KEY_3,
112 [ 0x04 ] = KEY_4,
113 [ 0x05 ] = KEY_5,
114 [ 0x06 ] = KEY_6,
115 [ 0x07 ] = KEY_7,
116 [ 0x08 ] = KEY_8,
117 [ 0x09 ] = KEY_9,
118 [ 0x00 ] = KEY_0,
119 [ 0x17 ] = KEY_LAST, // +100
120 [ 0x0a ] = KEY_LIST, // recall
123 [ 0x1c ] = KEY_TUNER, // TV/FM
124 [ 0x15 ] = KEY_SEARCH, // scan
125 [ 0x12 ] = KEY_POWER, // power
126 [ 0x1f ] = KEY_VOLUMEDOWN, // vol up
127 [ 0x1b ] = KEY_VOLUMEUP, // vol down
128 [ 0x1e ] = KEY_CHANNELDOWN, // chn up
129 [ 0x1a ] = KEY_CHANNELUP, // chn down
131 [ 0x11 ] = KEY_VIDEO, // video
132 [ 0x0f ] = KEY_ZOOM, // full screen
133 [ 0x13 ] = KEY_MUTE, // mute/unmute
134 [ 0x10 ] = KEY_TEXT, // min
136 [ 0x0d ] = KEY_STOP, // freeze
137 [ 0x0e ] = KEY_RECORD, // record
138 [ 0x1d ] = KEY_PLAYPAUSE, // stop
139 [ 0x19 ] = KEY_PLAY, // play
141 [ 0x16 ] = KEY_GOTO, // osd
142 [ 0x14 ] = KEY_REFRESH, // default
143 [ 0x0c ] = KEY_KPPLUS, // fine tune >>>>
144 [ 0x18 ] = KEY_KPMINUS // fine tune <<<<
147 EXPORT_SYMBOL_GPL(ir_codes_apac_viewcomp);
149 /* ---------------------------------------------------------------------- */
151 IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE] = {
153 [ 0x1e ] = KEY_POWER, // power
154 [ 0x07 ] = KEY_MEDIA, // source
155 [ 0x1c ] = KEY_SEARCH, // scan
157 /* FIXME: duplicate keycodes?
159 * These four keys seem to share the same GPIO as CH+, CH-, <<< and >>>
160 * The GPIO values are
161 * 6397fb for both "Scan <" and "CH -",
162 * 639ffb for "Scan >" and "CH+",
163 * 6384fb for "Tune <" and "<<<",
164 * 638cfb for "Tune >" and ">>>", regardless of the mask.
166 * [ 0x17 ] = KEY_BACK, // fm scan <<
167 * [ 0x1f ] = KEY_FORWARD, // fm scan >>
169 * [ 0x04 ] = KEY_LEFT, // fm tuning <
170 * [ 0x0c ] = KEY_RIGHT, // fm tuning >
172 * For now, these four keys are disabled. Pressing them will generate
173 * the CH+/CH-/<<</>>> events
176 [ 0x03 ] = KEY_TUNER, // TV/FM
178 [ 0x00 ] = KEY_RECORD,
179 [ 0x08 ] = KEY_STOP,
180 [ 0x11 ] = KEY_PLAY,
182 [ 0x1a ] = KEY_PLAYPAUSE, // freeze
183 [ 0x19 ] = KEY_ZOOM, // zoom
184 [ 0x0f ] = KEY_TEXT, // min
186 [ 0x01 ] = KEY_1,
187 [ 0x0b ] = KEY_2,
188 [ 0x1b ] = KEY_3,
189 [ 0x05 ] = KEY_4,
190 [ 0x09 ] = KEY_5,
191 [ 0x15 ] = KEY_6,
192 [ 0x06 ] = KEY_7,
193 [ 0x0a ] = KEY_8,
194 [ 0x12 ] = KEY_9,
195 [ 0x02 ] = KEY_0,
196 [ 0x10 ] = KEY_LAST, // +100
197 [ 0x13 ] = KEY_LIST, // recall
199 [ 0x1f ] = KEY_CHANNELUP, // chn down
200 [ 0x17 ] = KEY_CHANNELDOWN, // chn up
201 [ 0x16 ] = KEY_VOLUMEUP, // vol down
202 [ 0x14 ] = KEY_VOLUMEDOWN, // vol up
204 [ 0x04 ] = KEY_KPMINUS, // <<<
205 [ 0x0e ] = KEY_SETUP, // function
206 [ 0x0c ] = KEY_KPPLUS, // >>>
208 [ 0x0d ] = KEY_GOTO, // mts
209 [ 0x1d ] = KEY_REFRESH, // reset
210 [ 0x18 ] = KEY_MUTE // mute/unmute
213 EXPORT_SYMBOL_GPL(ir_codes_pixelview);
216 Mauro Carvalho Chehab <mchehab@infradead.org>
217 present on PV MPEG 8000GT
219 IR_KEYTAB_TYPE ir_codes_pixelview_new[IR_KEYTAB_SIZE] = {
220 [0x3c] = KEY_PAUSE, /* Timeshift */
221 [0x12] = KEY_POWER,
223 [0x3d] = KEY_1,
224 [0x38] = KEY_2,
225 [0x18] = KEY_3,
226 [0x35] = KEY_4,
227 [0x39] = KEY_5,
228 [0x15] = KEY_6,
229 [0x36] = KEY_7,
230 [0x3a] = KEY_8,
231 [0x1e] = KEY_9,
232 [0x3e] = KEY_0,
234 [0x1c] = KEY_AGAIN, /* LOOP */
235 [0x3f] = KEY_MEDIA, /* Source */
236 [0x1f] = KEY_LAST, /* +100 */
237 [0x1b] = KEY_MUTE,
239 [0x17] = KEY_CHANNELDOWN,
240 [0x16] = KEY_CHANNELUP,
241 [0x10] = KEY_VOLUMEUP,
242 [0x14] = KEY_VOLUMEDOWN,
243 [0x13] = KEY_ZOOM,
245 [0x19] = KEY_SHUFFLE, /* SNAPSHOT */
246 [0x1a] = KEY_SEARCH, /* scan */
248 [0x37] = KEY_REWIND, /* << */
249 [0x32] = KEY_RECORD, /* o (red) */
250 [0x33] = KEY_FORWARD, /* >> */
251 [0x11] = KEY_STOP, /* square */
252 [0x3b] = KEY_PLAY, /* > */
253 [0x30] = KEY_PLAYPAUSE, /* || */
255 [0x31] = KEY_TV,
256 [0x34] = KEY_RADIO,
258 EXPORT_SYMBOL_GPL(ir_codes_pixelview_new);
260 IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE] = {
261 [ 0x00 ] = KEY_0,
262 [ 0x01 ] = KEY_1,
263 [ 0x02 ] = KEY_2,
264 [ 0x03 ] = KEY_3,
265 [ 0x04 ] = KEY_4,
266 [ 0x05 ] = KEY_5,
267 [ 0x06 ] = KEY_6,
268 [ 0x07 ] = KEY_7,
269 [ 0x08 ] = KEY_8,
270 [ 0x09 ] = KEY_9,
271 [ 0x0a ] = KEY_TV,
272 [ 0x0b ] = KEY_AUX,
273 [ 0x0c ] = KEY_DVD,
274 [ 0x0d ] = KEY_POWER,
275 [ 0x0e ] = KEY_MHP, /* labelled 'Picture' */
276 [ 0x0f ] = KEY_AUDIO,
277 [ 0x10 ] = KEY_INFO,
278 [ 0x11 ] = KEY_F13, /* 16:9 */
279 [ 0x12 ] = KEY_F14, /* 14:9 */
280 [ 0x13 ] = KEY_EPG,
281 [ 0x14 ] = KEY_EXIT,
282 [ 0x15 ] = KEY_MENU,
283 [ 0x16 ] = KEY_UP,
284 [ 0x17 ] = KEY_DOWN,
285 [ 0x18 ] = KEY_LEFT,
286 [ 0x19 ] = KEY_RIGHT,
287 [ 0x1a ] = KEY_ENTER,
288 [ 0x1b ] = KEY_CHANNELUP,
289 [ 0x1c ] = KEY_CHANNELDOWN,
290 [ 0x1d ] = KEY_VOLUMEUP,
291 [ 0x1e ] = KEY_VOLUMEDOWN,
292 [ 0x1f ] = KEY_RED,
293 [ 0x20 ] = KEY_GREEN,
294 [ 0x21 ] = KEY_YELLOW,
295 [ 0x22 ] = KEY_BLUE,
296 [ 0x23 ] = KEY_SUBTITLE,
297 [ 0x24 ] = KEY_F15, /* AD */
298 [ 0x25 ] = KEY_TEXT,
299 [ 0x26 ] = KEY_MUTE,
300 [ 0x27 ] = KEY_REWIND,
301 [ 0x28 ] = KEY_STOP,
302 [ 0x29 ] = KEY_PLAY,
303 [ 0x2a ] = KEY_FASTFORWARD,
304 [ 0x2b ] = KEY_F16, /* chapter */
305 [ 0x2c ] = KEY_PAUSE,
306 [ 0x2d ] = KEY_PLAY,
307 [ 0x2e ] = KEY_RECORD,
308 [ 0x2f ] = KEY_F17, /* picture in picture */
309 [ 0x30 ] = KEY_KPPLUS, /* zoom in */
310 [ 0x31 ] = KEY_KPMINUS, /* zoom out */
311 [ 0x32 ] = KEY_F18, /* capture */
312 [ 0x33 ] = KEY_F19, /* web */
313 [ 0x34 ] = KEY_EMAIL,
314 [ 0x35 ] = KEY_PHONE,
315 [ 0x36 ] = KEY_PC
318 EXPORT_SYMBOL_GPL(ir_codes_nebula);
320 /* DigitalNow DNTV Live DVB-T Remote */
321 IR_KEYTAB_TYPE ir_codes_dntv_live_dvb_t[IR_KEYTAB_SIZE] = {
322 [ 0x00 ] = KEY_ESC, /* 'go up a level?' */
323 /* Keys 0 to 9 */
324 [ 0x0a ] = KEY_0,
325 [ 0x01 ] = KEY_1,
326 [ 0x02 ] = KEY_2,
327 [ 0x03 ] = KEY_3,
328 [ 0x04 ] = KEY_4,
329 [ 0x05 ] = KEY_5,
330 [ 0x06 ] = KEY_6,
331 [ 0x07 ] = KEY_7,
332 [ 0x08 ] = KEY_8,
333 [ 0x09 ] = KEY_9,
335 [ 0x0b ] = KEY_TUNER, /* tv/fm */
336 [ 0x0c ] = KEY_SEARCH, /* scan */
337 [ 0x0d ] = KEY_STOP,
338 [ 0x0e ] = KEY_PAUSE,
339 [ 0x0f ] = KEY_LIST, /* source */
341 [ 0x10 ] = KEY_MUTE,
342 [ 0x11 ] = KEY_REWIND, /* backward << */
343 [ 0x12 ] = KEY_POWER,
344 [ 0x13 ] = KEY_S, /* snap */
345 [ 0x14 ] = KEY_AUDIO, /* stereo */
346 [ 0x15 ] = KEY_CLEAR, /* reset */
347 [ 0x16 ] = KEY_PLAY,
348 [ 0x17 ] = KEY_ENTER,
349 [ 0x18 ] = KEY_ZOOM, /* full screen */
350 [ 0x19 ] = KEY_FASTFORWARD, /* forward >> */
351 [ 0x1a ] = KEY_CHANNELUP,
352 [ 0x1b ] = KEY_VOLUMEUP,
353 [ 0x1c ] = KEY_INFO, /* preview */
354 [ 0x1d ] = KEY_RECORD, /* record */
355 [ 0x1e ] = KEY_CHANNELDOWN,
356 [ 0x1f ] = KEY_VOLUMEDOWN,
359 EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvb_t);
361 /* ---------------------------------------------------------------------- */
363 /* IO-DATA BCTV7E Remote */
364 IR_KEYTAB_TYPE ir_codes_iodata_bctv7e[IR_KEYTAB_SIZE] = {
365 [ 0x40 ] = KEY_TV,
366 [ 0x20 ] = KEY_RADIO, /* FM */
367 [ 0x60 ] = KEY_EPG,
368 [ 0x00 ] = KEY_POWER,
370 /* Keys 0 to 9 */
371 [ 0x44 ] = KEY_0, /* 10 */
372 [ 0x50 ] = KEY_1,
373 [ 0x30 ] = KEY_2,
374 [ 0x70 ] = KEY_3,
375 [ 0x48 ] = KEY_4,
376 [ 0x28 ] = KEY_5,
377 [ 0x68 ] = KEY_6,
378 [ 0x58 ] = KEY_7,
379 [ 0x38 ] = KEY_8,
380 [ 0x78 ] = KEY_9,
382 [ 0x10 ] = KEY_L, /* Live */
383 [ 0x08 ] = KEY_T, /* Time Shift */
385 [ 0x18 ] = KEY_PLAYPAUSE, /* Play */
387 [ 0x24 ] = KEY_ENTER, /* 11 */
388 [ 0x64 ] = KEY_ESC, /* 12 */
389 [ 0x04 ] = KEY_M, /* Multi */
391 [ 0x54 ] = KEY_VIDEO,
392 [ 0x34 ] = KEY_CHANNELUP,
393 [ 0x74 ] = KEY_VOLUMEUP,
394 [ 0x14 ] = KEY_MUTE,
396 [ 0x4c ] = KEY_S, /* SVIDEO */
397 [ 0x2c ] = KEY_CHANNELDOWN,
398 [ 0x6c ] = KEY_VOLUMEDOWN,
399 [ 0x0c ] = KEY_ZOOM,
401 [ 0x5c ] = KEY_PAUSE,
402 [ 0x3c ] = KEY_C, /* || (red) */
403 [ 0x7c ] = KEY_RECORD, /* recording */
404 [ 0x1c ] = KEY_STOP,
406 [ 0x41 ] = KEY_REWIND, /* backward << */
407 [ 0x21 ] = KEY_PLAY,
408 [ 0x61 ] = KEY_FASTFORWARD, /* forward >> */
409 [ 0x01 ] = KEY_NEXT, /* skip >| */
412 EXPORT_SYMBOL_GPL(ir_codes_iodata_bctv7e);
414 /* ---------------------------------------------------------------------- */
416 /* ADS Tech Instant TV DVB-T PCI Remote */
417 IR_KEYTAB_TYPE ir_codes_adstech_dvb_t_pci[IR_KEYTAB_SIZE] = {
418 /* Keys 0 to 9 */
419 [ 0x4d ] = KEY_0,
420 [ 0x57 ] = KEY_1,
421 [ 0x4f ] = KEY_2,
422 [ 0x53 ] = KEY_3,
423 [ 0x56 ] = KEY_4,
424 [ 0x4e ] = KEY_5,
425 [ 0x5e ] = KEY_6,
426 [ 0x54 ] = KEY_7,
427 [ 0x4c ] = KEY_8,
428 [ 0x5c ] = KEY_9,
430 [ 0x5b ] = KEY_POWER,
431 [ 0x5f ] = KEY_MUTE,
432 [ 0x55 ] = KEY_GOTO,
433 [ 0x5d ] = KEY_SEARCH,
434 [ 0x17 ] = KEY_EPG, /* Guide */
435 [ 0x1f ] = KEY_MENU,
436 [ 0x0f ] = KEY_UP,
437 [ 0x46 ] = KEY_DOWN,
438 [ 0x16 ] = KEY_LEFT,
439 [ 0x1e ] = KEY_RIGHT,
440 [ 0x0e ] = KEY_SELECT, /* Enter */
441 [ 0x5a ] = KEY_INFO,
442 [ 0x52 ] = KEY_EXIT,
443 [ 0x59 ] = KEY_PREVIOUS,
444 [ 0x51 ] = KEY_NEXT,
445 [ 0x58 ] = KEY_REWIND,
446 [ 0x50 ] = KEY_FORWARD,
447 [ 0x44 ] = KEY_PLAYPAUSE,
448 [ 0x07 ] = KEY_STOP,
449 [ 0x1b ] = KEY_RECORD,
450 [ 0x13 ] = KEY_TUNER, /* Live */
451 [ 0x0a ] = KEY_A,
452 [ 0x12 ] = KEY_B,
453 [ 0x03 ] = KEY_PROG1, /* 1 */
454 [ 0x01 ] = KEY_PROG2, /* 2 */
455 [ 0x00 ] = KEY_PROG3, /* 3 */
456 [ 0x06 ] = KEY_DVD,
457 [ 0x48 ] = KEY_AUX, /* Photo */
458 [ 0x40 ] = KEY_VIDEO,
459 [ 0x19 ] = KEY_AUDIO, /* Music */
460 [ 0x0b ] = KEY_CHANNELUP,
461 [ 0x08 ] = KEY_CHANNELDOWN,
462 [ 0x15 ] = KEY_VOLUMEUP,
463 [ 0x1c ] = KEY_VOLUMEDOWN,
466 EXPORT_SYMBOL_GPL(ir_codes_adstech_dvb_t_pci);
468 /* ---------------------------------------------------------------------- */
470 /* MSI TV@nywhere remote */
471 IR_KEYTAB_TYPE ir_codes_msi_tvanywhere[IR_KEYTAB_SIZE] = {
472 /* Keys 0 to 9 */
473 [ 0x00 ] = KEY_0,
474 [ 0x01 ] = KEY_1,
475 [ 0x02 ] = KEY_2,
476 [ 0x03 ] = KEY_3,
477 [ 0x04 ] = KEY_4,
478 [ 0x05 ] = KEY_5,
479 [ 0x06 ] = KEY_6,
480 [ 0x07 ] = KEY_7,
481 [ 0x08 ] = KEY_8,
482 [ 0x09 ] = KEY_9,
484 [ 0x0c ] = KEY_MUTE,
485 [ 0x0f ] = KEY_SCREEN, /* Full Screen */
486 [ 0x10 ] = KEY_F, /* Funtion */
487 [ 0x11 ] = KEY_T, /* Time shift */
488 [ 0x12 ] = KEY_POWER,
489 [ 0x13 ] = KEY_MEDIA, /* MTS */
490 [ 0x14 ] = KEY_SLOW,
491 [ 0x16 ] = KEY_REWIND, /* backward << */
492 [ 0x17 ] = KEY_ENTER, /* Return */
493 [ 0x18 ] = KEY_FASTFORWARD, /* forward >> */
494 [ 0x1a ] = KEY_CHANNELUP,
495 [ 0x1b ] = KEY_VOLUMEUP,
496 [ 0x1e ] = KEY_CHANNELDOWN,
497 [ 0x1f ] = KEY_VOLUMEDOWN,
500 EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere);
502 /* ---------------------------------------------------------------------- */
504 /* Cinergy 1400 DVB-T */
505 IR_KEYTAB_TYPE ir_codes_cinergy_1400[IR_KEYTAB_SIZE] = {
506 [ 0x01 ] = KEY_POWER,
507 [ 0x02 ] = KEY_1,
508 [ 0x03 ] = KEY_2,
509 [ 0x04 ] = KEY_3,
510 [ 0x05 ] = KEY_4,
511 [ 0x06 ] = KEY_5,
512 [ 0x07 ] = KEY_6,
513 [ 0x08 ] = KEY_7,
514 [ 0x09 ] = KEY_8,
515 [ 0x0a ] = KEY_9,
516 [ 0x0c ] = KEY_0,
518 [ 0x0b ] = KEY_VIDEO,
519 [ 0x0d ] = KEY_REFRESH,
520 [ 0x0e ] = KEY_SELECT,
521 [ 0x0f ] = KEY_EPG,
522 [ 0x10 ] = KEY_UP,
523 [ 0x11 ] = KEY_LEFT,
524 [ 0x12 ] = KEY_OK,
525 [ 0x13 ] = KEY_RIGHT,
526 [ 0x14 ] = KEY_DOWN,
527 [ 0x15 ] = KEY_TEXT,
528 [ 0x16 ] = KEY_INFO,
530 [ 0x17 ] = KEY_RED,
531 [ 0x18 ] = KEY_GREEN,
532 [ 0x19 ] = KEY_YELLOW,
533 [ 0x1a ] = KEY_BLUE,
535 [ 0x1b ] = KEY_CHANNELUP,
536 [ 0x1c ] = KEY_VOLUMEUP,
537 [ 0x1d ] = KEY_MUTE,
538 [ 0x1e ] = KEY_VOLUMEDOWN,
539 [ 0x1f ] = KEY_CHANNELDOWN,
541 [ 0x40 ] = KEY_PAUSE,
542 [ 0x4c ] = KEY_PLAY,
543 [ 0x58 ] = KEY_RECORD,
544 [ 0x54 ] = KEY_PREVIOUS,
545 [ 0x48 ] = KEY_STOP,
546 [ 0x5c ] = KEY_NEXT,
549 EXPORT_SYMBOL_GPL(ir_codes_cinergy_1400);
551 /* ---------------------------------------------------------------------- */
553 /* AVERTV STUDIO 303 Remote */
554 IR_KEYTAB_TYPE ir_codes_avertv_303[IR_KEYTAB_SIZE] = {
555 [ 0x2a ] = KEY_1,
556 [ 0x32 ] = KEY_2,
557 [ 0x3a ] = KEY_3,
558 [ 0x4a ] = KEY_4,
559 [ 0x52 ] = KEY_5,
560 [ 0x5a ] = KEY_6,
561 [ 0x6a ] = KEY_7,
562 [ 0x72 ] = KEY_8,
563 [ 0x7a ] = KEY_9,
564 [ 0x0e ] = KEY_0,
566 [ 0x02 ] = KEY_POWER,
567 [ 0x22 ] = KEY_VIDEO,
568 [ 0x42 ] = KEY_AUDIO,
569 [ 0x62 ] = KEY_ZOOM,
570 [ 0x0a ] = KEY_TV,
571 [ 0x12 ] = KEY_CD,
572 [ 0x1a ] = KEY_TEXT,
574 [ 0x16 ] = KEY_SUBTITLE,
575 [ 0x1e ] = KEY_REWIND,
576 [ 0x06 ] = KEY_PRINT,
578 [ 0x2e ] = KEY_SEARCH,
579 [ 0x36 ] = KEY_SLEEP,
580 [ 0x3e ] = KEY_SHUFFLE,
581 [ 0x26 ] = KEY_MUTE,
583 [ 0x4e ] = KEY_RECORD,
584 [ 0x56 ] = KEY_PAUSE,
585 [ 0x5e ] = KEY_STOP,
586 [ 0x46 ] = KEY_PLAY,
588 [ 0x6e ] = KEY_RED,
589 [ 0x0b ] = KEY_GREEN,
590 [ 0x66 ] = KEY_YELLOW,
591 [ 0x03 ] = KEY_BLUE,
593 [ 0x76 ] = KEY_LEFT,
594 [ 0x7e ] = KEY_RIGHT,
595 [ 0x13 ] = KEY_DOWN,
596 [ 0x1b ] = KEY_UP,
599 EXPORT_SYMBOL_GPL(ir_codes_avertv_303);
601 /* ---------------------------------------------------------------------- */
603 /* DigitalNow DNTV Live! DVB-T Pro Remote */
604 IR_KEYTAB_TYPE ir_codes_dntv_live_dvbt_pro[IR_KEYTAB_SIZE] = {
605 [ 0x16 ] = KEY_POWER,
606 [ 0x5b ] = KEY_HOME,
608 [ 0x55 ] = KEY_TV, /* live tv */
609 [ 0x58 ] = KEY_TUNER, /* digital Radio */
610 [ 0x5a ] = KEY_RADIO, /* FM radio */
611 [ 0x59 ] = KEY_DVD, /* dvd menu */
612 [ 0x03 ] = KEY_1,
613 [ 0x01 ] = KEY_2,
614 [ 0x06 ] = KEY_3,
615 [ 0x09 ] = KEY_4,
616 [ 0x1d ] = KEY_5,
617 [ 0x1f ] = KEY_6,
618 [ 0x0d ] = KEY_7,
619 [ 0x19 ] = KEY_8,
620 [ 0x1b ] = KEY_9,
621 [ 0x0c ] = KEY_CANCEL,
622 [ 0x15 ] = KEY_0,
623 [ 0x4a ] = KEY_CLEAR,
624 [ 0x13 ] = KEY_BACK,
625 [ 0x00 ] = KEY_TAB,
626 [ 0x4b ] = KEY_UP,
627 [ 0x4e ] = KEY_LEFT,
628 [ 0x4f ] = KEY_OK,
629 [ 0x52 ] = KEY_RIGHT,
630 [ 0x51 ] = KEY_DOWN,
631 [ 0x1e ] = KEY_VOLUMEUP,
632 [ 0x0a ] = KEY_VOLUMEDOWN,
633 [ 0x02 ] = KEY_CHANNELDOWN,
634 [ 0x05 ] = KEY_CHANNELUP,
635 [ 0x11 ] = KEY_RECORD,
636 [ 0x14 ] = KEY_PLAY,
637 [ 0x4c ] = KEY_PAUSE,
638 [ 0x1a ] = KEY_STOP,
639 [ 0x40 ] = KEY_REWIND,
640 [ 0x12 ] = KEY_FASTFORWARD,
641 [ 0x41 ] = KEY_PREVIOUSSONG, /* replay |< */
642 [ 0x42 ] = KEY_NEXTSONG, /* skip >| */
643 [ 0x54 ] = KEY_CAMERA, /* capture */
644 [ 0x50 ] = KEY_LANGUAGE, /* sap */
645 [ 0x47 ] = KEY_TV2, /* pip */
646 [ 0x4d ] = KEY_SCREEN,
647 [ 0x43 ] = KEY_SUBTITLE,
648 [ 0x10 ] = KEY_MUTE,
649 [ 0x49 ] = KEY_AUDIO, /* l/r */
650 [ 0x07 ] = KEY_SLEEP,
651 [ 0x08 ] = KEY_VIDEO, /* a/v */
652 [ 0x0e ] = KEY_PREVIOUS, /* recall */
653 [ 0x45 ] = KEY_ZOOM, /* zoom + */
654 [ 0x46 ] = KEY_ANGLE, /* zoom - */
655 [ 0x56 ] = KEY_RED,
656 [ 0x57 ] = KEY_GREEN,
657 [ 0x5c ] = KEY_YELLOW,
658 [ 0x5d ] = KEY_BLUE,
661 EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvbt_pro);
663 IR_KEYTAB_TYPE ir_codes_em_terratec[IR_KEYTAB_SIZE] = {
664 [ 0x01 ] = KEY_CHANNEL,
665 [ 0x02 ] = KEY_SELECT,
666 [ 0x03 ] = KEY_MUTE,
667 [ 0x04 ] = KEY_POWER,
668 [ 0x05 ] = KEY_1,
669 [ 0x06 ] = KEY_2,
670 [ 0x07 ] = KEY_3,
671 [ 0x08 ] = KEY_CHANNELUP,
672 [ 0x09 ] = KEY_4,
673 [ 0x0a ] = KEY_5,
674 [ 0x0b ] = KEY_6,
675 [ 0x0c ] = KEY_CHANNELDOWN,
676 [ 0x0d ] = KEY_7,
677 [ 0x0e ] = KEY_8,
678 [ 0x0f ] = KEY_9,
679 [ 0x10 ] = KEY_VOLUMEUP,
680 [ 0x11 ] = KEY_0,
681 [ 0x12 ] = KEY_MENU,
682 [ 0x13 ] = KEY_PRINT,
683 [ 0x14 ] = KEY_VOLUMEDOWN,
684 [ 0x16 ] = KEY_PAUSE,
685 [ 0x18 ] = KEY_RECORD,
686 [ 0x19 ] = KEY_REWIND,
687 [ 0x1a ] = KEY_PLAY,
688 [ 0x1b ] = KEY_FORWARD,
689 [ 0x1c ] = KEY_BACKSPACE,
690 [ 0x1e ] = KEY_STOP,
691 [ 0x40 ] = KEY_ZOOM,
694 EXPORT_SYMBOL_GPL(ir_codes_em_terratec);
696 IR_KEYTAB_TYPE ir_codes_pinnacle_grey[IR_KEYTAB_SIZE] = {
697 [ 0x3a ] = KEY_0,
698 [ 0x31 ] = KEY_1,
699 [ 0x32 ] = KEY_2,
700 [ 0x33 ] = KEY_3,
701 [ 0x34 ] = KEY_4,
702 [ 0x35 ] = KEY_5,
703 [ 0x36 ] = KEY_6,
704 [ 0x37 ] = KEY_7,
705 [ 0x38 ] = KEY_8,
706 [ 0x39 ] = KEY_9,
708 [ 0x2f ] = KEY_POWER,
710 [ 0x2e ] = KEY_P,
711 [ 0x1f ] = KEY_L,
712 [ 0x2b ] = KEY_I,
714 [ 0x2d ] = KEY_SCREEN,
715 [ 0x1e ] = KEY_ZOOM,
716 [ 0x1b ] = KEY_VOLUMEUP,
717 [ 0x0f ] = KEY_VOLUMEDOWN,
718 [ 0x17 ] = KEY_CHANNELUP,
719 [ 0x1c ] = KEY_CHANNELDOWN,
720 [ 0x25 ] = KEY_INFO,
722 [ 0x3c ] = KEY_MUTE,
724 [ 0x3d ] = KEY_LEFT,
725 [ 0x3b ] = KEY_RIGHT,
727 [ 0x3f ] = KEY_UP,
728 [ 0x3e ] = KEY_DOWN,
729 [ 0x1a ] = KEY_ENTER,
731 [ 0x1d ] = KEY_MENU,
732 [ 0x19 ] = KEY_AGAIN,
733 [ 0x16 ] = KEY_PREVIOUSSONG,
734 [ 0x13 ] = KEY_NEXTSONG,
735 [ 0x15 ] = KEY_PAUSE,
736 [ 0x0e ] = KEY_REWIND,
737 [ 0x0d ] = KEY_PLAY,
738 [ 0x0b ] = KEY_STOP,
739 [ 0x07 ] = KEY_FORWARD,
740 [ 0x27 ] = KEY_RECORD,
741 [ 0x26 ] = KEY_TUNER,
742 [ 0x29 ] = KEY_TEXT,
743 [ 0x2a ] = KEY_MEDIA,
744 [ 0x18 ] = KEY_EPG,
747 EXPORT_SYMBOL_GPL(ir_codes_pinnacle_grey);
749 IR_KEYTAB_TYPE ir_codes_flyvideo[IR_KEYTAB_SIZE] = {
750 [ 0x0f ] = KEY_0,
751 [ 0x03 ] = KEY_1,
752 [ 0x04 ] = KEY_2,
753 [ 0x05 ] = KEY_3,
754 [ 0x07 ] = KEY_4,
755 [ 0x08 ] = KEY_5,
756 [ 0x09 ] = KEY_6,
757 [ 0x0b ] = KEY_7,
758 [ 0x0c ] = KEY_8,
759 [ 0x0d ] = KEY_9,
761 [ 0x0e ] = KEY_MODE, // Air/Cable
762 [ 0x11 ] = KEY_VIDEO, // Video
763 [ 0x15 ] = KEY_AUDIO, // Audio
764 [ 0x00 ] = KEY_POWER, // Power
765 [ 0x18 ] = KEY_TUNER, // AV Source
766 [ 0x02 ] = KEY_ZOOM, // Fullscreen
767 [ 0x1a ] = KEY_LANGUAGE, // Stereo
768 [ 0x1b ] = KEY_MUTE, // Mute
769 [ 0x14 ] = KEY_VOLUMEUP, // Volume +
770 [ 0x17 ] = KEY_VOLUMEDOWN, // Volume -
771 [ 0x12 ] = KEY_CHANNELUP, // Channel +
772 [ 0x13 ] = KEY_CHANNELDOWN, // Channel -
773 [ 0x06 ] = KEY_AGAIN, // Recall
774 [ 0x10 ] = KEY_ENTER, // Enter
776 [ 0x19 ] = KEY_BACK, // Rewind ( <<< )
777 [ 0x1f ] = KEY_FORWARD, // Forward ( >>> )
778 [ 0x0a ] = KEY_ANGLE, // (no label, may be used as the PAUSE button)
781 EXPORT_SYMBOL_GPL(ir_codes_flyvideo);
783 IR_KEYTAB_TYPE ir_codes_flydvb[IR_KEYTAB_SIZE] = {
784 [ 0x01 ] = KEY_ZOOM, // Full Screen
785 [ 0x00 ] = KEY_POWER, // Power
787 [ 0x03 ] = KEY_1,
788 [ 0x04 ] = KEY_2,
789 [ 0x05 ] = KEY_3,
790 [ 0x07 ] = KEY_4,
791 [ 0x08 ] = KEY_5,
792 [ 0x09 ] = KEY_6,
793 [ 0x0b ] = KEY_7,
794 [ 0x0c ] = KEY_8,
795 [ 0x0d ] = KEY_9,
796 [ 0x06 ] = KEY_AGAIN, // Recall
797 [ 0x0f ] = KEY_0,
798 [ 0x10 ] = KEY_MUTE, // Mute
799 [ 0x02 ] = KEY_RADIO, // TV/Radio
800 [ 0x1b ] = KEY_LANGUAGE, // SAP (Second Audio Program)
802 [ 0x14 ] = KEY_VOLUMEUP, // VOL+
803 [ 0x17 ] = KEY_VOLUMEDOWN, // VOL-
804 [ 0x12 ] = KEY_CHANNELUP, // CH+
805 [ 0x13 ] = KEY_CHANNELDOWN, // CH-
806 [ 0x1d ] = KEY_ENTER, // Enter
808 [ 0x1a ] = KEY_MODE, // PIP
809 [ 0x18 ] = KEY_TUNER, // Source
811 [ 0x1e ] = KEY_RECORD, // Record/Pause
812 [ 0x15 ] = KEY_ANGLE, // Swap (no label on key)
813 [ 0x1c ] = KEY_PAUSE, // Timeshift/Pause
814 [ 0x19 ] = KEY_BACK, // Rewind <<
815 [ 0x0a ] = KEY_PLAYPAUSE, // Play/Pause
816 [ 0x1f ] = KEY_FORWARD, // Forward >>
817 [ 0x16 ] = KEY_PREVIOUS, // Back |<<
818 [ 0x11 ] = KEY_STOP, // Stop
819 [ 0x0e ] = KEY_NEXT, // End >>|
822 EXPORT_SYMBOL_GPL(ir_codes_flydvb);
824 IR_KEYTAB_TYPE ir_codes_cinergy[IR_KEYTAB_SIZE] = {
825 [ 0x00 ] = KEY_0,
826 [ 0x01 ] = KEY_1,
827 [ 0x02 ] = KEY_2,
828 [ 0x03 ] = KEY_3,
829 [ 0x04 ] = KEY_4,
830 [ 0x05 ] = KEY_5,
831 [ 0x06 ] = KEY_6,
832 [ 0x07 ] = KEY_7,
833 [ 0x08 ] = KEY_8,
834 [ 0x09 ] = KEY_9,
836 [ 0x0a ] = KEY_POWER,
837 [ 0x0b ] = KEY_PROG1, // app
838 [ 0x0c ] = KEY_ZOOM, // zoom/fullscreen
839 [ 0x0d ] = KEY_CHANNELUP, // channel
840 [ 0x0e ] = KEY_CHANNELDOWN, // channel-
841 [ 0x0f ] = KEY_VOLUMEUP,
842 [ 0x10 ] = KEY_VOLUMEDOWN,
843 [ 0x11 ] = KEY_TUNER, // AV
844 [ 0x12 ] = KEY_NUMLOCK, // -/--
845 [ 0x13 ] = KEY_AUDIO, // audio
846 [ 0x14 ] = KEY_MUTE,
847 [ 0x15 ] = KEY_UP,
848 [ 0x16 ] = KEY_DOWN,
849 [ 0x17 ] = KEY_LEFT,
850 [ 0x18 ] = KEY_RIGHT,
851 [ 0x19 ] = BTN_LEFT,
852 [ 0x1a ] = BTN_RIGHT,
853 [ 0x1b ] = KEY_WWW, // text
854 [ 0x1c ] = KEY_REWIND,
855 [ 0x1d ] = KEY_FORWARD,
856 [ 0x1e ] = KEY_RECORD,
857 [ 0x1f ] = KEY_PLAY,
858 [ 0x20 ] = KEY_PREVIOUSSONG,
859 [ 0x21 ] = KEY_NEXTSONG,
860 [ 0x22 ] = KEY_PAUSE,
861 [ 0x23 ] = KEY_STOP,
864 EXPORT_SYMBOL_GPL(ir_codes_cinergy);
866 /* Alfons Geser <a.geser@cox.net>
867 * updates from Job D. R. Borges <jobdrb@ig.com.br> */
868 IR_KEYTAB_TYPE ir_codes_eztv[IR_KEYTAB_SIZE] = {
869 [ 0x12 ] = KEY_POWER,
870 [ 0x01 ] = KEY_TV, // DVR
871 [ 0x15 ] = KEY_DVD, // DVD
872 [ 0x17 ] = KEY_AUDIO, // music
873 // DVR mode / DVD mode / music mode
875 [ 0x1b ] = KEY_MUTE, // mute
876 [ 0x02 ] = KEY_LANGUAGE, // MTS/SAP / audio / autoseek
877 [ 0x1e ] = KEY_SUBTITLE, // closed captioning / subtitle / seek
878 [ 0x16 ] = KEY_ZOOM, // full screen
879 [ 0x1c ] = KEY_VIDEO, // video source / eject / delall
880 [ 0x1d ] = KEY_RESTART, // playback / angle / del
881 [ 0x2f ] = KEY_SEARCH, // scan / menu / playlist
882 [ 0x30 ] = KEY_CHANNEL, // CH surfing / bookmark / memo
884 [ 0x31 ] = KEY_HELP, // help
885 [ 0x32 ] = KEY_MODE, // num/memo
886 [ 0x33 ] = KEY_ESC, // cancel
888 [ 0x0c ] = KEY_UP, // up
889 [ 0x10 ] = KEY_DOWN, // down
890 [ 0x08 ] = KEY_LEFT, // left
891 [ 0x04 ] = KEY_RIGHT, // right
892 [ 0x03 ] = KEY_SELECT, // select
894 [ 0x1f ] = KEY_REWIND, // rewind
895 [ 0x20 ] = KEY_PLAYPAUSE, // play/pause
896 [ 0x29 ] = KEY_FORWARD, // forward
897 [ 0x14 ] = KEY_AGAIN, // repeat
898 [ 0x2b ] = KEY_RECORD, // recording
899 [ 0x2c ] = KEY_STOP, // stop
900 [ 0x2d ] = KEY_PLAY, // play
901 [ 0x2e ] = KEY_SHUFFLE, // snapshot / shuffle
903 [ 0x00 ] = KEY_0,
904 [ 0x05 ] = KEY_1,
905 [ 0x06 ] = KEY_2,
906 [ 0x07 ] = KEY_3,
907 [ 0x09 ] = KEY_4,
908 [ 0x0a ] = KEY_5,
909 [ 0x0b ] = KEY_6,
910 [ 0x0d ] = KEY_7,
911 [ 0x0e ] = KEY_8,
912 [ 0x0f ] = KEY_9,
914 [ 0x2a ] = KEY_VOLUMEUP,
915 [ 0x11 ] = KEY_VOLUMEDOWN,
916 [ 0x18 ] = KEY_CHANNELUP, // CH.tracking up
917 [ 0x19 ] = KEY_CHANNELDOWN, // CH.tracking down
919 [ 0x13 ] = KEY_ENTER, // enter
920 [ 0x21 ] = KEY_DOT, // . (decimal dot)
923 EXPORT_SYMBOL_GPL(ir_codes_eztv);
925 /* Alex Hermann <gaaf@gmx.net> */
926 IR_KEYTAB_TYPE ir_codes_avermedia[IR_KEYTAB_SIZE] = {
927 [ 0x28 ] = KEY_1,
928 [ 0x18 ] = KEY_2,
929 [ 0x38 ] = KEY_3,
930 [ 0x24 ] = KEY_4,
931 [ 0x14 ] = KEY_5,
932 [ 0x34 ] = KEY_6,
933 [ 0x2c ] = KEY_7,
934 [ 0x1c ] = KEY_8,
935 [ 0x3c ] = KEY_9,
936 [ 0x22 ] = KEY_0,
938 [ 0x20 ] = KEY_TV, /* TV/FM */
939 [ 0x10 ] = KEY_CD, /* CD */
940 [ 0x30 ] = KEY_TEXT, /* TELETEXT */
941 [ 0x00 ] = KEY_POWER, /* POWER */
943 [ 0x08 ] = KEY_VIDEO, /* VIDEO */
944 [ 0x04 ] = KEY_AUDIO, /* AUDIO */
945 [ 0x0c ] = KEY_ZOOM, /* FULL SCREEN */
947 [ 0x12 ] = KEY_SUBTITLE, /* DISPLAY */
948 [ 0x32 ] = KEY_REWIND, /* LOOP */
949 [ 0x02 ] = KEY_PRINT, /* PREVIEW */
951 [ 0x2a ] = KEY_SEARCH, /* AUTOSCAN */
952 [ 0x1a ] = KEY_SLEEP, /* FREEZE */
953 [ 0x3a ] = KEY_SHUFFLE, /* SNAPSHOT */
954 [ 0x0a ] = KEY_MUTE, /* MUTE */
956 [ 0x26 ] = KEY_RECORD, /* RECORD */
957 [ 0x16 ] = KEY_PAUSE, /* PAUSE */
958 [ 0x36 ] = KEY_STOP, /* STOP */
959 [ 0x06 ] = KEY_PLAY, /* PLAY */
961 [ 0x2e ] = KEY_RED, /* RED */
962 [ 0x21 ] = KEY_GREEN, /* GREEN */
963 [ 0x0e ] = KEY_YELLOW, /* YELLOW */
964 [ 0x01 ] = KEY_BLUE, /* BLUE */
966 [ 0x1e ] = KEY_VOLUMEDOWN, /* VOLUME- */
967 [ 0x3e ] = KEY_VOLUMEUP, /* VOLUME+ */
968 [ 0x11 ] = KEY_CHANNELDOWN, /* CHANNEL/PAGE- */
969 [ 0x31 ] = KEY_CHANNELUP /* CHANNEL/PAGE+ */
972 EXPORT_SYMBOL_GPL(ir_codes_avermedia);
974 IR_KEYTAB_TYPE ir_codes_videomate_tv_pvr[IR_KEYTAB_SIZE] = {
975 [ 0x14 ] = KEY_MUTE,
976 [ 0x24 ] = KEY_ZOOM,
978 [ 0x01 ] = KEY_DVD,
979 [ 0x23 ] = KEY_RADIO,
980 [ 0x00 ] = KEY_TV,
982 [ 0x0a ] = KEY_REWIND,
983 [ 0x08 ] = KEY_PLAYPAUSE,
984 [ 0x0f ] = KEY_FORWARD,
986 [ 0x02 ] = KEY_PREVIOUS,
987 [ 0x07 ] = KEY_STOP,
988 [ 0x06 ] = KEY_NEXT,
990 [ 0x0c ] = KEY_UP,
991 [ 0x0e ] = KEY_DOWN,
992 [ 0x0b ] = KEY_LEFT,
993 [ 0x0d ] = KEY_RIGHT,
994 [ 0x11 ] = KEY_OK,
996 [ 0x03 ] = KEY_MENU,
997 [ 0x09 ] = KEY_SETUP,
998 [ 0x05 ] = KEY_VIDEO,
999 [ 0x22 ] = KEY_CHANNEL,
1001 [ 0x12 ] = KEY_VOLUMEUP,
1002 [ 0x15 ] = KEY_VOLUMEDOWN,
1003 [ 0x10 ] = KEY_CHANNELUP,
1004 [ 0x13 ] = KEY_CHANNELDOWN,
1006 [ 0x04 ] = KEY_RECORD,
1008 [ 0x16 ] = KEY_1,
1009 [ 0x17 ] = KEY_2,
1010 [ 0x18 ] = KEY_3,
1011 [ 0x19 ] = KEY_4,
1012 [ 0x1a ] = KEY_5,
1013 [ 0x1b ] = KEY_6,
1014 [ 0x1c ] = KEY_7,
1015 [ 0x1d ] = KEY_8,
1016 [ 0x1e ] = KEY_9,
1017 [ 0x1f ] = KEY_0,
1019 [ 0x20 ] = KEY_LANGUAGE,
1020 [ 0x21 ] = KEY_SLEEP,
1023 EXPORT_SYMBOL_GPL(ir_codes_videomate_tv_pvr);
1025 /* Michael Tokarev <mjt@tls.msk.ru>
1026 http://www.corpit.ru/mjt/beholdTV/remote_control.jpg
1027 keytable is used by MANLI MTV00[ 0x0c ] and BeholdTV 40[13] at
1028 least, and probably other cards too.
1029 The "ascii-art picture" below (in comments, first row
1030 is the keycode in hex, and subsequent row(s) shows
1031 the button labels (several variants when appropriate)
1032 helps to descide which keycodes to assign to the buttons.
1034 IR_KEYTAB_TYPE ir_codes_manli[IR_KEYTAB_SIZE] = {
1036 /* 0x1c 0x12 *
1037 * FUNCTION POWER *
1038 * FM (|) *
1039 * */
1040 [ 0x1c ] = KEY_RADIO, /*XXX*/
1041 [ 0x12 ] = KEY_POWER,
1043 /* 0x01 0x02 0x03 *
1044 * 1 2 3 *
1046 * 0x04 0x05 0x06 *
1047 * 4 5 6 *
1049 * 0x07 0x08 0x09 *
1050 * 7 8 9 *
1051 * */
1052 [ 0x01 ] = KEY_1,
1053 [ 0x02 ] = KEY_2,
1054 [ 0x03 ] = KEY_3,
1055 [ 0x04 ] = KEY_4,
1056 [ 0x05 ] = KEY_5,
1057 [ 0x06 ] = KEY_6,
1058 [ 0x07 ] = KEY_7,
1059 [ 0x08 ] = KEY_8,
1060 [ 0x09 ] = KEY_9,
1062 /* 0x0a 0x00 0x17 *
1063 * RECALL 0 +100 *
1064 * PLUS *
1065 * */
1066 [ 0x0a ] = KEY_AGAIN, /*XXX KEY_REWIND? */
1067 [ 0x00 ] = KEY_0,
1068 [ 0x17 ] = KEY_DIGITS, /*XXX*/
1070 /* 0x14 0x10 *
1071 * MENU INFO *
1072 * OSD */
1073 [ 0x14 ] = KEY_MENU,
1074 [ 0x10 ] = KEY_INFO,
1076 /* 0x0b *
1077 * Up *
1079 * 0x18 0x16 0x0c *
1080 * Left Ok Right *
1082 * 0x015 *
1083 * Down *
1084 * */
1085 [ 0x0b ] = KEY_UP, /*XXX KEY_SCROLLUP? */
1086 [ 0x18 ] = KEY_LEFT, /*XXX KEY_BACK? */
1087 [ 0x16 ] = KEY_OK, /*XXX KEY_SELECT? KEY_ENTER? */
1088 [ 0x0c ] = KEY_RIGHT, /*XXX KEY_FORWARD? */
1089 [ 0x15 ] = KEY_DOWN, /*XXX KEY_SCROLLDOWN? */
1091 /* 0x11 0x0d *
1092 * TV/AV MODE *
1093 * SOURCE STEREO *
1094 * */
1095 [ 0x11 ] = KEY_TV, /*XXX*/
1096 [ 0x0d ] = KEY_MODE, /*XXX there's no KEY_STEREO */
1098 /* 0x0f 0x1b 0x1a *
1099 * AUDIO Vol+ Chan+ *
1100 * TIMESHIFT??? *
1102 * 0x0e 0x1f 0x1e *
1103 * SLEEP Vol- Chan- *
1104 * */
1105 [ 0x0f ] = KEY_AUDIO,
1106 [ 0x1b ] = KEY_VOLUMEUP,
1107 [ 0x1a ] = KEY_CHANNELUP,
1108 [ 0x0e ] = KEY_SLEEP, /*XXX maybe KEY_PAUSE */
1109 [ 0x1f ] = KEY_VOLUMEDOWN,
1110 [ 0x1e ] = KEY_CHANNELDOWN,
1112 /* 0x13 0x19 *
1113 * MUTE SNAPSHOT*
1114 * */
1115 [ 0x13 ] = KEY_MUTE,
1116 [ 0x19 ] = KEY_RECORD, /*XXX*/
1118 // 0x1d unused ?
1121 EXPORT_SYMBOL_GPL(ir_codes_manli);
1123 /* Mike Baikov <mike@baikov.com> */
1124 IR_KEYTAB_TYPE ir_codes_gotview7135[IR_KEYTAB_SIZE] = {
1126 [ 0x11 ] = KEY_POWER,
1127 [ 0x35 ] = KEY_TV,
1128 [ 0x1b ] = KEY_0,
1129 [ 0x29 ] = KEY_1,
1130 [ 0x19 ] = KEY_2,
1131 [ 0x39 ] = KEY_3,
1132 [ 0x1f ] = KEY_4,
1133 [ 0x2c ] = KEY_5,
1134 [ 0x21 ] = KEY_6,
1135 [ 0x24 ] = KEY_7,
1136 [ 0x18 ] = KEY_8,
1137 [ 0x2b ] = KEY_9,
1138 [ 0x3b ] = KEY_AGAIN, /* LOOP */
1139 [ 0x06 ] = KEY_AUDIO,
1140 [ 0x31 ] = KEY_PRINT, /* PREVIEW */
1141 [ 0x3e ] = KEY_VIDEO,
1142 [ 0x10 ] = KEY_CHANNELUP,
1143 [ 0x20 ] = KEY_CHANNELDOWN,
1144 [ 0x0c ] = KEY_VOLUMEDOWN,
1145 [ 0x28 ] = KEY_VOLUMEUP,
1146 [ 0x08 ] = KEY_MUTE,
1147 [ 0x26 ] = KEY_SEARCH, /*SCAN*/
1148 [ 0x3f ] = KEY_SHUFFLE, /* SNAPSHOT */
1149 [ 0x12 ] = KEY_RECORD,
1150 [ 0x32 ] = KEY_STOP,
1151 [ 0x3c ] = KEY_PLAY,
1152 [ 0x1d ] = KEY_REWIND,
1153 [ 0x2d ] = KEY_PAUSE,
1154 [ 0x0d ] = KEY_FORWARD,
1155 [ 0x05 ] = KEY_ZOOM, /*FULL*/
1157 [ 0x2a ] = KEY_F21, /* LIVE TIMESHIFT */
1158 [ 0x0e ] = KEY_F22, /* MIN TIMESHIFT */
1159 [ 0x1e ] = KEY_F23, /* TIMESHIFT */
1160 [ 0x38 ] = KEY_F24, /* NORMAL TIMESHIFT */
1163 EXPORT_SYMBOL_GPL(ir_codes_gotview7135);
1165 IR_KEYTAB_TYPE ir_codes_purpletv[IR_KEYTAB_SIZE] = {
1166 [ 0x03 ] = KEY_POWER,
1167 [ 0x6f ] = KEY_MUTE,
1168 [ 0x10 ] = KEY_BACKSPACE, /* Recall */
1170 [ 0x11 ] = KEY_0,
1171 [ 0x04 ] = KEY_1,
1172 [ 0x05 ] = KEY_2,
1173 [ 0x06 ] = KEY_3,
1174 [ 0x08 ] = KEY_4,
1175 [ 0x09 ] = KEY_5,
1176 [ 0x0a ] = KEY_6,
1177 [ 0x0c ] = KEY_7,
1178 [ 0x0d ] = KEY_8,
1179 [ 0x0e ] = KEY_9,
1180 [ 0x12 ] = KEY_DOT, /* 100+ */
1182 [ 0x07 ] = KEY_VOLUMEUP,
1183 [ 0x0b ] = KEY_VOLUMEDOWN,
1184 [ 0x1a ] = KEY_KPPLUS,
1185 [ 0x18 ] = KEY_KPMINUS,
1186 [ 0x15 ] = KEY_UP,
1187 [ 0x1d ] = KEY_DOWN,
1188 [ 0x0f ] = KEY_CHANNELUP,
1189 [ 0x13 ] = KEY_CHANNELDOWN,
1190 [ 0x48 ] = KEY_ZOOM,
1192 [ 0x1b ] = KEY_VIDEO, /* Video source */
1193 [ 0x49 ] = KEY_LANGUAGE, /* MTS Select */
1194 [ 0x19 ] = KEY_SEARCH, /* Auto Scan */
1196 [ 0x4b ] = KEY_RECORD,
1197 [ 0x46 ] = KEY_PLAY,
1198 [ 0x45 ] = KEY_PAUSE, /* Pause */
1199 [ 0x44 ] = KEY_STOP,
1200 [ 0x40 ] = KEY_FORWARD, /* Forward ? */
1201 [ 0x42 ] = KEY_REWIND, /* Backward ? */
1205 EXPORT_SYMBOL_GPL(ir_codes_purpletv);
1207 /* Mapping for the 28 key remote control as seen at
1208 http://www.sednacomputer.com/photo/cardbus-tv.jpg
1209 Pavel Mihaylov <bin@bash.info>
1210 Also for the remote bundled with Kozumi KTV-01C card */
1211 IR_KEYTAB_TYPE ir_codes_pctv_sedna[IR_KEYTAB_SIZE] = {
1212 [ 0x00 ] = KEY_0,
1213 [ 0x01 ] = KEY_1,
1214 [ 0x02 ] = KEY_2,
1215 [ 0x03 ] = KEY_3,
1216 [ 0x04 ] = KEY_4,
1217 [ 0x05 ] = KEY_5,
1218 [ 0x06 ] = KEY_6,
1219 [ 0x07 ] = KEY_7,
1220 [ 0x08 ] = KEY_8,
1221 [ 0x09 ] = KEY_9,
1223 [ 0x0a ] = KEY_AGAIN, /* Recall */
1224 [ 0x0b ] = KEY_CHANNELUP,
1225 [ 0x0c ] = KEY_VOLUMEUP,
1226 [ 0x0d ] = KEY_MODE, /* Stereo */
1227 [ 0x0e ] = KEY_STOP,
1228 [ 0x0f ] = KEY_PREVIOUSSONG,
1229 [ 0x10 ] = KEY_ZOOM,
1230 [ 0x11 ] = KEY_TUNER, /* Source */
1231 [ 0x12 ] = KEY_POWER,
1232 [ 0x13 ] = KEY_MUTE,
1233 [ 0x15 ] = KEY_CHANNELDOWN,
1234 [ 0x18 ] = KEY_VOLUMEDOWN,
1235 [ 0x19 ] = KEY_SHUFFLE, /* Snapshot */
1236 [ 0x1a ] = KEY_NEXTSONG,
1237 [ 0x1b ] = KEY_TEXT, /* Time Shift */
1238 [ 0x1c ] = KEY_RADIO, /* FM Radio */
1239 [ 0x1d ] = KEY_RECORD,
1240 [ 0x1e ] = KEY_PAUSE,
1241 /* additional codes for Kozumi's remote */
1242 [0x14] = KEY_INFO, /* OSD */
1243 [0x16] = KEY_OK, /* OK */
1244 [0x17] = KEY_DIGITS, /* Plus */
1245 [0x1f] = KEY_PLAY, /* Play */
1248 EXPORT_SYMBOL_GPL(ir_codes_pctv_sedna);
1250 /* Mark Phalan <phalanm@o2.ie> */
1251 IR_KEYTAB_TYPE ir_codes_pv951[IR_KEYTAB_SIZE] = {
1252 [ 0x00 ] = KEY_0,
1253 [ 0x01 ] = KEY_1,
1254 [ 0x02 ] = KEY_2,
1255 [ 0x03 ] = KEY_3,
1256 [ 0x04 ] = KEY_4,
1257 [ 0x05 ] = KEY_5,
1258 [ 0x06 ] = KEY_6,
1259 [ 0x07 ] = KEY_7,
1260 [ 0x08 ] = KEY_8,
1261 [ 0x09 ] = KEY_9,
1263 [ 0x12 ] = KEY_POWER,
1264 [ 0x10 ] = KEY_MUTE,
1265 [ 0x1f ] = KEY_VOLUMEDOWN,
1266 [ 0x1b ] = KEY_VOLUMEUP,
1267 [ 0x1a ] = KEY_CHANNELUP,
1268 [ 0x1e ] = KEY_CHANNELDOWN,
1269 [ 0x0e ] = KEY_PAGEUP,
1270 [ 0x1d ] = KEY_PAGEDOWN,
1271 [ 0x13 ] = KEY_SOUND,
1273 [ 0x18 ] = KEY_KPPLUSMINUS, /* CH +/- */
1274 [ 0x16 ] = KEY_SUBTITLE, /* CC */
1275 [ 0x0d ] = KEY_TEXT, /* TTX */
1276 [ 0x0b ] = KEY_TV, /* AIR/CBL */
1277 [ 0x11 ] = KEY_PC, /* PC/TV */
1278 [ 0x17 ] = KEY_OK, /* CH RTN */
1279 [ 0x19 ] = KEY_MODE, /* FUNC */
1280 [ 0x0c ] = KEY_SEARCH, /* AUTOSCAN */
1282 /* Not sure what to do with these ones! */
1283 [ 0x0f ] = KEY_SELECT, /* SOURCE */
1284 [ 0x0a ] = KEY_KPPLUS, /* +100 */
1285 [ 0x14 ] = KEY_EQUAL, /* SYNC */
1286 [ 0x1c ] = KEY_MEDIA, /* PC/TV */
1289 EXPORT_SYMBOL_GPL(ir_codes_pv951);
1291 /* generic RC5 keytable */
1292 /* see http://users.pandora.be/nenya/electronics/rc5/codes00.htm */
1293 /* used by old (black) Hauppauge remotes */
1294 IR_KEYTAB_TYPE ir_codes_rc5_tv[IR_KEYTAB_SIZE] = {
1295 /* Keys 0 to 9 */
1296 [ 0x00 ] = KEY_0,
1297 [ 0x01 ] = KEY_1,
1298 [ 0x02 ] = KEY_2,
1299 [ 0x03 ] = KEY_3,
1300 [ 0x04 ] = KEY_4,
1301 [ 0x05 ] = KEY_5,
1302 [ 0x06 ] = KEY_6,
1303 [ 0x07 ] = KEY_7,
1304 [ 0x08 ] = KEY_8,
1305 [ 0x09 ] = KEY_9,
1307 [ 0x0b ] = KEY_CHANNEL, /* channel / program (japan: 11) */
1308 [ 0x0c ] = KEY_POWER, /* standby */
1309 [ 0x0d ] = KEY_MUTE, /* mute / demute */
1310 [ 0x0f ] = KEY_TV, /* display */
1311 [ 0x10 ] = KEY_VOLUMEUP,
1312 [ 0x11 ] = KEY_VOLUMEDOWN,
1313 [ 0x12 ] = KEY_BRIGHTNESSUP,
1314 [ 0x13 ] = KEY_BRIGHTNESSDOWN,
1315 [ 0x1e ] = KEY_SEARCH, /* search + */
1316 [ 0x20 ] = KEY_CHANNELUP, /* channel / program + */
1317 [ 0x21 ] = KEY_CHANNELDOWN, /* channel / program - */
1318 [ 0x22 ] = KEY_CHANNEL, /* alt / channel */
1319 [ 0x23 ] = KEY_LANGUAGE, /* 1st / 2nd language */
1320 [ 0x26 ] = KEY_SLEEP, /* sleeptimer */
1321 [ 0x2e ] = KEY_MENU, /* 2nd controls (USA: menu) */
1322 [ 0x30 ] = KEY_PAUSE,
1323 [ 0x32 ] = KEY_REWIND,
1324 [ 0x33 ] = KEY_GOTO,
1325 [ 0x35 ] = KEY_PLAY,
1326 [ 0x36 ] = KEY_STOP,
1327 [ 0x37 ] = KEY_RECORD, /* recording */
1328 [ 0x3c ] = KEY_TEXT, /* teletext submode (Japan: 12) */
1329 [ 0x3d ] = KEY_SUSPEND, /* system standby */
1333 EXPORT_SYMBOL_GPL(ir_codes_rc5_tv);
1335 /* Table for Leadtek Winfast Remote Controls - used by both bttv and cx88 */
1336 IR_KEYTAB_TYPE ir_codes_winfast[IR_KEYTAB_SIZE] = {
1337 /* Keys 0 to 9 */
1338 [ 0x12 ] = KEY_0,
1339 [ 0x05 ] = KEY_1,
1340 [ 0x06 ] = KEY_2,
1341 [ 0x07 ] = KEY_3,
1342 [ 0x09 ] = KEY_4,
1343 [ 0x0a ] = KEY_5,
1344 [ 0x0b ] = KEY_6,
1345 [ 0x0d ] = KEY_7,
1346 [ 0x0e ] = KEY_8,
1347 [ 0x0f ] = KEY_9,
1349 [ 0x00 ] = KEY_POWER,
1350 [ 0x1b ] = KEY_AUDIO, /* Audio Source */
1351 [ 0x02 ] = KEY_TUNER, /* TV/FM, not on Y0400052 */
1352 [ 0x1e ] = KEY_VIDEO, /* Video Source */
1353 [ 0x16 ] = KEY_INFO, /* Display information */
1354 [ 0x04 ] = KEY_VOLUMEUP,
1355 [ 0x08 ] = KEY_VOLUMEDOWN,
1356 [ 0x0c ] = KEY_CHANNELUP,
1357 [ 0x10 ] = KEY_CHANNELDOWN,
1358 [ 0x03 ] = KEY_ZOOM, /* fullscreen */
1359 [ 0x1f ] = KEY_TEXT, /* closed caption/teletext */
1360 [ 0x20 ] = KEY_SLEEP,
1361 [ 0x29 ] = KEY_CLEAR, /* boss key */
1362 [ 0x14 ] = KEY_MUTE,
1363 [ 0x2b ] = KEY_RED,
1364 [ 0x2c ] = KEY_GREEN,
1365 [ 0x2d ] = KEY_YELLOW,
1366 [ 0x2e ] = KEY_BLUE,
1367 [ 0x18 ] = KEY_KPPLUS, /* fine tune + , not on Y040052 */
1368 [ 0x19 ] = KEY_KPMINUS, /* fine tune - , not on Y040052 */
1369 [ 0x2a ] = KEY_MEDIA, /* PIP (Picture in picture */
1370 [ 0x21 ] = KEY_DOT,
1371 [ 0x13 ] = KEY_ENTER,
1372 [ 0x11 ] = KEY_LAST, /* Recall (last channel */
1373 [ 0x22 ] = KEY_PREVIOUS,
1374 [ 0x23 ] = KEY_PLAYPAUSE,
1375 [ 0x24 ] = KEY_NEXT,
1376 [ 0x25 ] = KEY_ARCHIVE, /* Time Shifting */
1377 [ 0x26 ] = KEY_STOP,
1378 [ 0x27 ] = KEY_RECORD,
1379 [ 0x28 ] = KEY_SAVE, /* Screenshot */
1380 [ 0x2f ] = KEY_MENU,
1381 [ 0x30 ] = KEY_CANCEL,
1382 [ 0x31 ] = KEY_CHANNEL, /* Channel Surf */
1383 [ 0x32 ] = KEY_SUBTITLE,
1384 [ 0x33 ] = KEY_LANGUAGE,
1385 [ 0x34 ] = KEY_REWIND,
1386 [ 0x35 ] = KEY_FASTFORWARD,
1387 [ 0x36 ] = KEY_TV,
1388 [ 0x37 ] = KEY_RADIO, /* FM */
1389 [ 0x38 ] = KEY_DVD,
1391 [ 0x3e ] = KEY_F21, /* MCE +VOL, on Y04G0033 */
1392 [ 0x3a ] = KEY_F22, /* MCE -VOL, on Y04G0033 */
1393 [ 0x3b ] = KEY_F23, /* MCE +CH, on Y04G0033 */
1394 [ 0x3f ] = KEY_F24 /* MCE -CH, on Y04G0033 */
1397 EXPORT_SYMBOL_GPL(ir_codes_winfast);
1399 IR_KEYTAB_TYPE ir_codes_pinnacle_color[IR_KEYTAB_SIZE] = {
1400 [ 0x59 ] = KEY_MUTE,
1401 [ 0x4a ] = KEY_POWER,
1403 [ 0x18 ] = KEY_TEXT,
1404 [ 0x26 ] = KEY_TV,
1405 [ 0x3d ] = KEY_PRINT,
1407 [ 0x48 ] = KEY_RED,
1408 [ 0x04 ] = KEY_GREEN,
1409 [ 0x11 ] = KEY_YELLOW,
1410 [ 0x00 ] = KEY_BLUE,
1412 [ 0x2d ] = KEY_VOLUMEUP,
1413 [ 0x1e ] = KEY_VOLUMEDOWN,
1415 [ 0x49 ] = KEY_MENU,
1417 [ 0x16 ] = KEY_CHANNELUP,
1418 [ 0x17 ] = KEY_CHANNELDOWN,
1420 [ 0x20 ] = KEY_UP,
1421 [ 0x21 ] = KEY_DOWN,
1422 [ 0x22 ] = KEY_LEFT,
1423 [ 0x23 ] = KEY_RIGHT,
1424 [ 0x0d ] = KEY_SELECT,
1428 [ 0x08 ] = KEY_BACK,
1429 [ 0x07 ] = KEY_REFRESH,
1431 [ 0x2f ] = KEY_ZOOM,
1432 [ 0x29 ] = KEY_RECORD,
1434 [ 0x4b ] = KEY_PAUSE,
1435 [ 0x4d ] = KEY_REWIND,
1436 [ 0x2e ] = KEY_PLAY,
1437 [ 0x4e ] = KEY_FORWARD,
1438 [ 0x53 ] = KEY_PREVIOUS,
1439 [ 0x4c ] = KEY_STOP,
1440 [ 0x54 ] = KEY_NEXT,
1442 [ 0x69 ] = KEY_0,
1443 [ 0x6a ] = KEY_1,
1444 [ 0x6b ] = KEY_2,
1445 [ 0x6c ] = KEY_3,
1446 [ 0x6d ] = KEY_4,
1447 [ 0x6e ] = KEY_5,
1448 [ 0x6f ] = KEY_6,
1449 [ 0x70 ] = KEY_7,
1450 [ 0x71 ] = KEY_8,
1451 [ 0x72 ] = KEY_9,
1453 [ 0x74 ] = KEY_CHANNEL,
1454 [ 0x0a ] = KEY_BACKSPACE,
1457 EXPORT_SYMBOL_GPL(ir_codes_pinnacle_color);
1459 /* Hauppauge: the newer, gray remotes (seems there are multiple
1460 * slightly different versions), shipped with cx88+ivtv cards.
1461 * almost rc5 coding, but some non-standard keys */
1462 IR_KEYTAB_TYPE ir_codes_hauppauge_new[IR_KEYTAB_SIZE] = {
1463 /* Keys 0 to 9 */
1464 [ 0x00 ] = KEY_0,
1465 [ 0x01 ] = KEY_1,
1466 [ 0x02 ] = KEY_2,
1467 [ 0x03 ] = KEY_3,
1468 [ 0x04 ] = KEY_4,
1469 [ 0x05 ] = KEY_5,
1470 [ 0x06 ] = KEY_6,
1471 [ 0x07 ] = KEY_7,
1472 [ 0x08 ] = KEY_8,
1473 [ 0x09 ] = KEY_9,
1475 [ 0x0a ] = KEY_TEXT, /* keypad asterisk as well */
1476 [ 0x0b ] = KEY_RED, /* red button */
1477 [ 0x0c ] = KEY_RADIO,
1478 [ 0x0d ] = KEY_MENU,
1479 [ 0x0e ] = KEY_SUBTITLE, /* also the # key */
1480 [ 0x0f ] = KEY_MUTE,
1481 [ 0x10 ] = KEY_VOLUMEUP,
1482 [ 0x11 ] = KEY_VOLUMEDOWN,
1483 [ 0x12 ] = KEY_PREVIOUS, /* previous channel */
1484 [ 0x14 ] = KEY_UP,
1485 [ 0x15 ] = KEY_DOWN,
1486 [ 0x16 ] = KEY_LEFT,
1487 [ 0x17 ] = KEY_RIGHT,
1488 [ 0x18 ] = KEY_VIDEO, /* Videos */
1489 [ 0x19 ] = KEY_AUDIO, /* Music */
1490 /* 0x1a: Pictures - presume this means
1491 "Multimedia Home Platform" -
1492 no "PICTURES" key in input.h
1494 [ 0x1a ] = KEY_MHP,
1496 [ 0x1b ] = KEY_EPG, /* Guide */
1497 [ 0x1c ] = KEY_TV,
1498 [ 0x1e ] = KEY_NEXTSONG, /* skip >| */
1499 [ 0x1f ] = KEY_EXIT, /* back/exit */
1500 [ 0x20 ] = KEY_CHANNELUP, /* channel / program + */
1501 [ 0x21 ] = KEY_CHANNELDOWN, /* channel / program - */
1502 [ 0x22 ] = KEY_CHANNEL, /* source (old black remote) */
1503 [ 0x24 ] = KEY_PREVIOUSSONG, /* replay |< */
1504 [ 0x25 ] = KEY_ENTER, /* OK */
1505 [ 0x26 ] = KEY_SLEEP, /* minimize (old black remote) */
1506 [ 0x29 ] = KEY_BLUE, /* blue key */
1507 [ 0x2e ] = KEY_GREEN, /* green button */
1508 [ 0x30 ] = KEY_PAUSE, /* pause */
1509 [ 0x32 ] = KEY_REWIND, /* backward << */
1510 [ 0x34 ] = KEY_FASTFORWARD, /* forward >> */
1511 [ 0x35 ] = KEY_PLAY,
1512 [ 0x36 ] = KEY_STOP,
1513 [ 0x37 ] = KEY_RECORD, /* recording */
1514 [ 0x38 ] = KEY_YELLOW, /* yellow key */
1515 [ 0x3b ] = KEY_SELECT, /* top right button */
1516 [ 0x3c ] = KEY_ZOOM, /* full */
1517 [ 0x3d ] = KEY_POWER, /* system power (green button) */
1520 EXPORT_SYMBOL_GPL(ir_codes_hauppauge_new);
1522 IR_KEYTAB_TYPE ir_codes_npgtech[IR_KEYTAB_SIZE] = {
1523 [ 0x1d ] = KEY_SWITCHVIDEOMODE, /* switch inputs */
1524 [ 0x2a ] = KEY_FRONT,
1526 [ 0x3e ] = KEY_1,
1527 [ 0x02 ] = KEY_2,
1528 [ 0x06 ] = KEY_3,
1529 [ 0x0a ] = KEY_4,
1530 [ 0x0e ] = KEY_5,
1531 [ 0x12 ] = KEY_6,
1532 [ 0x16 ] = KEY_7,
1533 [ 0x1a ] = KEY_8,
1534 [ 0x1e ] = KEY_9,
1535 [ 0x3a ] = KEY_0,
1536 [ 0x22 ] = KEY_NUMLOCK, /* -/-- */
1537 [ 0x20 ] = KEY_REFRESH,
1539 [ 0x03 ] = KEY_BRIGHTNESSDOWN,
1540 [ 0x28 ] = KEY_AUDIO,
1541 [ 0x3c ] = KEY_UP,
1542 [ 0x3f ] = KEY_LEFT,
1543 [ 0x2e ] = KEY_MUTE,
1544 [ 0x3b ] = KEY_RIGHT,
1545 [ 0x00 ] = KEY_DOWN,
1546 [ 0x07 ] = KEY_BRIGHTNESSUP,
1547 [ 0x2c ] = KEY_TEXT,
1549 [ 0x37 ] = KEY_RECORD,
1550 [ 0x17 ] = KEY_PLAY,
1551 [ 0x13 ] = KEY_PAUSE,
1552 [ 0x26 ] = KEY_STOP,
1553 [ 0x18 ] = KEY_FASTFORWARD,
1554 [ 0x14 ] = KEY_REWIND,
1555 [ 0x33 ] = KEY_ZOOM,
1556 [ 0x32 ] = KEY_KEYBOARD,
1557 [ 0x30 ] = KEY_GOTO, /* Pointing arrow */
1558 [ 0x36 ] = KEY_MACRO, /* Maximize/Minimize (yellow) */
1559 [ 0x0b ] = KEY_RADIO,
1560 [ 0x10 ] = KEY_POWER,
1564 EXPORT_SYMBOL_GPL(ir_codes_npgtech);
1566 /* Norwood Micro (non-Pro) TV Tuner
1567 By Peter Naulls <peter@chocky.org>
1568 Key comments are the functions given in the manual */
1569 IR_KEYTAB_TYPE ir_codes_norwood[IR_KEYTAB_SIZE] = {
1570 /* Keys 0 to 9 */
1571 [ 0x20 ] = KEY_0,
1572 [ 0x21 ] = KEY_1,
1573 [ 0x22 ] = KEY_2,
1574 [ 0x23 ] = KEY_3,
1575 [ 0x24 ] = KEY_4,
1576 [ 0x25 ] = KEY_5,
1577 [ 0x26 ] = KEY_6,
1578 [ 0x27 ] = KEY_7,
1579 [ 0x28 ] = KEY_8,
1580 [ 0x29 ] = KEY_9,
1582 [ 0x78 ] = KEY_TUNER, /* Video Source */
1583 [ 0x2c ] = KEY_EXIT, /* Open/Close software */
1584 [ 0x2a ] = KEY_SELECT, /* 2 Digit Select */
1585 [ 0x69 ] = KEY_AGAIN, /* Recall */
1587 [ 0x32 ] = KEY_BRIGHTNESSUP, /* Brightness increase */
1588 [ 0x33 ] = KEY_BRIGHTNESSDOWN, /* Brightness decrease */
1589 [ 0x6b ] = KEY_KPPLUS, /* (not named >>>>>) */
1590 [ 0x6c ] = KEY_KPMINUS, /* (not named <<<<<) */
1592 [ 0x2d ] = KEY_MUTE, /* Mute */
1593 [ 0x30 ] = KEY_VOLUMEUP, /* Volume up */
1594 [ 0x31 ] = KEY_VOLUMEDOWN, /* Volume down */
1595 [ 0x60 ] = KEY_CHANNELUP, /* Channel up */
1596 [ 0x61 ] = KEY_CHANNELDOWN, /* Channel down */
1598 [ 0x3f ] = KEY_RECORD, /* Record */
1599 [ 0x37 ] = KEY_PLAY, /* Play */
1600 [ 0x36 ] = KEY_PAUSE, /* Pause */
1601 [ 0x2b ] = KEY_STOP, /* Stop */
1602 [ 0x67 ] = KEY_FASTFORWARD, /* Foward */
1603 [ 0x66 ] = KEY_REWIND, /* Rewind */
1604 [ 0x3e ] = KEY_SEARCH, /* Auto Scan */
1605 [ 0x2e ] = KEY_CAMERA, /* Capture Video */
1606 [ 0x6d ] = KEY_MENU, /* Show/Hide Control */
1607 [ 0x2f ] = KEY_ZOOM, /* Full Screen */
1608 [ 0x34 ] = KEY_RADIO, /* FM */
1609 [ 0x65 ] = KEY_POWER, /* Computer power */
1612 EXPORT_SYMBOL_GPL(ir_codes_norwood);
1614 /* From reading the following remotes:
1615 * Zenith Universal 7 / TV Mode 807 / VCR Mode 837
1616 * Hauppauge (from NOVA-CI-s box product)
1617 * This is a "middle of the road" approach, differences are noted
1619 IR_KEYTAB_TYPE ir_codes_budget_ci_old[IR_KEYTAB_SIZE] = {
1620 [ 0x00 ] = KEY_0,
1621 [ 0x01 ] = KEY_1,
1622 [ 0x02 ] = KEY_2,
1623 [ 0x03 ] = KEY_3,
1624 [ 0x04 ] = KEY_4,
1625 [ 0x05 ] = KEY_5,
1626 [ 0x06 ] = KEY_6,
1627 [ 0x07 ] = KEY_7,
1628 [ 0x08 ] = KEY_8,
1629 [ 0x09 ] = KEY_9,
1630 [ 0x0a ] = KEY_ENTER,
1631 [ 0x0b ] = KEY_RED,
1632 [ 0x0c ] = KEY_POWER, /* RADIO on Hauppauge */
1633 [ 0x0d ] = KEY_MUTE,
1634 [ 0x0f ] = KEY_A, /* TV on Hauppauge */
1635 [ 0x10 ] = KEY_VOLUMEUP,
1636 [ 0x11 ] = KEY_VOLUMEDOWN,
1637 [ 0x14 ] = KEY_B,
1638 [ 0x1c ] = KEY_UP,
1639 [ 0x1d ] = KEY_DOWN,
1640 [ 0x1e ] = KEY_OPTION, /* RESERVED on Hauppauge */
1641 [ 0x1f ] = KEY_BREAK,
1642 [ 0x20 ] = KEY_CHANNELUP,
1643 [ 0x21 ] = KEY_CHANNELDOWN,
1644 [ 0x22 ] = KEY_PREVIOUS, /* Prev. Ch on Zenith, SOURCE on Hauppauge */
1645 [ 0x24 ] = KEY_RESTART,
1646 [ 0x25 ] = KEY_OK,
1647 [ 0x26 ] = KEY_CYCLEWINDOWS, /* MINIMIZE on Hauppauge */
1648 [ 0x28 ] = KEY_ENTER, /* VCR mode on Zenith */
1649 [ 0x29 ] = KEY_PAUSE,
1650 [ 0x2b ] = KEY_RIGHT,
1651 [ 0x2c ] = KEY_LEFT,
1652 [ 0x2e ] = KEY_MENU, /* FULL SCREEN on Hauppauge */
1653 [ 0x30 ] = KEY_SLOW,
1654 [ 0x31 ] = KEY_PREVIOUS, /* VCR mode on Zenith */
1655 [ 0x32 ] = KEY_REWIND,
1656 [ 0x34 ] = KEY_FASTFORWARD,
1657 [ 0x35 ] = KEY_PLAY,
1658 [ 0x36 ] = KEY_STOP,
1659 [ 0x37 ] = KEY_RECORD,
1660 [ 0x38 ] = KEY_TUNER, /* TV/VCR on Zenith */
1661 [ 0x3a ] = KEY_C,
1662 [ 0x3c ] = KEY_EXIT,
1663 [ 0x3d ] = KEY_POWER2,
1664 [ 0x3e ] = KEY_TUNER,
1667 EXPORT_SYMBOL_GPL(ir_codes_budget_ci_old);
1670 * Marc Fargas <telenieko@telenieko.com>
1671 * this is the remote control that comes with the asus p7131
1672 * which has a label saying is "Model PC-39"
1674 IR_KEYTAB_TYPE ir_codes_asus_pc39[IR_KEYTAB_SIZE] = {
1675 /* Keys 0 to 9 */
1676 [ 0x15 ] = KEY_0,
1677 [ 0x29 ] = KEY_1,
1678 [ 0x2d ] = KEY_2,
1679 [ 0x2b ] = KEY_3,
1680 [ 0x09 ] = KEY_4,
1681 [ 0x0d ] = KEY_5,
1682 [ 0x0b ] = KEY_6,
1683 [ 0x31 ] = KEY_7,
1684 [ 0x35 ] = KEY_8,
1685 [ 0x33 ] = KEY_9,
1687 [ 0x3e ] = KEY_RADIO, /* radio */
1688 [ 0x03 ] = KEY_MENU, /* dvd/menu */
1689 [ 0x2a ] = KEY_VOLUMEUP,
1690 [ 0x19 ] = KEY_VOLUMEDOWN,
1691 [ 0x37 ] = KEY_UP,
1692 [ 0x3b ] = KEY_DOWN,
1693 [ 0x27 ] = KEY_LEFT,
1694 [ 0x2f ] = KEY_RIGHT,
1695 [ 0x25 ] = KEY_VIDEO, /* video */
1696 [ 0x39 ] = KEY_AUDIO, /* music */
1698 [ 0x21 ] = KEY_TV, /* tv */
1699 [ 0x1d ] = KEY_EXIT, /* back */
1700 [ 0x0a ] = KEY_CHANNELUP, /* channel / program + */
1701 [ 0x1b ] = KEY_CHANNELDOWN, /* channel / program - */
1702 [ 0x1a ] = KEY_ENTER, /* enter */
1704 [ 0x06 ] = KEY_PAUSE, /* play/pause */
1705 [ 0x1e ] = KEY_PREVIOUS, /* rew */
1706 [ 0x26 ] = KEY_NEXT, /* forward */
1707 [ 0x0e ] = KEY_REWIND, /* backward << */
1708 [ 0x3a ] = KEY_FASTFORWARD, /* forward >> */
1709 [ 0x36 ] = KEY_STOP,
1710 [ 0x2e ] = KEY_RECORD, /* recording */
1711 [ 0x16 ] = KEY_POWER, /* the button that reads "close" */
1713 [ 0x11 ] = KEY_ZOOM, /* full screen */
1714 [ 0x13 ] = KEY_MACRO, /* recall */
1715 [ 0x23 ] = KEY_HOME, /* home */
1716 [ 0x05 ] = KEY_PVR, /* picture */
1717 [ 0x3d ] = KEY_MUTE, /* mute */
1718 [ 0x01 ] = KEY_DVD, /* dvd */
1721 EXPORT_SYMBOL_GPL(ir_codes_asus_pc39);
1724 /* Encore ENLTV-FM - black plastic, white front cover with white glowing buttons
1725 Juan Pablo Sormani <sorman@gmail.com> */
1726 IR_KEYTAB_TYPE ir_codes_encore_enltv[IR_KEYTAB_SIZE] = {
1728 /* Power button does nothing, neither in Windows app,
1729 although it sends data (used for BIOS wakeup?) */
1730 [ 0x0d ] = KEY_MUTE,
1732 [ 0x1e ] = KEY_TV,
1733 [ 0x00 ] = KEY_VIDEO,
1734 [ 0x01 ] = KEY_AUDIO, /* music */
1735 [ 0x02 ] = KEY_MHP, /* picture */
1737 [ 0x1f ] = KEY_1,
1738 [ 0x03 ] = KEY_2,
1739 [ 0x04 ] = KEY_3,
1740 [ 0x05 ] = KEY_4,
1741 [ 0x1c ] = KEY_5,
1742 [ 0x06 ] = KEY_6,
1743 [ 0x07 ] = KEY_7,
1744 [ 0x08 ] = KEY_8,
1745 [ 0x1d ] = KEY_9,
1746 [ 0x0a ] = KEY_0,
1748 [ 0x09 ] = KEY_LIST, /* -/-- */
1749 [ 0x0b ] = KEY_LAST, /* recall */
1751 [ 0x14 ] = KEY_HOME, /* win start menu */
1752 [ 0x15 ] = KEY_EXIT, /* exit */
1753 [ 0x16 ] = KEY_UP,
1754 [ 0x12 ] = KEY_DOWN,
1755 [ 0x0c ] = KEY_RIGHT,
1756 [ 0x17 ] = KEY_LEFT,
1758 [ 0x18 ] = KEY_ENTER, /* OK */
1760 [ 0x0e ] = KEY_ESC,
1761 [ 0x13 ] = KEY_D, /* desktop */
1762 [ 0x11 ] = KEY_TAB,
1763 [ 0x19 ] = KEY_SWITCHVIDEOMODE, /* switch */
1765 [ 0x1a ] = KEY_MENU,
1766 [ 0x1b ] = KEY_ZOOM, /* fullscreen */
1767 [ 0x44 ] = KEY_TIME, /* time shift */
1768 [ 0x40 ] = KEY_MODE, /* source */
1770 [ 0x5a ] = KEY_RECORD,
1771 [ 0x42 ] = KEY_PLAY, /* play/pause */
1772 [ 0x45 ] = KEY_STOP,
1773 [ 0x43 ] = KEY_CAMERA, /* camera icon */
1775 [ 0x48 ] = KEY_REWIND,
1776 [ 0x4a ] = KEY_FASTFORWARD,
1777 [ 0x49 ] = KEY_PREVIOUS,
1778 [ 0x4b ] = KEY_NEXT,
1780 [ 0x4c ] = KEY_FAVORITES, /* tv wall */
1781 [ 0x4d ] = KEY_SOUND, /* DVD sound */
1782 [ 0x4e ] = KEY_LANGUAGE, /* DVD lang */
1783 [ 0x4f ] = KEY_TEXT, /* DVD text */
1785 [ 0x50 ] = KEY_SLEEP, /* shutdown */
1786 [ 0x51 ] = KEY_MODE, /* stereo > main */
1787 [ 0x52 ] = KEY_SELECT, /* stereo > sap */
1788 [ 0x53 ] = KEY_PROG1, /* teletext */
1791 [ 0x59 ] = KEY_RED, /* AP1 */
1792 [ 0x41 ] = KEY_GREEN, /* AP2 */
1793 [ 0x47 ] = KEY_YELLOW, /* AP3 */
1794 [ 0x57 ] = KEY_BLUE, /* AP4 */
1799 EXPORT_SYMBOL_GPL(ir_codes_encore_enltv);
1801 /* for the Technotrend 1500 bundled remotes (grey and black): */
1802 IR_KEYTAB_TYPE ir_codes_tt_1500[IR_KEYTAB_SIZE] = {
1803 [ 0x01 ] = KEY_POWER,
1804 [ 0x02 ] = KEY_SHUFFLE, /* ? double-arrow key */
1805 [ 0x03 ] = KEY_1,
1806 [ 0x04 ] = KEY_2,
1807 [ 0x05 ] = KEY_3,
1808 [ 0x06 ] = KEY_4,
1809 [ 0x07 ] = KEY_5,
1810 [ 0x08 ] = KEY_6,
1811 [ 0x09 ] = KEY_7,
1812 [ 0x0a ] = KEY_8,
1813 [ 0x0b ] = KEY_9,
1814 [ 0x0c ] = KEY_0,
1815 [ 0x0d ] = KEY_UP,
1816 [ 0x0e ] = KEY_LEFT,
1817 [ 0x0f ] = KEY_OK,
1818 [ 0x10 ] = KEY_RIGHT,
1819 [ 0x11 ] = KEY_DOWN,
1820 [ 0x12 ] = KEY_INFO,
1821 [ 0x13 ] = KEY_EXIT,
1822 [ 0x14 ] = KEY_RED,
1823 [ 0x15 ] = KEY_GREEN,
1824 [ 0x16 ] = KEY_YELLOW,
1825 [ 0x17 ] = KEY_BLUE,
1826 [ 0x18 ] = KEY_MUTE,
1827 [ 0x19 ] = KEY_TEXT,
1828 [ 0x1a ] = KEY_MODE, /* ? TV/Radio */
1829 [ 0x21 ] = KEY_OPTION,
1830 [ 0x22 ] = KEY_EPG,
1831 [ 0x23 ] = KEY_CHANNELUP,
1832 [ 0x24 ] = KEY_CHANNELDOWN,
1833 [ 0x25 ] = KEY_VOLUMEUP,
1834 [ 0x26 ] = KEY_VOLUMEDOWN,
1835 [ 0x27 ] = KEY_SETUP,
1836 [ 0x3a ] = KEY_RECORD, /* these keys are only in the black remote */
1837 [ 0x3b ] = KEY_PLAY,
1838 [ 0x3c ] = KEY_STOP,
1839 [ 0x3d ] = KEY_REWIND,
1840 [ 0x3e ] = KEY_PAUSE,
1841 [ 0x3f ] = KEY_FORWARD,
1844 EXPORT_SYMBOL_GPL(ir_codes_tt_1500);
1846 /* DViCO FUSION HDTV MCE remote */
1847 IR_KEYTAB_TYPE ir_codes_fusionhdtv_mce[IR_KEYTAB_SIZE] = {
1849 [ 0x0b ] = KEY_1,
1850 [ 0x17 ] = KEY_2,
1851 [ 0x1b ] = KEY_3,
1852 [ 0x07 ] = KEY_4,
1853 [ 0x50 ] = KEY_5,
1854 [ 0x54 ] = KEY_6,
1855 [ 0x48 ] = KEY_7,
1856 [ 0x4c ] = KEY_8,
1857 [ 0x58 ] = KEY_9,
1858 [ 0x03 ] = KEY_0,
1860 [ 0x5e ] = KEY_OK,
1861 [ 0x51 ] = KEY_UP,
1862 [ 0x53 ] = KEY_DOWN,
1863 [ 0x5b ] = KEY_LEFT,
1864 [ 0x5f ] = KEY_RIGHT,
1866 [ 0x02 ] = KEY_TV, /* Labeled DTV on remote */
1867 [ 0x0e ] = KEY_MP3,
1868 [ 0x1a ] = KEY_DVD,
1869 [ 0x1e ] = KEY_FAVORITES, /* Labeled CPF on remote */
1870 [ 0x16 ] = KEY_SETUP,
1871 [ 0x46 ] = KEY_POWER2, /* TV On/Off button on remote */
1872 [ 0x0a ] = KEY_EPG, /* Labeled Guide on remote */
1874 [ 0x49 ] = KEY_BACK,
1875 [ 0x59 ] = KEY_INFO, /* Labeled MORE on remote */
1876 [ 0x4d ] = KEY_MENU, /* Labeled DVDMENU on remote */
1877 [ 0x55 ] = KEY_CYCLEWINDOWS, /* Labeled ALT-TAB on remote */
1879 [ 0x0f ] = KEY_PREVIOUSSONG, /* Labeled |<< REPLAY on remote */
1880 [ 0x12 ] = KEY_NEXTSONG, /* Labeled >>| SKIP on remote */
1881 [ 0x42 ] = KEY_ENTER, /* Labeled START with a green
1882 * MS windows logo on remote */
1884 [ 0x15 ] = KEY_VOLUMEUP,
1885 [ 0x05 ] = KEY_VOLUMEDOWN,
1886 [ 0x11 ] = KEY_CHANNELUP,
1887 [ 0x09 ] = KEY_CHANNELDOWN,
1889 [ 0x52 ] = KEY_CAMERA,
1890 [ 0x5a ] = KEY_TUNER,
1891 [ 0x19 ] = KEY_OPEN,
1893 [ 0x13 ] = KEY_MODE, /* 4:3 16:9 select */
1894 [ 0x1f ] = KEY_ZOOM,
1896 [ 0x43 ] = KEY_REWIND,
1897 [ 0x47 ] = KEY_PLAYPAUSE,
1898 [ 0x4f ] = KEY_FASTFORWARD,
1899 [ 0x57 ] = KEY_MUTE,
1900 [ 0x0d ] = KEY_STOP,
1901 [ 0x01 ] = KEY_RECORD,
1902 [ 0x4e ] = KEY_POWER,
1905 EXPORT_SYMBOL_GPL(ir_codes_fusionhdtv_mce);
1907 /* Pinnacle PCTV HD 800i mini remote */
1908 IR_KEYTAB_TYPE ir_codes_pinnacle_pctv_hd[IR_KEYTAB_SIZE] = {
1910 [0x0f] = KEY_1,
1911 [0x15] = KEY_2,
1912 [0x10] = KEY_3,
1913 [0x18] = KEY_4,
1914 [0x1b] = KEY_5,
1915 [0x1e] = KEY_6,
1916 [0x11] = KEY_7,
1917 [0x21] = KEY_8,
1918 [0x12] = KEY_9,
1919 [0x27] = KEY_0,
1921 [0x24] = KEY_ZOOM,
1922 [0x2a] = KEY_SUBTITLE,
1924 [0x00] = KEY_MUTE,
1925 [0x01] = KEY_ENTER, /* Pinnacle Logo */
1926 [0x39] = KEY_POWER,
1928 [0x03] = KEY_VOLUMEUP,
1929 [0x09] = KEY_VOLUMEDOWN,
1930 [0x06] = KEY_CHANNELUP,
1931 [0x0c] = KEY_CHANNELDOWN,
1933 [0x2d] = KEY_REWIND,
1934 [0x30] = KEY_PLAYPAUSE,
1935 [0x33] = KEY_FASTFORWARD,
1936 [0x3c] = KEY_STOP,
1937 [0x36] = KEY_RECORD,
1938 [0x3f] = KEY_EPG, /* Labeled "?" */
1940 EXPORT_SYMBOL_GPL(ir_codes_pinnacle_pctv_hd);
1943 * Igor Kuznetsov <igk72@ya.ru>
1944 * Andrey J. Melnikov <temnota@kmv.ru>
1946 * Keytable is used by BeholdTV 60x series, M6 series at
1947 * least, and probably other cards too.
1948 * The "ascii-art picture" below (in comments, first row
1949 * is the keycode in hex, and subsequent row(s) shows
1950 * the button labels (several variants when appropriate)
1951 * helps to descide which keycodes to assign to the buttons.
1953 IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE] = {
1955 /* 0x1c 0x12 *
1956 * TV/FM POWER *
1957 * */
1958 [ 0x1c ] = KEY_TUNER, /*XXX KEY_TV KEY_RADIO */
1959 [ 0x12 ] = KEY_POWER,
1961 /* 0x01 0x02 0x03 *
1962 * 1 2 3 *
1964 * 0x04 0x05 0x06 *
1965 * 4 5 6 *
1967 * 0x07 0x08 0x09 *
1968 * 7 8 9 *
1969 * */
1970 [ 0x01 ] = KEY_1,
1971 [ 0x02 ] = KEY_2,
1972 [ 0x03 ] = KEY_3,
1973 [ 0x04 ] = KEY_4,
1974 [ 0x05 ] = KEY_5,
1975 [ 0x06 ] = KEY_6,
1976 [ 0x07 ] = KEY_7,
1977 [ 0x08 ] = KEY_8,
1978 [ 0x09 ] = KEY_9,
1980 /* 0x0a 0x00 0x17 *
1981 * RECALL 0 MODE *
1982 * */
1983 [ 0x0a ] = KEY_AGAIN,
1984 [ 0x00 ] = KEY_0,
1985 [ 0x17 ] = KEY_MODE,
1987 /* 0x14 0x10 *
1988 * ASPECT FULLSCREEN *
1989 * */
1990 [ 0x14 ] = KEY_SCREEN,
1991 [ 0x10 ] = KEY_ZOOM,
1993 /* 0x0b *
1994 * Up *
1996 * 0x18 0x16 0x0c *
1997 * Left Ok Right *
1999 * 0x015 *
2000 * Down *
2001 * */
2002 [ 0x0b ] = KEY_CHANNELUP, /*XXX KEY_UP */
2003 [ 0x18 ] = KEY_VOLUMEDOWN, /*XXX KEY_LEFT */
2004 [ 0x16 ] = KEY_OK, /*XXX KEY_ENTER */
2005 [ 0x0c ] = KEY_VOLUMEUP, /*XXX KEY_RIGHT */
2006 [ 0x15 ] = KEY_CHANNELDOWN, /*XXX KEY_DOWN */
2008 /* 0x11 0x0d *
2009 * MUTE INFO *
2010 * */
2011 [ 0x11 ] = KEY_MUTE,
2012 [ 0x0d ] = KEY_INFO,
2014 /* 0x0f 0x1b 0x1a *
2015 * RECORD PLAY/PAUSE STOP *
2017 * 0x0e 0x1f 0x1e *
2018 *TELETEXT AUDIO SOURCE *
2019 * RED YELLOW *
2020 * */
2021 [ 0x0f ] = KEY_RECORD,
2022 [ 0x1b ] = KEY_PLAYPAUSE,
2023 [ 0x1a ] = KEY_STOP,
2024 [ 0x0e ] = KEY_TEXT,
2025 [ 0x1f ] = KEY_RED, /*XXX KEY_AUDIO */
2026 [ 0x1e ] = KEY_YELLOW, /*XXX KEY_SOURCE */
2028 /* 0x1d 0x13 0x19 *
2029 * SLEEP PREVIEW DVB *
2030 * GREEN BLUE *
2031 * */
2032 [ 0x1d ] = KEY_SLEEP,
2033 [ 0x13 ] = KEY_GREEN,
2034 [ 0x19 ] = KEY_BLUE, /*XXX KEY_SAT */
2036 /* 0x58 0x5c *
2037 * FREEZE SNAPSHOT *
2038 * */
2039 [ 0x58 ] = KEY_SLOW,
2040 [ 0x5c ] = KEY_SAVE,
2044 EXPORT_SYMBOL_GPL(ir_codes_behold);
2046 /* Beholder Intl. Ltd. 2008
2047 * Dmitry Belimov d.belimov@google.com
2048 * Keytable is used by BeholdTV Columbus
2049 * The "ascii-art picture" below (in comments, first row
2050 * is the keycode in hex, and subsequent row(s) shows
2051 * the button labels (several variants when appropriate)
2052 * helps to descide which keycodes to assign to the buttons.
2054 IR_KEYTAB_TYPE ir_codes_behold_columbus[IR_KEYTAB_SIZE] = {
2056 /* 0x13 0x11 0x1C 0x12 *
2057 * Mute Source TV/FM Power *
2058 * */
2060 [0x13] = KEY_MUTE,
2061 [0x11] = KEY_PROPS,
2062 [0x1C] = KEY_TUNER, /* KEY_TV/KEY_RADIO */
2063 [0x12] = KEY_POWER,
2065 /* 0x01 0x02 0x03 0x0D *
2066 * 1 2 3 Stereo *
2068 * 0x04 0x05 0x06 0x19 *
2069 * 4 5 6 Snapshot *
2071 * 0x07 0x08 0x09 0x10 *
2072 * 7 8 9 Zoom *
2073 * */
2074 [0x01] = KEY_1,
2075 [0x02] = KEY_2,
2076 [0x03] = KEY_3,
2077 [0x0D] = KEY_SETUP, /* Setup key */
2078 [0x04] = KEY_4,
2079 [0x05] = KEY_5,
2080 [0x06] = KEY_6,
2081 [0x19] = KEY_BOOKMARKS, /* Snapshot key */
2082 [0x07] = KEY_7,
2083 [0x08] = KEY_8,
2084 [0x09] = KEY_9,
2085 [0x10] = KEY_ZOOM,
2087 /* 0x0A 0x00 0x0B 0x0C *
2088 * RECALL 0 ChannelUp VolumeUp *
2089 * */
2090 [0x0A] = KEY_AGAIN,
2091 [0x00] = KEY_0,
2092 [0x0B] = KEY_CHANNELUP,
2093 [0x0C] = KEY_VOLUMEUP,
2095 /* 0x1B 0x1D 0x15 0x18 *
2096 * Timeshift Record ChannelDown VolumeDown *
2097 * */
2099 [0x1B] = KEY_REWIND,
2100 [0x1D] = KEY_RECORD,
2101 [0x15] = KEY_CHANNELDOWN,
2102 [0x18] = KEY_VOLUMEDOWN,
2104 /* 0x0E 0x1E 0x0F 0x1A *
2105 * Stop Pause Previouse Next *
2106 * */
2108 [0x0E] = KEY_STOP,
2109 [0x1E] = KEY_PAUSE,
2110 [0x0F] = KEY_PREVIOUS,
2111 [0x1A] = KEY_NEXT,
2114 EXPORT_SYMBOL_GPL(ir_codes_behold_columbus);
2117 * Remote control for the Genius TVGO A11MCE
2118 * Adrian Pardini <pardo.bsso@gmail.com>
2120 IR_KEYTAB_TYPE ir_codes_genius_tvgo_a11mce[IR_KEYTAB_SIZE] = {
2121 /* Keys 0 to 9 */
2122 [0x48] = KEY_0,
2123 [0x09] = KEY_1,
2124 [0x1d] = KEY_2,
2125 [0x1f] = KEY_3,
2126 [0x19] = KEY_4,
2127 [0x1b] = KEY_5,
2128 [0x11] = KEY_6,
2129 [0x17] = KEY_7,
2130 [0x12] = KEY_8,
2131 [0x16] = KEY_9,
2133 [0x54] = KEY_RECORD, /* recording */
2134 [0x06] = KEY_MUTE, /* mute */
2135 [0x10] = KEY_POWER,
2136 [0x40] = KEY_LAST, /* recall */
2137 [0x4c] = KEY_CHANNELUP, /* channel / program + */
2138 [0x00] = KEY_CHANNELDOWN, /* channel / program - */
2139 [0x0d] = KEY_VOLUMEUP,
2140 [0x15] = KEY_VOLUMEDOWN,
2141 [0x4d] = KEY_OK, /* also labeled as Pause */
2142 [0x1c] = KEY_ZOOM, /* full screen and Stop*/
2143 [0x02] = KEY_MODE, /* AV Source or Rewind*/
2144 [0x04] = KEY_LIST, /* -/-- */
2145 /* small arrows above numbers */
2146 [0x1a] = KEY_NEXT, /* also Fast Forward */
2147 [0x0e] = KEY_PREVIOUS, /* also Rewind */
2148 /* these are in a rather non standard layout and have
2149 an alternate name written */
2150 [0x1e] = KEY_UP, /* Video Setting */
2151 [0x0a] = KEY_DOWN, /* Video Default */
2152 [0x05] = KEY_LEFT, /* Snapshot */
2153 [0x0c] = KEY_RIGHT, /* Hide Panel */
2154 /* Four buttons without label */
2155 [0x49] = KEY_RED,
2156 [0x0b] = KEY_GREEN,
2157 [0x13] = KEY_YELLOW,
2158 [0x50] = KEY_BLUE,
2160 EXPORT_SYMBOL_GPL(ir_codes_genius_tvgo_a11mce);
2163 * Remote control for Powercolor Real Angel 330
2164 * Daniel Fraga <fragabr@gmail.com>
2166 IR_KEYTAB_TYPE ir_codes_powercolor_real_angel[IR_KEYTAB_SIZE] = {
2167 [0x38] = KEY_SWITCHVIDEOMODE, /* switch inputs */
2168 [0x0c] = KEY_MEDIA, /* Turn ON/OFF App */
2169 [0x00] = KEY_0,
2170 [0x01] = KEY_1,
2171 [0x02] = KEY_2,
2172 [0x03] = KEY_3,
2173 [0x04] = KEY_4,
2174 [0x05] = KEY_5,
2175 [0x06] = KEY_6,
2176 [0x07] = KEY_7,
2177 [0x08] = KEY_8,
2178 [0x09] = KEY_9,
2179 [0x0a] = KEY_DIGITS, /* single, double, tripple digit */
2180 [0x29] = KEY_PREVIOUS, /* previous channel */
2181 [0x12] = KEY_BRIGHTNESSUP,
2182 [0x13] = KEY_BRIGHTNESSDOWN,
2183 [0x2b] = KEY_MODE, /* stereo/mono */
2184 [0x2c] = KEY_TEXT, /* teletext */
2185 [0x20] = KEY_UP, /* channel up */
2186 [0x21] = KEY_DOWN, /* channel down */
2187 [0x10] = KEY_RIGHT, /* volume up */
2188 [0x11] = KEY_LEFT, /* volume down */
2189 [0x0d] = KEY_MUTE,
2190 [0x1f] = KEY_RECORD,
2191 [0x17] = KEY_PLAY,
2192 [0x16] = KEY_PAUSE,
2193 [0x0b] = KEY_STOP,
2194 [0x27] = KEY_FASTFORWARD,
2195 [0x26] = KEY_REWIND,
2196 [0x1e] = KEY_SEARCH, /* autoscan */
2197 [0x0e] = KEY_SHUFFLE, /* snapshot */
2198 [0x2d] = KEY_SETUP,
2199 [0x0f] = KEY_SCREEN, /* full screen */
2200 [0x14] = KEY_RADIO, /* FM radio */
2201 [0x25] = KEY_POWER, /* power */
2203 EXPORT_SYMBOL_GPL(ir_codes_powercolor_real_angel);