4 Keytables for supported remote controls. This file is part of
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] = {
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 */
55 [ 0x1a ] = KEY_Q, /* off */
57 [ 0x1f ] = KEY_DOWN, /* channel - */
58 [ 0x1c ] = KEY_UP, /* channel + */
59 [ 0x10 ] = KEY_LEFT, /* volume - */
60 [ 0x1e ] = KEY_RIGHT, /* volume + */
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 /* Mauro Carvalho Chehab <mchehab@infradead.org> */
107 IR_KEYTAB_TYPE ir_codes_avermedia_m135a[IR_KEYTAB_SIZE] = {
109 [0x2e] = KEY_DOT, /* '.' */
110 [0x01] = KEY_MODE, /* TV/FM */
123 [0x13] = KEY_RIGHT, /* -> */
124 [0x12] = KEY_LEFT, /* <- */
126 [0x17] = KEY_SLEEP, /* Capturar Imagem */
127 [0x10] = KEY_SHUFFLE, /* Amostra */
129 /* FIXME: The keys bellow aren't ok */
131 [0x43] = KEY_CHANNELUP,
132 [0x42] = KEY_CHANNELDOWN,
133 [0x1f] = KEY_VOLUMEUP,
134 [0x1e] = KEY_VOLUMEDOWN,
142 [0x2b] = KEY_TV2, /* TV2 */
149 [0x1a] = KEY_PLAYPAUSE,
154 EXPORT_SYMBOL_GPL(ir_codes_avermedia_m135a);
156 /* Attila Kondoros <attila.kondoros@chello.hu> */
157 IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE] = {
169 [ 0x17 ] = KEY_LAST, // +100
170 [ 0x0a ] = KEY_LIST, // recall
173 [ 0x1c ] = KEY_TUNER, // TV/FM
174 [ 0x15 ] = KEY_SEARCH, // scan
175 [ 0x12 ] = KEY_POWER, // power
176 [ 0x1f ] = KEY_VOLUMEDOWN, // vol up
177 [ 0x1b ] = KEY_VOLUMEUP, // vol down
178 [ 0x1e ] = KEY_CHANNELDOWN, // chn up
179 [ 0x1a ] = KEY_CHANNELUP, // chn down
181 [ 0x11 ] = KEY_VIDEO, // video
182 [ 0x0f ] = KEY_ZOOM, // full screen
183 [ 0x13 ] = KEY_MUTE, // mute/unmute
184 [ 0x10 ] = KEY_TEXT, // min
186 [ 0x0d ] = KEY_STOP, // freeze
187 [ 0x0e ] = KEY_RECORD, // record
188 [ 0x1d ] = KEY_PLAYPAUSE, // stop
189 [ 0x19 ] = KEY_PLAY, // play
191 [ 0x16 ] = KEY_GOTO, // osd
192 [ 0x14 ] = KEY_REFRESH, // default
193 [ 0x0c ] = KEY_KPPLUS, // fine tune >>>>
194 [ 0x18 ] = KEY_KPMINUS // fine tune <<<<
197 EXPORT_SYMBOL_GPL(ir_codes_apac_viewcomp);
199 /* ---------------------------------------------------------------------- */
201 IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE] = {
203 [ 0x1e ] = KEY_POWER, // power
204 [ 0x07 ] = KEY_MEDIA, // source
205 [ 0x1c ] = KEY_SEARCH, // scan
207 /* FIXME: duplicate keycodes?
209 * These four keys seem to share the same GPIO as CH+, CH-, <<< and >>>
210 * The GPIO values are
211 * 6397fb for both "Scan <" and "CH -",
212 * 639ffb for "Scan >" and "CH+",
213 * 6384fb for "Tune <" and "<<<",
214 * 638cfb for "Tune >" and ">>>", regardless of the mask.
216 * [ 0x17 ] = KEY_BACK, // fm scan <<
217 * [ 0x1f ] = KEY_FORWARD, // fm scan >>
219 * [ 0x04 ] = KEY_LEFT, // fm tuning <
220 * [ 0x0c ] = KEY_RIGHT, // fm tuning >
222 * For now, these four keys are disabled. Pressing them will generate
223 * the CH+/CH-/<<</>>> events
226 [ 0x03 ] = KEY_TUNER, // TV/FM
228 [ 0x00 ] = KEY_RECORD,
232 [ 0x1a ] = KEY_PLAYPAUSE, // freeze
233 [ 0x19 ] = KEY_ZOOM, // zoom
234 [ 0x0f ] = KEY_TEXT, // min
246 [ 0x10 ] = KEY_LAST, // +100
247 [ 0x13 ] = KEY_LIST, // recall
249 [ 0x1f ] = KEY_CHANNELUP, // chn down
250 [ 0x17 ] = KEY_CHANNELDOWN, // chn up
251 [ 0x16 ] = KEY_VOLUMEUP, // vol down
252 [ 0x14 ] = KEY_VOLUMEDOWN, // vol up
254 [ 0x04 ] = KEY_KPMINUS, // <<<
255 [ 0x0e ] = KEY_SETUP, // function
256 [ 0x0c ] = KEY_KPPLUS, // >>>
258 [ 0x0d ] = KEY_GOTO, // mts
259 [ 0x1d ] = KEY_REFRESH, // reset
260 [ 0x18 ] = KEY_MUTE // mute/unmute
263 EXPORT_SYMBOL_GPL(ir_codes_pixelview);
266 Mauro Carvalho Chehab <mchehab@infradead.org>
267 present on PV MPEG 8000GT
269 IR_KEYTAB_TYPE ir_codes_pixelview_new[IR_KEYTAB_SIZE] = {
270 [0x3c] = KEY_PAUSE, /* Timeshift */
284 [0x1c] = KEY_AGAIN, /* LOOP */
285 [0x3f] = KEY_MEDIA, /* Source */
286 [0x1f] = KEY_LAST, /* +100 */
289 [0x17] = KEY_CHANNELDOWN,
290 [0x16] = KEY_CHANNELUP,
291 [0x10] = KEY_VOLUMEUP,
292 [0x14] = KEY_VOLUMEDOWN,
295 [0x19] = KEY_SHUFFLE, /* SNAPSHOT */
296 [0x1a] = KEY_SEARCH, /* scan */
298 [0x37] = KEY_REWIND, /* << */
299 [0x32] = KEY_RECORD, /* o (red) */
300 [0x33] = KEY_FORWARD, /* >> */
301 [0x11] = KEY_STOP, /* square */
302 [0x3b] = KEY_PLAY, /* > */
303 [0x30] = KEY_PLAYPAUSE, /* || */
308 EXPORT_SYMBOL_GPL(ir_codes_pixelview_new);
310 IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE] = {
324 [ 0x0d ] = KEY_POWER,
325 [ 0x0e ] = KEY_MHP, /* labelled 'Picture' */
326 [ 0x0f ] = KEY_AUDIO,
328 [ 0x11 ] = KEY_F13, /* 16:9 */
329 [ 0x12 ] = KEY_F14, /* 14:9 */
336 [ 0x19 ] = KEY_RIGHT,
337 [ 0x1a ] = KEY_ENTER,
338 [ 0x1b ] = KEY_CHANNELUP,
339 [ 0x1c ] = KEY_CHANNELDOWN,
340 [ 0x1d ] = KEY_VOLUMEUP,
341 [ 0x1e ] = KEY_VOLUMEDOWN,
343 [ 0x20 ] = KEY_GREEN,
344 [ 0x21 ] = KEY_YELLOW,
346 [ 0x23 ] = KEY_SUBTITLE,
347 [ 0x24 ] = KEY_F15, /* AD */
350 [ 0x27 ] = KEY_REWIND,
353 [ 0x2a ] = KEY_FASTFORWARD,
354 [ 0x2b ] = KEY_F16, /* chapter */
355 [ 0x2c ] = KEY_PAUSE,
357 [ 0x2e ] = KEY_RECORD,
358 [ 0x2f ] = KEY_F17, /* picture in picture */
359 [ 0x30 ] = KEY_KPPLUS, /* zoom in */
360 [ 0x31 ] = KEY_KPMINUS, /* zoom out */
361 [ 0x32 ] = KEY_F18, /* capture */
362 [ 0x33 ] = KEY_F19, /* web */
363 [ 0x34 ] = KEY_EMAIL,
364 [ 0x35 ] = KEY_PHONE,
368 EXPORT_SYMBOL_GPL(ir_codes_nebula);
370 /* DigitalNow DNTV Live DVB-T Remote */
371 IR_KEYTAB_TYPE ir_codes_dntv_live_dvb_t[IR_KEYTAB_SIZE] = {
372 [ 0x00 ] = KEY_ESC, /* 'go up a level?' */
385 [ 0x0b ] = KEY_TUNER, /* tv/fm */
386 [ 0x0c ] = KEY_SEARCH, /* scan */
388 [ 0x0e ] = KEY_PAUSE,
389 [ 0x0f ] = KEY_LIST, /* source */
392 [ 0x11 ] = KEY_REWIND, /* backward << */
393 [ 0x12 ] = KEY_POWER,
394 [ 0x13 ] = KEY_S, /* snap */
395 [ 0x14 ] = KEY_AUDIO, /* stereo */
396 [ 0x15 ] = KEY_CLEAR, /* reset */
398 [ 0x17 ] = KEY_ENTER,
399 [ 0x18 ] = KEY_ZOOM, /* full screen */
400 [ 0x19 ] = KEY_FASTFORWARD, /* forward >> */
401 [ 0x1a ] = KEY_CHANNELUP,
402 [ 0x1b ] = KEY_VOLUMEUP,
403 [ 0x1c ] = KEY_INFO, /* preview */
404 [ 0x1d ] = KEY_RECORD, /* record */
405 [ 0x1e ] = KEY_CHANNELDOWN,
406 [ 0x1f ] = KEY_VOLUMEDOWN,
409 EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvb_t);
411 /* ---------------------------------------------------------------------- */
413 /* IO-DATA BCTV7E Remote */
414 IR_KEYTAB_TYPE ir_codes_iodata_bctv7e[IR_KEYTAB_SIZE] = {
416 [ 0x20 ] = KEY_RADIO, /* FM */
418 [ 0x00 ] = KEY_POWER,
421 [ 0x44 ] = KEY_0, /* 10 */
432 [ 0x10 ] = KEY_L, /* Live */
433 [ 0x08 ] = KEY_T, /* Time Shift */
435 [ 0x18 ] = KEY_PLAYPAUSE, /* Play */
437 [ 0x24 ] = KEY_ENTER, /* 11 */
438 [ 0x64 ] = KEY_ESC, /* 12 */
439 [ 0x04 ] = KEY_M, /* Multi */
441 [ 0x54 ] = KEY_VIDEO,
442 [ 0x34 ] = KEY_CHANNELUP,
443 [ 0x74 ] = KEY_VOLUMEUP,
446 [ 0x4c ] = KEY_S, /* SVIDEO */
447 [ 0x2c ] = KEY_CHANNELDOWN,
448 [ 0x6c ] = KEY_VOLUMEDOWN,
451 [ 0x5c ] = KEY_PAUSE,
452 [ 0x3c ] = KEY_C, /* || (red) */
453 [ 0x7c ] = KEY_RECORD, /* recording */
456 [ 0x41 ] = KEY_REWIND, /* backward << */
458 [ 0x61 ] = KEY_FASTFORWARD, /* forward >> */
459 [ 0x01 ] = KEY_NEXT, /* skip >| */
462 EXPORT_SYMBOL_GPL(ir_codes_iodata_bctv7e);
464 /* ---------------------------------------------------------------------- */
466 /* ADS Tech Instant TV DVB-T PCI Remote */
467 IR_KEYTAB_TYPE ir_codes_adstech_dvb_t_pci[IR_KEYTAB_SIZE] = {
480 [ 0x5b ] = KEY_POWER,
483 [ 0x5d ] = KEY_SEARCH,
484 [ 0x17 ] = KEY_EPG, /* Guide */
489 [ 0x1e ] = KEY_RIGHT,
490 [ 0x0e ] = KEY_SELECT, /* Enter */
493 [ 0x59 ] = KEY_PREVIOUS,
495 [ 0x58 ] = KEY_REWIND,
496 [ 0x50 ] = KEY_FORWARD,
497 [ 0x44 ] = KEY_PLAYPAUSE,
499 [ 0x1b ] = KEY_RECORD,
500 [ 0x13 ] = KEY_TUNER, /* Live */
503 [ 0x03 ] = KEY_PROG1, /* 1 */
504 [ 0x01 ] = KEY_PROG2, /* 2 */
505 [ 0x00 ] = KEY_PROG3, /* 3 */
507 [ 0x48 ] = KEY_AUX, /* Photo */
508 [ 0x40 ] = KEY_VIDEO,
509 [ 0x19 ] = KEY_AUDIO, /* Music */
510 [ 0x0b ] = KEY_CHANNELUP,
511 [ 0x08 ] = KEY_CHANNELDOWN,
512 [ 0x15 ] = KEY_VOLUMEUP,
513 [ 0x1c ] = KEY_VOLUMEDOWN,
516 EXPORT_SYMBOL_GPL(ir_codes_adstech_dvb_t_pci);
518 /* ---------------------------------------------------------------------- */
520 /* MSI TV@nywhere remote */
521 IR_KEYTAB_TYPE ir_codes_msi_tvanywhere[IR_KEYTAB_SIZE] = {
535 [ 0x0f ] = KEY_SCREEN, /* Full Screen */
536 [ 0x10 ] = KEY_F, /* Funtion */
537 [ 0x11 ] = KEY_T, /* Time shift */
538 [ 0x12 ] = KEY_POWER,
539 [ 0x13 ] = KEY_MEDIA, /* MTS */
541 [ 0x16 ] = KEY_REWIND, /* backward << */
542 [ 0x17 ] = KEY_ENTER, /* Return */
543 [ 0x18 ] = KEY_FASTFORWARD, /* forward >> */
544 [ 0x1a ] = KEY_CHANNELUP,
545 [ 0x1b ] = KEY_VOLUMEUP,
546 [ 0x1e ] = KEY_CHANNELDOWN,
547 [ 0x1f ] = KEY_VOLUMEDOWN,
550 EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere);
552 /* ---------------------------------------------------------------------- */
554 /* Cinergy 1400 DVB-T */
555 IR_KEYTAB_TYPE ir_codes_cinergy_1400[IR_KEYTAB_SIZE] = {
556 [ 0x01 ] = KEY_POWER,
568 [ 0x0b ] = KEY_VIDEO,
569 [ 0x0d ] = KEY_REFRESH,
570 [ 0x0e ] = KEY_SELECT,
575 [ 0x13 ] = KEY_RIGHT,
581 [ 0x18 ] = KEY_GREEN,
582 [ 0x19 ] = KEY_YELLOW,
585 [ 0x1b ] = KEY_CHANNELUP,
586 [ 0x1c ] = KEY_VOLUMEUP,
588 [ 0x1e ] = KEY_VOLUMEDOWN,
589 [ 0x1f ] = KEY_CHANNELDOWN,
591 [ 0x40 ] = KEY_PAUSE,
593 [ 0x58 ] = KEY_RECORD,
594 [ 0x54 ] = KEY_PREVIOUS,
599 EXPORT_SYMBOL_GPL(ir_codes_cinergy_1400);
601 /* ---------------------------------------------------------------------- */
603 /* AVERTV STUDIO 303 Remote */
604 IR_KEYTAB_TYPE ir_codes_avertv_303[IR_KEYTAB_SIZE] = {
616 [ 0x02 ] = KEY_POWER,
617 [ 0x22 ] = KEY_VIDEO,
618 [ 0x42 ] = KEY_AUDIO,
624 [ 0x16 ] = KEY_SUBTITLE,
625 [ 0x1e ] = KEY_REWIND,
626 [ 0x06 ] = KEY_PRINT,
628 [ 0x2e ] = KEY_SEARCH,
629 [ 0x36 ] = KEY_SLEEP,
630 [ 0x3e ] = KEY_SHUFFLE,
633 [ 0x4e ] = KEY_RECORD,
634 [ 0x56 ] = KEY_PAUSE,
639 [ 0x0b ] = KEY_GREEN,
640 [ 0x66 ] = KEY_YELLOW,
644 [ 0x7e ] = KEY_RIGHT,
649 EXPORT_SYMBOL_GPL(ir_codes_avertv_303);
651 /* ---------------------------------------------------------------------- */
653 /* DigitalNow DNTV Live! DVB-T Pro Remote */
654 IR_KEYTAB_TYPE ir_codes_dntv_live_dvbt_pro[IR_KEYTAB_SIZE] = {
655 [ 0x16 ] = KEY_POWER,
658 [ 0x55 ] = KEY_TV, /* live tv */
659 [ 0x58 ] = KEY_TUNER, /* digital Radio */
660 [ 0x5a ] = KEY_RADIO, /* FM radio */
661 [ 0x59 ] = KEY_DVD, /* dvd menu */
671 [ 0x0c ] = KEY_CANCEL,
673 [ 0x4a ] = KEY_CLEAR,
679 [ 0x52 ] = KEY_RIGHT,
681 [ 0x1e ] = KEY_VOLUMEUP,
682 [ 0x0a ] = KEY_VOLUMEDOWN,
683 [ 0x02 ] = KEY_CHANNELDOWN,
684 [ 0x05 ] = KEY_CHANNELUP,
685 [ 0x11 ] = KEY_RECORD,
687 [ 0x4c ] = KEY_PAUSE,
689 [ 0x40 ] = KEY_REWIND,
690 [ 0x12 ] = KEY_FASTFORWARD,
691 [ 0x41 ] = KEY_PREVIOUSSONG, /* replay |< */
692 [ 0x42 ] = KEY_NEXTSONG, /* skip >| */
693 [ 0x54 ] = KEY_CAMERA, /* capture */
694 [ 0x50 ] = KEY_LANGUAGE, /* sap */
695 [ 0x47 ] = KEY_TV2, /* pip */
696 [ 0x4d ] = KEY_SCREEN,
697 [ 0x43 ] = KEY_SUBTITLE,
699 [ 0x49 ] = KEY_AUDIO, /* l/r */
700 [ 0x07 ] = KEY_SLEEP,
701 [ 0x08 ] = KEY_VIDEO, /* a/v */
702 [ 0x0e ] = KEY_PREVIOUS, /* recall */
703 [ 0x45 ] = KEY_ZOOM, /* zoom + */
704 [ 0x46 ] = KEY_ANGLE, /* zoom - */
706 [ 0x57 ] = KEY_GREEN,
707 [ 0x5c ] = KEY_YELLOW,
711 EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvbt_pro);
713 IR_KEYTAB_TYPE ir_codes_em_terratec[IR_KEYTAB_SIZE] = {
714 [ 0x01 ] = KEY_CHANNEL,
715 [ 0x02 ] = KEY_SELECT,
717 [ 0x04 ] = KEY_POWER,
721 [ 0x08 ] = KEY_CHANNELUP,
725 [ 0x0c ] = KEY_CHANNELDOWN,
729 [ 0x10 ] = KEY_VOLUMEUP,
732 [ 0x13 ] = KEY_PRINT,
733 [ 0x14 ] = KEY_VOLUMEDOWN,
734 [ 0x16 ] = KEY_PAUSE,
735 [ 0x18 ] = KEY_RECORD,
736 [ 0x19 ] = KEY_REWIND,
738 [ 0x1b ] = KEY_FORWARD,
739 [ 0x1c ] = KEY_BACKSPACE,
744 EXPORT_SYMBOL_GPL(ir_codes_em_terratec);
746 IR_KEYTAB_TYPE ir_codes_pinnacle_grey[IR_KEYTAB_SIZE] = {
758 [ 0x2f ] = KEY_POWER,
764 [ 0x2d ] = KEY_SCREEN,
766 [ 0x1b ] = KEY_VOLUMEUP,
767 [ 0x0f ] = KEY_VOLUMEDOWN,
768 [ 0x17 ] = KEY_CHANNELUP,
769 [ 0x1c ] = KEY_CHANNELDOWN,
775 [ 0x3b ] = KEY_RIGHT,
779 [ 0x1a ] = KEY_ENTER,
782 [ 0x19 ] = KEY_AGAIN,
783 [ 0x16 ] = KEY_PREVIOUSSONG,
784 [ 0x13 ] = KEY_NEXTSONG,
785 [ 0x15 ] = KEY_PAUSE,
786 [ 0x0e ] = KEY_REWIND,
789 [ 0x07 ] = KEY_FORWARD,
790 [ 0x27 ] = KEY_RECORD,
791 [ 0x26 ] = KEY_TUNER,
793 [ 0x2a ] = KEY_MEDIA,
797 EXPORT_SYMBOL_GPL(ir_codes_pinnacle_grey);
799 IR_KEYTAB_TYPE ir_codes_flyvideo[IR_KEYTAB_SIZE] = {
811 [ 0x0e ] = KEY_MODE, // Air/Cable
812 [ 0x11 ] = KEY_VIDEO, // Video
813 [ 0x15 ] = KEY_AUDIO, // Audio
814 [ 0x00 ] = KEY_POWER, // Power
815 [ 0x18 ] = KEY_TUNER, // AV Source
816 [ 0x02 ] = KEY_ZOOM, // Fullscreen
817 [ 0x1a ] = KEY_LANGUAGE, // Stereo
818 [ 0x1b ] = KEY_MUTE, // Mute
819 [ 0x14 ] = KEY_VOLUMEUP, // Volume +
820 [ 0x17 ] = KEY_VOLUMEDOWN, // Volume -
821 [ 0x12 ] = KEY_CHANNELUP, // Channel +
822 [ 0x13 ] = KEY_CHANNELDOWN, // Channel -
823 [ 0x06 ] = KEY_AGAIN, // Recall
824 [ 0x10 ] = KEY_ENTER, // Enter
826 [ 0x19 ] = KEY_BACK, // Rewind ( <<< )
827 [ 0x1f ] = KEY_FORWARD, // Forward ( >>> )
828 [ 0x0a ] = KEY_ANGLE, // (no label, may be used as the PAUSE button)
831 EXPORT_SYMBOL_GPL(ir_codes_flyvideo);
833 IR_KEYTAB_TYPE ir_codes_flydvb[IR_KEYTAB_SIZE] = {
834 [ 0x01 ] = KEY_ZOOM, // Full Screen
835 [ 0x00 ] = KEY_POWER, // Power
846 [ 0x06 ] = KEY_AGAIN, // Recall
848 [ 0x10 ] = KEY_MUTE, // Mute
849 [ 0x02 ] = KEY_RADIO, // TV/Radio
850 [ 0x1b ] = KEY_LANGUAGE, // SAP (Second Audio Program)
852 [ 0x14 ] = KEY_VOLUMEUP, // VOL+
853 [ 0x17 ] = KEY_VOLUMEDOWN, // VOL-
854 [ 0x12 ] = KEY_CHANNELUP, // CH+
855 [ 0x13 ] = KEY_CHANNELDOWN, // CH-
856 [ 0x1d ] = KEY_ENTER, // Enter
858 [ 0x1a ] = KEY_MODE, // PIP
859 [ 0x18 ] = KEY_TUNER, // Source
861 [ 0x1e ] = KEY_RECORD, // Record/Pause
862 [ 0x15 ] = KEY_ANGLE, // Swap (no label on key)
863 [ 0x1c ] = KEY_PAUSE, // Timeshift/Pause
864 [ 0x19 ] = KEY_BACK, // Rewind <<
865 [ 0x0a ] = KEY_PLAYPAUSE, // Play/Pause
866 [ 0x1f ] = KEY_FORWARD, // Forward >>
867 [ 0x16 ] = KEY_PREVIOUS, // Back |<<
868 [ 0x11 ] = KEY_STOP, // Stop
869 [ 0x0e ] = KEY_NEXT, // End >>|
872 EXPORT_SYMBOL_GPL(ir_codes_flydvb);
874 IR_KEYTAB_TYPE ir_codes_cinergy[IR_KEYTAB_SIZE] = {
886 [ 0x0a ] = KEY_POWER,
887 [ 0x0b ] = KEY_PROG1, // app
888 [ 0x0c ] = KEY_ZOOM, // zoom/fullscreen
889 [ 0x0d ] = KEY_CHANNELUP, // channel
890 [ 0x0e ] = KEY_CHANNELDOWN, // channel-
891 [ 0x0f ] = KEY_VOLUMEUP,
892 [ 0x10 ] = KEY_VOLUMEDOWN,
893 [ 0x11 ] = KEY_TUNER, // AV
894 [ 0x12 ] = KEY_NUMLOCK, // -/--
895 [ 0x13 ] = KEY_AUDIO, // audio
900 [ 0x18 ] = KEY_RIGHT,
902 [ 0x1a ] = BTN_RIGHT,
903 [ 0x1b ] = KEY_WWW, // text
904 [ 0x1c ] = KEY_REWIND,
905 [ 0x1d ] = KEY_FORWARD,
906 [ 0x1e ] = KEY_RECORD,
908 [ 0x20 ] = KEY_PREVIOUSSONG,
909 [ 0x21 ] = KEY_NEXTSONG,
910 [ 0x22 ] = KEY_PAUSE,
914 EXPORT_SYMBOL_GPL(ir_codes_cinergy);
916 /* Alfons Geser <a.geser@cox.net>
917 * updates from Job D. R. Borges <jobdrb@ig.com.br> */
918 IR_KEYTAB_TYPE ir_codes_eztv[IR_KEYTAB_SIZE] = {
919 [ 0x12 ] = KEY_POWER,
920 [ 0x01 ] = KEY_TV, // DVR
921 [ 0x15 ] = KEY_DVD, // DVD
922 [ 0x17 ] = KEY_AUDIO, // music
923 // DVR mode / DVD mode / music mode
925 [ 0x1b ] = KEY_MUTE, // mute
926 [ 0x02 ] = KEY_LANGUAGE, // MTS/SAP / audio / autoseek
927 [ 0x1e ] = KEY_SUBTITLE, // closed captioning / subtitle / seek
928 [ 0x16 ] = KEY_ZOOM, // full screen
929 [ 0x1c ] = KEY_VIDEO, // video source / eject / delall
930 [ 0x1d ] = KEY_RESTART, // playback / angle / del
931 [ 0x2f ] = KEY_SEARCH, // scan / menu / playlist
932 [ 0x30 ] = KEY_CHANNEL, // CH surfing / bookmark / memo
934 [ 0x31 ] = KEY_HELP, // help
935 [ 0x32 ] = KEY_MODE, // num/memo
936 [ 0x33 ] = KEY_ESC, // cancel
938 [ 0x0c ] = KEY_UP, // up
939 [ 0x10 ] = KEY_DOWN, // down
940 [ 0x08 ] = KEY_LEFT, // left
941 [ 0x04 ] = KEY_RIGHT, // right
942 [ 0x03 ] = KEY_SELECT, // select
944 [ 0x1f ] = KEY_REWIND, // rewind
945 [ 0x20 ] = KEY_PLAYPAUSE, // play/pause
946 [ 0x29 ] = KEY_FORWARD, // forward
947 [ 0x14 ] = KEY_AGAIN, // repeat
948 [ 0x2b ] = KEY_RECORD, // recording
949 [ 0x2c ] = KEY_STOP, // stop
950 [ 0x2d ] = KEY_PLAY, // play
951 [ 0x2e ] = KEY_SHUFFLE, // snapshot / shuffle
964 [ 0x2a ] = KEY_VOLUMEUP,
965 [ 0x11 ] = KEY_VOLUMEDOWN,
966 [ 0x18 ] = KEY_CHANNELUP, // CH.tracking up
967 [ 0x19 ] = KEY_CHANNELDOWN, // CH.tracking down
969 [ 0x13 ] = KEY_ENTER, // enter
970 [ 0x21 ] = KEY_DOT, // . (decimal dot)
973 EXPORT_SYMBOL_GPL(ir_codes_eztv);
975 /* Alex Hermann <gaaf@gmx.net> */
976 IR_KEYTAB_TYPE ir_codes_avermedia[IR_KEYTAB_SIZE] = {
988 [ 0x20 ] = KEY_TV, /* TV/FM */
989 [ 0x10 ] = KEY_CD, /* CD */
990 [ 0x30 ] = KEY_TEXT, /* TELETEXT */
991 [ 0x00 ] = KEY_POWER, /* POWER */
993 [ 0x08 ] = KEY_VIDEO, /* VIDEO */
994 [ 0x04 ] = KEY_AUDIO, /* AUDIO */
995 [ 0x0c ] = KEY_ZOOM, /* FULL SCREEN */
997 [ 0x12 ] = KEY_SUBTITLE, /* DISPLAY */
998 [ 0x32 ] = KEY_REWIND, /* LOOP */
999 [ 0x02 ] = KEY_PRINT, /* PREVIEW */
1001 [ 0x2a ] = KEY_SEARCH, /* AUTOSCAN */
1002 [ 0x1a ] = KEY_SLEEP, /* FREEZE */
1003 [ 0x3a ] = KEY_SHUFFLE, /* SNAPSHOT */
1004 [ 0x0a ] = KEY_MUTE, /* MUTE */
1006 [ 0x26 ] = KEY_RECORD, /* RECORD */
1007 [ 0x16 ] = KEY_PAUSE, /* PAUSE */
1008 [ 0x36 ] = KEY_STOP, /* STOP */
1009 [ 0x06 ] = KEY_PLAY, /* PLAY */
1011 [ 0x2e ] = KEY_RED, /* RED */
1012 [ 0x21 ] = KEY_GREEN, /* GREEN */
1013 [ 0x0e ] = KEY_YELLOW, /* YELLOW */
1014 [ 0x01 ] = KEY_BLUE, /* BLUE */
1016 [ 0x1e ] = KEY_VOLUMEDOWN, /* VOLUME- */
1017 [ 0x3e ] = KEY_VOLUMEUP, /* VOLUME+ */
1018 [ 0x11 ] = KEY_CHANNELDOWN, /* CHANNEL/PAGE- */
1019 [ 0x31 ] = KEY_CHANNELUP /* CHANNEL/PAGE+ */
1022 EXPORT_SYMBOL_GPL(ir_codes_avermedia);
1024 IR_KEYTAB_TYPE ir_codes_videomate_tv_pvr[IR_KEYTAB_SIZE] = {
1025 [ 0x14 ] = KEY_MUTE,
1026 [ 0x24 ] = KEY_ZOOM,
1029 [ 0x23 ] = KEY_RADIO,
1032 [ 0x0a ] = KEY_REWIND,
1033 [ 0x08 ] = KEY_PLAYPAUSE,
1034 [ 0x0f ] = KEY_FORWARD,
1036 [ 0x02 ] = KEY_PREVIOUS,
1037 [ 0x07 ] = KEY_STOP,
1038 [ 0x06 ] = KEY_NEXT,
1041 [ 0x0e ] = KEY_DOWN,
1042 [ 0x0b ] = KEY_LEFT,
1043 [ 0x0d ] = KEY_RIGHT,
1046 [ 0x03 ] = KEY_MENU,
1047 [ 0x09 ] = KEY_SETUP,
1048 [ 0x05 ] = KEY_VIDEO,
1049 [ 0x22 ] = KEY_CHANNEL,
1051 [ 0x12 ] = KEY_VOLUMEUP,
1052 [ 0x15 ] = KEY_VOLUMEDOWN,
1053 [ 0x10 ] = KEY_CHANNELUP,
1054 [ 0x13 ] = KEY_CHANNELDOWN,
1056 [ 0x04 ] = KEY_RECORD,
1069 [ 0x20 ] = KEY_LANGUAGE,
1070 [ 0x21 ] = KEY_SLEEP,
1073 EXPORT_SYMBOL_GPL(ir_codes_videomate_tv_pvr);
1075 /* Michael Tokarev <mjt@tls.msk.ru>
1076 http://www.corpit.ru/mjt/beholdTV/remote_control.jpg
1077 keytable is used by MANLI MTV00[ 0x0c ] and BeholdTV 40[13] at
1078 least, and probably other cards too.
1079 The "ascii-art picture" below (in comments, first row
1080 is the keycode in hex, and subsequent row(s) shows
1081 the button labels (several variants when appropriate)
1082 helps to descide which keycodes to assign to the buttons.
1084 IR_KEYTAB_TYPE ir_codes_manli[IR_KEYTAB_SIZE] = {
1090 [ 0x1c ] = KEY_RADIO, /*XXX*/
1091 [ 0x12 ] = KEY_POWER,
1116 [ 0x0a ] = KEY_AGAIN, /*XXX KEY_REWIND? */
1118 [ 0x17 ] = KEY_DIGITS, /*XXX*/
1123 [ 0x14 ] = KEY_MENU,
1124 [ 0x10 ] = KEY_INFO,
1135 [ 0x0b ] = KEY_UP, /*XXX KEY_SCROLLUP? */
1136 [ 0x18 ] = KEY_LEFT, /*XXX KEY_BACK? */
1137 [ 0x16 ] = KEY_OK, /*XXX KEY_SELECT? KEY_ENTER? */
1138 [ 0x0c ] = KEY_RIGHT, /*XXX KEY_FORWARD? */
1139 [ 0x15 ] = KEY_DOWN, /*XXX KEY_SCROLLDOWN? */
1145 [ 0x11 ] = KEY_TV, /*XXX*/
1146 [ 0x0d ] = KEY_MODE, /*XXX there's no KEY_STEREO */
1149 * AUDIO Vol+ Chan+ *
1153 * SLEEP Vol- Chan- *
1155 [ 0x0f ] = KEY_AUDIO,
1156 [ 0x1b ] = KEY_VOLUMEUP,
1157 [ 0x1a ] = KEY_CHANNELUP,
1158 [ 0x0e ] = KEY_SLEEP, /*XXX maybe KEY_PAUSE */
1159 [ 0x1f ] = KEY_VOLUMEDOWN,
1160 [ 0x1e ] = KEY_CHANNELDOWN,
1165 [ 0x13 ] = KEY_MUTE,
1166 [ 0x19 ] = KEY_RECORD, /*XXX*/
1171 EXPORT_SYMBOL_GPL(ir_codes_manli);
1173 /* Mike Baikov <mike@baikov.com> */
1174 IR_KEYTAB_TYPE ir_codes_gotview7135[IR_KEYTAB_SIZE] = {
1176 [ 0x11 ] = KEY_POWER,
1188 [ 0x3b ] = KEY_AGAIN, /* LOOP */
1189 [ 0x06 ] = KEY_AUDIO,
1190 [ 0x31 ] = KEY_PRINT, /* PREVIEW */
1191 [ 0x3e ] = KEY_VIDEO,
1192 [ 0x10 ] = KEY_CHANNELUP,
1193 [ 0x20 ] = KEY_CHANNELDOWN,
1194 [ 0x0c ] = KEY_VOLUMEDOWN,
1195 [ 0x28 ] = KEY_VOLUMEUP,
1196 [ 0x08 ] = KEY_MUTE,
1197 [ 0x26 ] = KEY_SEARCH, /*SCAN*/
1198 [ 0x3f ] = KEY_SHUFFLE, /* SNAPSHOT */
1199 [ 0x12 ] = KEY_RECORD,
1200 [ 0x32 ] = KEY_STOP,
1201 [ 0x3c ] = KEY_PLAY,
1202 [ 0x1d ] = KEY_REWIND,
1203 [ 0x2d ] = KEY_PAUSE,
1204 [ 0x0d ] = KEY_FORWARD,
1205 [ 0x05 ] = KEY_ZOOM, /*FULL*/
1207 [ 0x2a ] = KEY_F21, /* LIVE TIMESHIFT */
1208 [ 0x0e ] = KEY_F22, /* MIN TIMESHIFT */
1209 [ 0x1e ] = KEY_F23, /* TIMESHIFT */
1210 [ 0x38 ] = KEY_F24, /* NORMAL TIMESHIFT */
1213 EXPORT_SYMBOL_GPL(ir_codes_gotview7135);
1215 IR_KEYTAB_TYPE ir_codes_purpletv[IR_KEYTAB_SIZE] = {
1216 [ 0x03 ] = KEY_POWER,
1217 [ 0x6f ] = KEY_MUTE,
1218 [ 0x10 ] = KEY_BACKSPACE, /* Recall */
1230 [ 0x12 ] = KEY_DOT, /* 100+ */
1232 [ 0x07 ] = KEY_VOLUMEUP,
1233 [ 0x0b ] = KEY_VOLUMEDOWN,
1234 [ 0x1a ] = KEY_KPPLUS,
1235 [ 0x18 ] = KEY_KPMINUS,
1237 [ 0x1d ] = KEY_DOWN,
1238 [ 0x0f ] = KEY_CHANNELUP,
1239 [ 0x13 ] = KEY_CHANNELDOWN,
1240 [ 0x48 ] = KEY_ZOOM,
1242 [ 0x1b ] = KEY_VIDEO, /* Video source */
1243 [ 0x49 ] = KEY_LANGUAGE, /* MTS Select */
1244 [ 0x19 ] = KEY_SEARCH, /* Auto Scan */
1246 [ 0x4b ] = KEY_RECORD,
1247 [ 0x46 ] = KEY_PLAY,
1248 [ 0x45 ] = KEY_PAUSE, /* Pause */
1249 [ 0x44 ] = KEY_STOP,
1250 [ 0x40 ] = KEY_FORWARD, /* Forward ? */
1251 [ 0x42 ] = KEY_REWIND, /* Backward ? */
1255 EXPORT_SYMBOL_GPL(ir_codes_purpletv);
1257 /* Mapping for the 28 key remote control as seen at
1258 http://www.sednacomputer.com/photo/cardbus-tv.jpg
1259 Pavel Mihaylov <bin@bash.info>
1260 Also for the remote bundled with Kozumi KTV-01C card */
1261 IR_KEYTAB_TYPE ir_codes_pctv_sedna[IR_KEYTAB_SIZE] = {
1273 [ 0x0a ] = KEY_AGAIN, /* Recall */
1274 [ 0x0b ] = KEY_CHANNELUP,
1275 [ 0x0c ] = KEY_VOLUMEUP,
1276 [ 0x0d ] = KEY_MODE, /* Stereo */
1277 [ 0x0e ] = KEY_STOP,
1278 [ 0x0f ] = KEY_PREVIOUSSONG,
1279 [ 0x10 ] = KEY_ZOOM,
1280 [ 0x11 ] = KEY_TUNER, /* Source */
1281 [ 0x12 ] = KEY_POWER,
1282 [ 0x13 ] = KEY_MUTE,
1283 [ 0x15 ] = KEY_CHANNELDOWN,
1284 [ 0x18 ] = KEY_VOLUMEDOWN,
1285 [ 0x19 ] = KEY_SHUFFLE, /* Snapshot */
1286 [ 0x1a ] = KEY_NEXTSONG,
1287 [ 0x1b ] = KEY_TEXT, /* Time Shift */
1288 [ 0x1c ] = KEY_RADIO, /* FM Radio */
1289 [ 0x1d ] = KEY_RECORD,
1290 [ 0x1e ] = KEY_PAUSE,
1291 /* additional codes for Kozumi's remote */
1292 [0x14] = KEY_INFO, /* OSD */
1293 [0x16] = KEY_OK, /* OK */
1294 [0x17] = KEY_DIGITS, /* Plus */
1295 [0x1f] = KEY_PLAY, /* Play */
1298 EXPORT_SYMBOL_GPL(ir_codes_pctv_sedna);
1300 /* Mark Phalan <phalanm@o2.ie> */
1301 IR_KEYTAB_TYPE ir_codes_pv951[IR_KEYTAB_SIZE] = {
1313 [ 0x12 ] = KEY_POWER,
1314 [ 0x10 ] = KEY_MUTE,
1315 [ 0x1f ] = KEY_VOLUMEDOWN,
1316 [ 0x1b ] = KEY_VOLUMEUP,
1317 [ 0x1a ] = KEY_CHANNELUP,
1318 [ 0x1e ] = KEY_CHANNELDOWN,
1319 [ 0x0e ] = KEY_PAGEUP,
1320 [ 0x1d ] = KEY_PAGEDOWN,
1321 [ 0x13 ] = KEY_SOUND,
1323 [ 0x18 ] = KEY_KPPLUSMINUS, /* CH +/- */
1324 [ 0x16 ] = KEY_SUBTITLE, /* CC */
1325 [ 0x0d ] = KEY_TEXT, /* TTX */
1326 [ 0x0b ] = KEY_TV, /* AIR/CBL */
1327 [ 0x11 ] = KEY_PC, /* PC/TV */
1328 [ 0x17 ] = KEY_OK, /* CH RTN */
1329 [ 0x19 ] = KEY_MODE, /* FUNC */
1330 [ 0x0c ] = KEY_SEARCH, /* AUTOSCAN */
1332 /* Not sure what to do with these ones! */
1333 [ 0x0f ] = KEY_SELECT, /* SOURCE */
1334 [ 0x0a ] = KEY_KPPLUS, /* +100 */
1335 [ 0x14 ] = KEY_EQUAL, /* SYNC */
1336 [ 0x1c ] = KEY_MEDIA, /* PC/TV */
1339 EXPORT_SYMBOL_GPL(ir_codes_pv951);
1341 /* generic RC5 keytable */
1342 /* see http://users.pandora.be/nenya/electronics/rc5/codes00.htm */
1343 /* used by old (black) Hauppauge remotes */
1344 IR_KEYTAB_TYPE ir_codes_rc5_tv[IR_KEYTAB_SIZE] = {
1357 [ 0x0b ] = KEY_CHANNEL, /* channel / program (japan: 11) */
1358 [ 0x0c ] = KEY_POWER, /* standby */
1359 [ 0x0d ] = KEY_MUTE, /* mute / demute */
1360 [ 0x0f ] = KEY_TV, /* display */
1361 [ 0x10 ] = KEY_VOLUMEUP,
1362 [ 0x11 ] = KEY_VOLUMEDOWN,
1363 [ 0x12 ] = KEY_BRIGHTNESSUP,
1364 [ 0x13 ] = KEY_BRIGHTNESSDOWN,
1365 [ 0x1e ] = KEY_SEARCH, /* search + */
1366 [ 0x20 ] = KEY_CHANNELUP, /* channel / program + */
1367 [ 0x21 ] = KEY_CHANNELDOWN, /* channel / program - */
1368 [ 0x22 ] = KEY_CHANNEL, /* alt / channel */
1369 [ 0x23 ] = KEY_LANGUAGE, /* 1st / 2nd language */
1370 [ 0x26 ] = KEY_SLEEP, /* sleeptimer */
1371 [ 0x2e ] = KEY_MENU, /* 2nd controls (USA: menu) */
1372 [ 0x30 ] = KEY_PAUSE,
1373 [ 0x32 ] = KEY_REWIND,
1374 [ 0x33 ] = KEY_GOTO,
1375 [ 0x35 ] = KEY_PLAY,
1376 [ 0x36 ] = KEY_STOP,
1377 [ 0x37 ] = KEY_RECORD, /* recording */
1378 [ 0x3c ] = KEY_TEXT, /* teletext submode (Japan: 12) */
1379 [ 0x3d ] = KEY_SUSPEND, /* system standby */
1383 EXPORT_SYMBOL_GPL(ir_codes_rc5_tv);
1385 /* Table for Leadtek Winfast Remote Controls - used by both bttv and cx88 */
1386 IR_KEYTAB_TYPE ir_codes_winfast[IR_KEYTAB_SIZE] = {
1399 [ 0x00 ] = KEY_POWER,
1400 [ 0x1b ] = KEY_AUDIO, /* Audio Source */
1401 [ 0x02 ] = KEY_TUNER, /* TV/FM, not on Y0400052 */
1402 [ 0x1e ] = KEY_VIDEO, /* Video Source */
1403 [ 0x16 ] = KEY_INFO, /* Display information */
1404 [ 0x04 ] = KEY_VOLUMEUP,
1405 [ 0x08 ] = KEY_VOLUMEDOWN,
1406 [ 0x0c ] = KEY_CHANNELUP,
1407 [ 0x10 ] = KEY_CHANNELDOWN,
1408 [ 0x03 ] = KEY_ZOOM, /* fullscreen */
1409 [ 0x1f ] = KEY_TEXT, /* closed caption/teletext */
1410 [ 0x20 ] = KEY_SLEEP,
1411 [ 0x29 ] = KEY_CLEAR, /* boss key */
1412 [ 0x14 ] = KEY_MUTE,
1414 [ 0x2c ] = KEY_GREEN,
1415 [ 0x2d ] = KEY_YELLOW,
1416 [ 0x2e ] = KEY_BLUE,
1417 [ 0x18 ] = KEY_KPPLUS, /* fine tune + , not on Y040052 */
1418 [ 0x19 ] = KEY_KPMINUS, /* fine tune - , not on Y040052 */
1419 [ 0x2a ] = KEY_MEDIA, /* PIP (Picture in picture */
1421 [ 0x13 ] = KEY_ENTER,
1422 [ 0x11 ] = KEY_LAST, /* Recall (last channel */
1423 [ 0x22 ] = KEY_PREVIOUS,
1424 [ 0x23 ] = KEY_PLAYPAUSE,
1425 [ 0x24 ] = KEY_NEXT,
1426 [ 0x25 ] = KEY_ARCHIVE, /* Time Shifting */
1427 [ 0x26 ] = KEY_STOP,
1428 [ 0x27 ] = KEY_RECORD,
1429 [ 0x28 ] = KEY_SAVE, /* Screenshot */
1430 [ 0x2f ] = KEY_MENU,
1431 [ 0x30 ] = KEY_CANCEL,
1432 [ 0x31 ] = KEY_CHANNEL, /* Channel Surf */
1433 [ 0x32 ] = KEY_SUBTITLE,
1434 [ 0x33 ] = KEY_LANGUAGE,
1435 [ 0x34 ] = KEY_REWIND,
1436 [ 0x35 ] = KEY_FASTFORWARD,
1438 [ 0x37 ] = KEY_RADIO, /* FM */
1441 [ 0x3e ] = KEY_F21, /* MCE +VOL, on Y04G0033 */
1442 [ 0x3a ] = KEY_F22, /* MCE -VOL, on Y04G0033 */
1443 [ 0x3b ] = KEY_F23, /* MCE +CH, on Y04G0033 */
1444 [ 0x3f ] = KEY_F24 /* MCE -CH, on Y04G0033 */
1447 EXPORT_SYMBOL_GPL(ir_codes_winfast);
1449 IR_KEYTAB_TYPE ir_codes_pinnacle_color[IR_KEYTAB_SIZE] = {
1450 [ 0x59 ] = KEY_MUTE,
1451 [ 0x4a ] = KEY_POWER,
1453 [ 0x18 ] = KEY_TEXT,
1455 [ 0x3d ] = KEY_PRINT,
1458 [ 0x04 ] = KEY_GREEN,
1459 [ 0x11 ] = KEY_YELLOW,
1460 [ 0x00 ] = KEY_BLUE,
1462 [ 0x2d ] = KEY_VOLUMEUP,
1463 [ 0x1e ] = KEY_VOLUMEDOWN,
1465 [ 0x49 ] = KEY_MENU,
1467 [ 0x16 ] = KEY_CHANNELUP,
1468 [ 0x17 ] = KEY_CHANNELDOWN,
1471 [ 0x21 ] = KEY_DOWN,
1472 [ 0x22 ] = KEY_LEFT,
1473 [ 0x23 ] = KEY_RIGHT,
1474 [ 0x0d ] = KEY_SELECT,
1478 [ 0x08 ] = KEY_BACK,
1479 [ 0x07 ] = KEY_REFRESH,
1481 [ 0x2f ] = KEY_ZOOM,
1482 [ 0x29 ] = KEY_RECORD,
1484 [ 0x4b ] = KEY_PAUSE,
1485 [ 0x4d ] = KEY_REWIND,
1486 [ 0x2e ] = KEY_PLAY,
1487 [ 0x4e ] = KEY_FORWARD,
1488 [ 0x53 ] = KEY_PREVIOUS,
1489 [ 0x4c ] = KEY_STOP,
1490 [ 0x54 ] = KEY_NEXT,
1503 [ 0x74 ] = KEY_CHANNEL,
1504 [ 0x0a ] = KEY_BACKSPACE,
1507 EXPORT_SYMBOL_GPL(ir_codes_pinnacle_color);
1509 /* Hauppauge: the newer, gray remotes (seems there are multiple
1510 * slightly different versions), shipped with cx88+ivtv cards.
1511 * almost rc5 coding, but some non-standard keys */
1512 IR_KEYTAB_TYPE ir_codes_hauppauge_new[IR_KEYTAB_SIZE] = {
1525 [ 0x0a ] = KEY_TEXT, /* keypad asterisk as well */
1526 [ 0x0b ] = KEY_RED, /* red button */
1527 [ 0x0c ] = KEY_RADIO,
1528 [ 0x0d ] = KEY_MENU,
1529 [ 0x0e ] = KEY_SUBTITLE, /* also the # key */
1530 [ 0x0f ] = KEY_MUTE,
1531 [ 0x10 ] = KEY_VOLUMEUP,
1532 [ 0x11 ] = KEY_VOLUMEDOWN,
1533 [ 0x12 ] = KEY_PREVIOUS, /* previous channel */
1535 [ 0x15 ] = KEY_DOWN,
1536 [ 0x16 ] = KEY_LEFT,
1537 [ 0x17 ] = KEY_RIGHT,
1538 [ 0x18 ] = KEY_VIDEO, /* Videos */
1539 [ 0x19 ] = KEY_AUDIO, /* Music */
1540 /* 0x1a: Pictures - presume this means
1541 "Multimedia Home Platform" -
1542 no "PICTURES" key in input.h
1546 [ 0x1b ] = KEY_EPG, /* Guide */
1548 [ 0x1e ] = KEY_NEXTSONG, /* skip >| */
1549 [ 0x1f ] = KEY_EXIT, /* back/exit */
1550 [ 0x20 ] = KEY_CHANNELUP, /* channel / program + */
1551 [ 0x21 ] = KEY_CHANNELDOWN, /* channel / program - */
1552 [ 0x22 ] = KEY_CHANNEL, /* source (old black remote) */
1553 [ 0x24 ] = KEY_PREVIOUSSONG, /* replay |< */
1554 [ 0x25 ] = KEY_ENTER, /* OK */
1555 [ 0x26 ] = KEY_SLEEP, /* minimize (old black remote) */
1556 [ 0x29 ] = KEY_BLUE, /* blue key */
1557 [ 0x2e ] = KEY_GREEN, /* green button */
1558 [ 0x30 ] = KEY_PAUSE, /* pause */
1559 [ 0x32 ] = KEY_REWIND, /* backward << */
1560 [ 0x34 ] = KEY_FASTFORWARD, /* forward >> */
1561 [ 0x35 ] = KEY_PLAY,
1562 [ 0x36 ] = KEY_STOP,
1563 [ 0x37 ] = KEY_RECORD, /* recording */
1564 [ 0x38 ] = KEY_YELLOW, /* yellow key */
1565 [ 0x3b ] = KEY_SELECT, /* top right button */
1566 [ 0x3c ] = KEY_ZOOM, /* full */
1567 [ 0x3d ] = KEY_POWER, /* system power (green button) */
1570 EXPORT_SYMBOL_GPL(ir_codes_hauppauge_new);
1572 IR_KEYTAB_TYPE ir_codes_npgtech[IR_KEYTAB_SIZE] = {
1573 [ 0x1d ] = KEY_SWITCHVIDEOMODE, /* switch inputs */
1574 [ 0x2a ] = KEY_FRONT,
1586 [ 0x22 ] = KEY_NUMLOCK, /* -/-- */
1587 [ 0x20 ] = KEY_REFRESH,
1589 [ 0x03 ] = KEY_BRIGHTNESSDOWN,
1590 [ 0x28 ] = KEY_AUDIO,
1592 [ 0x3f ] = KEY_LEFT,
1593 [ 0x2e ] = KEY_MUTE,
1594 [ 0x3b ] = KEY_RIGHT,
1595 [ 0x00 ] = KEY_DOWN,
1596 [ 0x07 ] = KEY_BRIGHTNESSUP,
1597 [ 0x2c ] = KEY_TEXT,
1599 [ 0x37 ] = KEY_RECORD,
1600 [ 0x17 ] = KEY_PLAY,
1601 [ 0x13 ] = KEY_PAUSE,
1602 [ 0x26 ] = KEY_STOP,
1603 [ 0x18 ] = KEY_FASTFORWARD,
1604 [ 0x14 ] = KEY_REWIND,
1605 [ 0x33 ] = KEY_ZOOM,
1606 [ 0x32 ] = KEY_KEYBOARD,
1607 [ 0x30 ] = KEY_GOTO, /* Pointing arrow */
1608 [ 0x36 ] = KEY_MACRO, /* Maximize/Minimize (yellow) */
1609 [ 0x0b ] = KEY_RADIO,
1610 [ 0x10 ] = KEY_POWER,
1614 EXPORT_SYMBOL_GPL(ir_codes_npgtech);
1616 /* Norwood Micro (non-Pro) TV Tuner
1617 By Peter Naulls <peter@chocky.org>
1618 Key comments are the functions given in the manual */
1619 IR_KEYTAB_TYPE ir_codes_norwood[IR_KEYTAB_SIZE] = {
1632 [ 0x78 ] = KEY_TUNER, /* Video Source */
1633 [ 0x2c ] = KEY_EXIT, /* Open/Close software */
1634 [ 0x2a ] = KEY_SELECT, /* 2 Digit Select */
1635 [ 0x69 ] = KEY_AGAIN, /* Recall */
1637 [ 0x32 ] = KEY_BRIGHTNESSUP, /* Brightness increase */
1638 [ 0x33 ] = KEY_BRIGHTNESSDOWN, /* Brightness decrease */
1639 [ 0x6b ] = KEY_KPPLUS, /* (not named >>>>>) */
1640 [ 0x6c ] = KEY_KPMINUS, /* (not named <<<<<) */
1642 [ 0x2d ] = KEY_MUTE, /* Mute */
1643 [ 0x30 ] = KEY_VOLUMEUP, /* Volume up */
1644 [ 0x31 ] = KEY_VOLUMEDOWN, /* Volume down */
1645 [ 0x60 ] = KEY_CHANNELUP, /* Channel up */
1646 [ 0x61 ] = KEY_CHANNELDOWN, /* Channel down */
1648 [ 0x3f ] = KEY_RECORD, /* Record */
1649 [ 0x37 ] = KEY_PLAY, /* Play */
1650 [ 0x36 ] = KEY_PAUSE, /* Pause */
1651 [ 0x2b ] = KEY_STOP, /* Stop */
1652 [ 0x67 ] = KEY_FASTFORWARD, /* Foward */
1653 [ 0x66 ] = KEY_REWIND, /* Rewind */
1654 [ 0x3e ] = KEY_SEARCH, /* Auto Scan */
1655 [ 0x2e ] = KEY_CAMERA, /* Capture Video */
1656 [ 0x6d ] = KEY_MENU, /* Show/Hide Control */
1657 [ 0x2f ] = KEY_ZOOM, /* Full Screen */
1658 [ 0x34 ] = KEY_RADIO, /* FM */
1659 [ 0x65 ] = KEY_POWER, /* Computer power */
1662 EXPORT_SYMBOL_GPL(ir_codes_norwood);
1664 /* From reading the following remotes:
1665 * Zenith Universal 7 / TV Mode 807 / VCR Mode 837
1666 * Hauppauge (from NOVA-CI-s box product)
1667 * This is a "middle of the road" approach, differences are noted
1669 IR_KEYTAB_TYPE ir_codes_budget_ci_old[IR_KEYTAB_SIZE] = {
1680 [ 0x0a ] = KEY_ENTER,
1682 [ 0x0c ] = KEY_POWER, /* RADIO on Hauppauge */
1683 [ 0x0d ] = KEY_MUTE,
1684 [ 0x0f ] = KEY_A, /* TV on Hauppauge */
1685 [ 0x10 ] = KEY_VOLUMEUP,
1686 [ 0x11 ] = KEY_VOLUMEDOWN,
1689 [ 0x1d ] = KEY_DOWN,
1690 [ 0x1e ] = KEY_OPTION, /* RESERVED on Hauppauge */
1691 [ 0x1f ] = KEY_BREAK,
1692 [ 0x20 ] = KEY_CHANNELUP,
1693 [ 0x21 ] = KEY_CHANNELDOWN,
1694 [ 0x22 ] = KEY_PREVIOUS, /* Prev. Ch on Zenith, SOURCE on Hauppauge */
1695 [ 0x24 ] = KEY_RESTART,
1697 [ 0x26 ] = KEY_CYCLEWINDOWS, /* MINIMIZE on Hauppauge */
1698 [ 0x28 ] = KEY_ENTER, /* VCR mode on Zenith */
1699 [ 0x29 ] = KEY_PAUSE,
1700 [ 0x2b ] = KEY_RIGHT,
1701 [ 0x2c ] = KEY_LEFT,
1702 [ 0x2e ] = KEY_MENU, /* FULL SCREEN on Hauppauge */
1703 [ 0x30 ] = KEY_SLOW,
1704 [ 0x31 ] = KEY_PREVIOUS, /* VCR mode on Zenith */
1705 [ 0x32 ] = KEY_REWIND,
1706 [ 0x34 ] = KEY_FASTFORWARD,
1707 [ 0x35 ] = KEY_PLAY,
1708 [ 0x36 ] = KEY_STOP,
1709 [ 0x37 ] = KEY_RECORD,
1710 [ 0x38 ] = KEY_TUNER, /* TV/VCR on Zenith */
1712 [ 0x3c ] = KEY_EXIT,
1713 [ 0x3d ] = KEY_POWER2,
1714 [ 0x3e ] = KEY_TUNER,
1717 EXPORT_SYMBOL_GPL(ir_codes_budget_ci_old);
1720 * Marc Fargas <telenieko@telenieko.com>
1721 * this is the remote control that comes with the asus p7131
1722 * which has a label saying is "Model PC-39"
1724 IR_KEYTAB_TYPE ir_codes_asus_pc39[IR_KEYTAB_SIZE] = {
1737 [ 0x3e ] = KEY_RADIO, /* radio */
1738 [ 0x03 ] = KEY_MENU, /* dvd/menu */
1739 [ 0x2a ] = KEY_VOLUMEUP,
1740 [ 0x19 ] = KEY_VOLUMEDOWN,
1742 [ 0x3b ] = KEY_DOWN,
1743 [ 0x27 ] = KEY_LEFT,
1744 [ 0x2f ] = KEY_RIGHT,
1745 [ 0x25 ] = KEY_VIDEO, /* video */
1746 [ 0x39 ] = KEY_AUDIO, /* music */
1748 [ 0x21 ] = KEY_TV, /* tv */
1749 [ 0x1d ] = KEY_EXIT, /* back */
1750 [ 0x0a ] = KEY_CHANNELUP, /* channel / program + */
1751 [ 0x1b ] = KEY_CHANNELDOWN, /* channel / program - */
1752 [ 0x1a ] = KEY_ENTER, /* enter */
1754 [ 0x06 ] = KEY_PAUSE, /* play/pause */
1755 [ 0x1e ] = KEY_PREVIOUS, /* rew */
1756 [ 0x26 ] = KEY_NEXT, /* forward */
1757 [ 0x0e ] = KEY_REWIND, /* backward << */
1758 [ 0x3a ] = KEY_FASTFORWARD, /* forward >> */
1759 [ 0x36 ] = KEY_STOP,
1760 [ 0x2e ] = KEY_RECORD, /* recording */
1761 [ 0x16 ] = KEY_POWER, /* the button that reads "close" */
1763 [ 0x11 ] = KEY_ZOOM, /* full screen */
1764 [ 0x13 ] = KEY_MACRO, /* recall */
1765 [ 0x23 ] = KEY_HOME, /* home */
1766 [ 0x05 ] = KEY_PVR, /* picture */
1767 [ 0x3d ] = KEY_MUTE, /* mute */
1768 [ 0x01 ] = KEY_DVD, /* dvd */
1771 EXPORT_SYMBOL_GPL(ir_codes_asus_pc39);
1774 /* Encore ENLTV-FM - black plastic, white front cover with white glowing buttons
1775 Juan Pablo Sormani <sorman@gmail.com> */
1776 IR_KEYTAB_TYPE ir_codes_encore_enltv[IR_KEYTAB_SIZE] = {
1778 /* Power button does nothing, neither in Windows app,
1779 although it sends data (used for BIOS wakeup?) */
1780 [ 0x0d ] = KEY_MUTE,
1783 [ 0x00 ] = KEY_VIDEO,
1784 [ 0x01 ] = KEY_AUDIO, /* music */
1785 [ 0x02 ] = KEY_MHP, /* picture */
1798 [ 0x09 ] = KEY_LIST, /* -/-- */
1799 [ 0x0b ] = KEY_LAST, /* recall */
1801 [ 0x14 ] = KEY_HOME, /* win start menu */
1802 [ 0x15 ] = KEY_EXIT, /* exit */
1804 [ 0x12 ] = KEY_DOWN,
1805 [ 0x0c ] = KEY_RIGHT,
1806 [ 0x17 ] = KEY_LEFT,
1808 [ 0x18 ] = KEY_ENTER, /* OK */
1811 [ 0x13 ] = KEY_D, /* desktop */
1813 [ 0x19 ] = KEY_SWITCHVIDEOMODE, /* switch */
1815 [ 0x1a ] = KEY_MENU,
1816 [ 0x1b ] = KEY_ZOOM, /* fullscreen */
1817 [ 0x44 ] = KEY_TIME, /* time shift */
1818 [ 0x40 ] = KEY_MODE, /* source */
1820 [ 0x5a ] = KEY_RECORD,
1821 [ 0x42 ] = KEY_PLAY, /* play/pause */
1822 [ 0x45 ] = KEY_STOP,
1823 [ 0x43 ] = KEY_CAMERA, /* camera icon */
1825 [ 0x48 ] = KEY_REWIND,
1826 [ 0x4a ] = KEY_FASTFORWARD,
1827 [ 0x49 ] = KEY_PREVIOUS,
1828 [ 0x4b ] = KEY_NEXT,
1830 [ 0x4c ] = KEY_FAVORITES, /* tv wall */
1831 [ 0x4d ] = KEY_SOUND, /* DVD sound */
1832 [ 0x4e ] = KEY_LANGUAGE, /* DVD lang */
1833 [ 0x4f ] = KEY_TEXT, /* DVD text */
1835 [ 0x50 ] = KEY_SLEEP, /* shutdown */
1836 [ 0x51 ] = KEY_MODE, /* stereo > main */
1837 [ 0x52 ] = KEY_SELECT, /* stereo > sap */
1838 [ 0x53 ] = KEY_PROG1, /* teletext */
1841 [ 0x59 ] = KEY_RED, /* AP1 */
1842 [ 0x41 ] = KEY_GREEN, /* AP2 */
1843 [ 0x47 ] = KEY_YELLOW, /* AP3 */
1844 [ 0x57 ] = KEY_BLUE, /* AP4 */
1846 EXPORT_SYMBOL_GPL(ir_codes_encore_enltv);
1848 /* Encore ENLTV2-FM - silver plastic - "Wand Media" written at the botton
1849 Mauro Carvalho Chehab <mchehab@infradead.org> */
1850 IR_KEYTAB_TYPE ir_codes_encore_enltv2[IR_KEYTAB_SIZE] = {
1851 [0x4c] = KEY_POWER2,
1864 [0x64] = KEY_LAST, /* +100 */
1865 [0x4e] = KEY_AGAIN, /* Recall */
1867 [0x6c] = KEY_SWITCHVIDEOMODE, /* Video Source */
1869 [0x56] = KEY_SCREEN,
1873 [0x5c] = KEY_MODE, /* Stereo */
1883 [0x42] = KEY_VOLUMEUP,
1884 [0x62] = KEY_VOLUMEDOWN,
1885 [0x52] = KEY_CHANNELUP,
1886 [0x72] = KEY_CHANNELDOWN,
1888 [0x41] = KEY_RECORD,
1889 [0x51] = KEY_SHUFFLE, /* Snapshot */
1890 [0x75] = KEY_TIME, /* Timeshift */
1891 [0x71] = KEY_TV2, /* PIP */
1893 [0x45] = KEY_REWIND,
1895 [0x7d] = KEY_FORWARD,
1898 EXPORT_SYMBOL_GPL(ir_codes_encore_enltv2);
1900 /* for the Technotrend 1500 bundled remotes (grey and black): */
1901 IR_KEYTAB_TYPE ir_codes_tt_1500[IR_KEYTAB_SIZE] = {
1902 [ 0x01 ] = KEY_POWER,
1903 [ 0x02 ] = KEY_SHUFFLE, /* ? double-arrow key */
1915 [ 0x0e ] = KEY_LEFT,
1917 [ 0x10 ] = KEY_RIGHT,
1918 [ 0x11 ] = KEY_DOWN,
1919 [ 0x12 ] = KEY_INFO,
1920 [ 0x13 ] = KEY_EXIT,
1922 [ 0x15 ] = KEY_GREEN,
1923 [ 0x16 ] = KEY_YELLOW,
1924 [ 0x17 ] = KEY_BLUE,
1925 [ 0x18 ] = KEY_MUTE,
1926 [ 0x19 ] = KEY_TEXT,
1927 [ 0x1a ] = KEY_MODE, /* ? TV/Radio */
1928 [ 0x21 ] = KEY_OPTION,
1930 [ 0x23 ] = KEY_CHANNELUP,
1931 [ 0x24 ] = KEY_CHANNELDOWN,
1932 [ 0x25 ] = KEY_VOLUMEUP,
1933 [ 0x26 ] = KEY_VOLUMEDOWN,
1934 [ 0x27 ] = KEY_SETUP,
1935 [ 0x3a ] = KEY_RECORD, /* these keys are only in the black remote */
1936 [ 0x3b ] = KEY_PLAY,
1937 [ 0x3c ] = KEY_STOP,
1938 [ 0x3d ] = KEY_REWIND,
1939 [ 0x3e ] = KEY_PAUSE,
1940 [ 0x3f ] = KEY_FORWARD,
1943 EXPORT_SYMBOL_GPL(ir_codes_tt_1500);
1945 /* DViCO FUSION HDTV MCE remote */
1946 IR_KEYTAB_TYPE ir_codes_fusionhdtv_mce[IR_KEYTAB_SIZE] = {
1961 [ 0x53 ] = KEY_DOWN,
1962 [ 0x5b ] = KEY_LEFT,
1963 [ 0x5f ] = KEY_RIGHT,
1965 [ 0x02 ] = KEY_TV, /* Labeled DTV on remote */
1968 [ 0x1e ] = KEY_FAVORITES, /* Labeled CPF on remote */
1969 [ 0x16 ] = KEY_SETUP,
1970 [ 0x46 ] = KEY_POWER2, /* TV On/Off button on remote */
1971 [ 0x0a ] = KEY_EPG, /* Labeled Guide on remote */
1973 [ 0x49 ] = KEY_BACK,
1974 [ 0x59 ] = KEY_INFO, /* Labeled MORE on remote */
1975 [ 0x4d ] = KEY_MENU, /* Labeled DVDMENU on remote */
1976 [ 0x55 ] = KEY_CYCLEWINDOWS, /* Labeled ALT-TAB on remote */
1978 [ 0x0f ] = KEY_PREVIOUSSONG, /* Labeled |<< REPLAY on remote */
1979 [ 0x12 ] = KEY_NEXTSONG, /* Labeled >>| SKIP on remote */
1980 [ 0x42 ] = KEY_ENTER, /* Labeled START with a green
1981 * MS windows logo on remote */
1983 [ 0x15 ] = KEY_VOLUMEUP,
1984 [ 0x05 ] = KEY_VOLUMEDOWN,
1985 [ 0x11 ] = KEY_CHANNELUP,
1986 [ 0x09 ] = KEY_CHANNELDOWN,
1988 [ 0x52 ] = KEY_CAMERA,
1989 [ 0x5a ] = KEY_TUNER,
1990 [ 0x19 ] = KEY_OPEN,
1992 [ 0x13 ] = KEY_MODE, /* 4:3 16:9 select */
1993 [ 0x1f ] = KEY_ZOOM,
1995 [ 0x43 ] = KEY_REWIND,
1996 [ 0x47 ] = KEY_PLAYPAUSE,
1997 [ 0x4f ] = KEY_FASTFORWARD,
1998 [ 0x57 ] = KEY_MUTE,
1999 [ 0x0d ] = KEY_STOP,
2000 [ 0x01 ] = KEY_RECORD,
2001 [ 0x4e ] = KEY_POWER,
2004 EXPORT_SYMBOL_GPL(ir_codes_fusionhdtv_mce);
2006 /* Pinnacle PCTV HD 800i mini remote */
2007 IR_KEYTAB_TYPE ir_codes_pinnacle_pctv_hd[IR_KEYTAB_SIZE] = {
2021 [0x2a] = KEY_SUBTITLE,
2024 [0x01] = KEY_ENTER, /* Pinnacle Logo */
2027 [0x03] = KEY_VOLUMEUP,
2028 [0x09] = KEY_VOLUMEDOWN,
2029 [0x06] = KEY_CHANNELUP,
2030 [0x0c] = KEY_CHANNELDOWN,
2032 [0x2d] = KEY_REWIND,
2033 [0x30] = KEY_PLAYPAUSE,
2034 [0x33] = KEY_FASTFORWARD,
2036 [0x36] = KEY_RECORD,
2037 [0x3f] = KEY_EPG, /* Labeled "?" */
2039 EXPORT_SYMBOL_GPL(ir_codes_pinnacle_pctv_hd);
2042 * Igor Kuznetsov <igk72@ya.ru>
2043 * Andrey J. Melnikov <temnota@kmv.ru>
2045 * Keytable is used by BeholdTV 60x series, M6 series at
2046 * least, and probably other cards too.
2047 * The "ascii-art picture" below (in comments, first row
2048 * is the keycode in hex, and subsequent row(s) shows
2049 * the button labels (several variants when appropriate)
2050 * helps to descide which keycodes to assign to the buttons.
2052 IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE] = {
2057 [ 0x1c ] = KEY_TUNER, /*XXX KEY_TV KEY_RADIO */
2058 [ 0x12 ] = KEY_POWER,
2082 [ 0x0a ] = KEY_AGAIN,
2084 [ 0x17 ] = KEY_MODE,
2087 * ASPECT FULLSCREEN *
2089 [ 0x14 ] = KEY_SCREEN,
2090 [ 0x10 ] = KEY_ZOOM,
2101 [ 0x0b ] = KEY_CHANNELUP, /*XXX KEY_UP */
2102 [ 0x18 ] = KEY_VOLUMEDOWN, /*XXX KEY_LEFT */
2103 [ 0x16 ] = KEY_OK, /*XXX KEY_ENTER */
2104 [ 0x0c ] = KEY_VOLUMEUP, /*XXX KEY_RIGHT */
2105 [ 0x15 ] = KEY_CHANNELDOWN, /*XXX KEY_DOWN */
2110 [ 0x11 ] = KEY_MUTE,
2111 [ 0x0d ] = KEY_INFO,
2114 * RECORD PLAY/PAUSE STOP *
2117 *TELETEXT AUDIO SOURCE *
2120 [ 0x0f ] = KEY_RECORD,
2121 [ 0x1b ] = KEY_PLAYPAUSE,
2122 [ 0x1a ] = KEY_STOP,
2123 [ 0x0e ] = KEY_TEXT,
2124 [ 0x1f ] = KEY_RED, /*XXX KEY_AUDIO */
2125 [ 0x1e ] = KEY_YELLOW, /*XXX KEY_SOURCE */
2128 * SLEEP PREVIEW DVB *
2131 [ 0x1d ] = KEY_SLEEP,
2132 [ 0x13 ] = KEY_GREEN,
2133 [ 0x19 ] = KEY_BLUE, /*XXX KEY_SAT */
2138 [ 0x58 ] = KEY_SLOW,
2139 [ 0x5c ] = KEY_SAVE,
2143 EXPORT_SYMBOL_GPL(ir_codes_behold);
2145 /* Beholder Intl. Ltd. 2008
2146 * Dmitry Belimov d.belimov@google.com
2147 * Keytable is used by BeholdTV Columbus
2148 * The "ascii-art picture" below (in comments, first row
2149 * is the keycode in hex, and subsequent row(s) shows
2150 * the button labels (several variants when appropriate)
2151 * helps to descide which keycodes to assign to the buttons.
2153 IR_KEYTAB_TYPE ir_codes_behold_columbus[IR_KEYTAB_SIZE] = {
2155 /* 0x13 0x11 0x1C 0x12 *
2156 * Mute Source TV/FM Power *
2161 [0x1C] = KEY_TUNER, /* KEY_TV/KEY_RADIO */
2164 /* 0x01 0x02 0x03 0x0D *
2167 * 0x04 0x05 0x06 0x19 *
2170 * 0x07 0x08 0x09 0x10 *
2176 [0x0D] = KEY_SETUP, /* Setup key */
2180 [0x19] = KEY_BOOKMARKS, /* Snapshot key */
2186 /* 0x0A 0x00 0x0B 0x0C *
2187 * RECALL 0 ChannelUp VolumeUp *
2191 [0x0B] = KEY_CHANNELUP,
2192 [0x0C] = KEY_VOLUMEUP,
2194 /* 0x1B 0x1D 0x15 0x18 *
2195 * Timeshift Record ChannelDown VolumeDown *
2198 [0x1B] = KEY_REWIND,
2199 [0x1D] = KEY_RECORD,
2200 [0x15] = KEY_CHANNELDOWN,
2201 [0x18] = KEY_VOLUMEDOWN,
2203 /* 0x0E 0x1E 0x0F 0x1A *
2204 * Stop Pause Previouse Next *
2209 [0x0F] = KEY_PREVIOUS,
2213 EXPORT_SYMBOL_GPL(ir_codes_behold_columbus);
2216 * Remote control for the Genius TVGO A11MCE
2217 * Adrian Pardini <pardo.bsso@gmail.com>
2219 IR_KEYTAB_TYPE ir_codes_genius_tvgo_a11mce[IR_KEYTAB_SIZE] = {
2232 [0x54] = KEY_RECORD, /* recording */
2233 [0x06] = KEY_MUTE, /* mute */
2235 [0x40] = KEY_LAST, /* recall */
2236 [0x4c] = KEY_CHANNELUP, /* channel / program + */
2237 [0x00] = KEY_CHANNELDOWN, /* channel / program - */
2238 [0x0d] = KEY_VOLUMEUP,
2239 [0x15] = KEY_VOLUMEDOWN,
2240 [0x4d] = KEY_OK, /* also labeled as Pause */
2241 [0x1c] = KEY_ZOOM, /* full screen and Stop*/
2242 [0x02] = KEY_MODE, /* AV Source or Rewind*/
2243 [0x04] = KEY_LIST, /* -/-- */
2244 /* small arrows above numbers */
2245 [0x1a] = KEY_NEXT, /* also Fast Forward */
2246 [0x0e] = KEY_PREVIOUS, /* also Rewind */
2247 /* these are in a rather non standard layout and have
2248 an alternate name written */
2249 [0x1e] = KEY_UP, /* Video Setting */
2250 [0x0a] = KEY_DOWN, /* Video Default */
2251 [0x05] = KEY_LEFT, /* Snapshot */
2252 [0x0c] = KEY_RIGHT, /* Hide Panel */
2253 /* Four buttons without label */
2256 [0x13] = KEY_YELLOW,
2259 EXPORT_SYMBOL_GPL(ir_codes_genius_tvgo_a11mce);
2262 * Remote control for Powercolor Real Angel 330
2263 * Daniel Fraga <fragabr@gmail.com>
2265 IR_KEYTAB_TYPE ir_codes_powercolor_real_angel[IR_KEYTAB_SIZE] = {
2266 [0x38] = KEY_SWITCHVIDEOMODE, /* switch inputs */
2267 [0x0c] = KEY_MEDIA, /* Turn ON/OFF App */
2278 [0x0a] = KEY_DIGITS, /* single, double, tripple digit */
2279 [0x29] = KEY_PREVIOUS, /* previous channel */
2280 [0x12] = KEY_BRIGHTNESSUP,
2281 [0x13] = KEY_BRIGHTNESSDOWN,
2282 [0x2b] = KEY_MODE, /* stereo/mono */
2283 [0x2c] = KEY_TEXT, /* teletext */
2284 [0x20] = KEY_UP, /* channel up */
2285 [0x21] = KEY_DOWN, /* channel down */
2286 [0x10] = KEY_RIGHT, /* volume up */
2287 [0x11] = KEY_LEFT, /* volume down */
2289 [0x1f] = KEY_RECORD,
2293 [0x27] = KEY_FASTFORWARD,
2294 [0x26] = KEY_REWIND,
2295 [0x1e] = KEY_SEARCH, /* autoscan */
2296 [0x0e] = KEY_SHUFFLE, /* snapshot */
2298 [0x0f] = KEY_SCREEN, /* full screen */
2299 [0x14] = KEY_RADIO, /* FM radio */
2300 [0x25] = KEY_POWER, /* power */
2302 EXPORT_SYMBOL_GPL(ir_codes_powercolor_real_angel);
2304 IR_KEYTAB_TYPE ir_codes_avermedia_a16d[IR_KEYTAB_SIZE] = {
2316 [0x12] = KEY_SUBTITLE,
2318 [0x32] = KEY_REWIND,
2319 [0x3a] = KEY_SHUFFLE,
2321 [0x11] = KEY_CHANNELDOWN,
2322 [0x31] = KEY_CHANNELUP,
2324 [0x1e] = KEY_VOLUMEDOWN,
2325 [0x3e] = KEY_VOLUMEUP,
2328 [0x26] = KEY_RECORD,
2332 [0x2e] = KEY_REWIND,
2333 [0x0e] = KEY_FASTFORWARD,
2340 EXPORT_SYMBOL_GPL(ir_codes_avermedia_a16d);
2342 /* Encore ENLTV-FM v5.3
2343 Mauro Carvalho Chehab <mchehab@infradead.org>
2345 IR_KEYTAB_TYPE ir_codes_encore_enltv_fm53[IR_KEYTAB_SIZE] = {
2346 [0x10] = KEY_POWER2,
2360 [0x04] = KEY_LIST, /* -/-- */
2361 [0x40] = KEY_LAST, /* recall */
2363 [0x02] = KEY_MODE, /* TV/AV */
2364 [0x05] = KEY_SHUFFLE, /* SNAPSHOT */
2366 [0x4c] = KEY_CHANNELUP, /* UP */
2367 [0x00] = KEY_CHANNELDOWN, /* DOWN */
2368 [0x0d] = KEY_VOLUMEUP, /* RIGHT */
2369 [0x15] = KEY_VOLUMEDOWN, /* LEFT */
2370 [0x49] = KEY_ENTER, /* OK */
2372 [0x54] = KEY_RECORD,
2373 [0x4d] = KEY_PLAY, /* pause */
2375 [0x1e] = KEY_UP, /* video setting */
2376 [0x0e] = KEY_RIGHT, /* <- */
2377 [0x1a] = KEY_LEFT, /* -> */
2379 [0x0a] = KEY_DOWN, /* video default */
2380 [0x0c] = KEY_ZOOM, /* hide pannel */
2381 [0x47] = KEY_SLEEP, /* shutdown */
2383 EXPORT_SYMBOL_GPL(ir_codes_encore_enltv_fm53);
2385 /* Zogis Real Audio 220 - 32 keys IR */
2386 IR_KEYTAB_TYPE ir_codes_real_audio_220_32_keys[IR_KEYTAB_SIZE] = {
2388 [0x12] = KEY_POWER2,
2401 [0x0c] = KEY_VOLUMEUP,
2402 [0x18] = KEY_VOLUMEDOWN,
2403 [0x0b] = KEY_CHANNELUP,
2404 [0x15] = KEY_CHANNELDOWN,
2407 [0x11] = KEY_LIST, /* Source */
2408 [0x0d] = KEY_AUDIO, /* stereo */
2410 [0x0f] = KEY_PREVIOUS, /* Prev */
2411 [0x1b] = KEY_PAUSE, /* Timeshift */
2412 [0x1a] = KEY_NEXT, /* Next */
2416 [0x1e] = KEY_PLAYPAUSE, /* Pause */
2418 [0x1d] = KEY_RECORD,
2420 [0x19] = KEY_SHUFFLE, /* Snapshot */
2423 EXPORT_SYMBOL_GPL(ir_codes_real_audio_220_32_keys);