V4L/DVB (3393): Move all IR keymaps to ir-common module
[linux-2.6/x86.git] / drivers / media / common / ir-keymaps.c
blob468f6601339317c0c91d7769268d2d5b01b2ddf5
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>
23 #include <linux/moduleparam.h>
25 #include <linux/input.h>
26 #include <media/ir-common.h>
28 /* empty keytable, can be used as placeholder for not-yet created keytables */
29 IR_KEYTAB_TYPE ir_codes_empty[IR_KEYTAB_SIZE] = {
30 [ 0x2a ] = KEY_COFFEE,
33 EXPORT_SYMBOL_GPL(ir_codes_empty);
35 IR_KEYTAB_TYPE ir_codes_avermedia[IR_KEYTAB_SIZE] = {
36 [ 0x22 ] = KEY_0,
37 [ 0x28 ] = KEY_1,
38 [ 0x18 ] = KEY_2,
39 [ 0x38 ] = KEY_3,
40 [ 0x24 ] = KEY_4,
41 [ 0x14 ] = KEY_5,
42 [ 0x34 ] = KEY_6,
43 [ 0x2c ] = KEY_7,
44 [ 0x1c ] = KEY_8,
45 [ 0x3c ] = KEY_9,
47 [ 0x30 ] = KEY_EJECTCD, // Unmarked on my controller
48 [ 0x00 ] = KEY_POWER,
49 [ 0x12 ] = BTN_LEFT, // DISPLAY/L
50 [ 0x32 ] = BTN_RIGHT, // LOOP/R
51 [ 0x0a ] = KEY_MUTE,
52 [ 0x26 ] = KEY_RECORD,
53 [ 0x16 ] = KEY_PAUSE,
54 [ 0x36 ] = KEY_STOP,
55 [ 0x1e ] = KEY_VOLUMEDOWN,
56 [ 0x3e ] = KEY_VOLUMEUP,
58 [ 0x20 ] = KEY_TUNER, // TV/FM
59 [ 0x10 ] = KEY_CD,
60 [ 0x08 ] = KEY_VIDEO,
61 [ 0x04 ] = KEY_AUDIO,
62 [ 0x0c ] = KEY_ZOOM, // full screen
63 [ 0x02 ] = KEY_INFO, // preview
64 [ 0x2a ] = KEY_SEARCH, // autoscan
65 [ 0x1a ] = KEY_STOP, // freeze
66 [ 0x3a ] = KEY_RECORD, // capture
67 [ 0x06 ] = KEY_PLAY, // unmarked
68 [ 0x2e ] = KEY_RED, // unmarked
69 [ 0x0e ] = KEY_GREEN, // unmarked
71 [ 0x21 ] = KEY_YELLOW, // unmarked
72 [ 0x11 ] = KEY_CHANNELDOWN,
73 [ 0x31 ] = KEY_CHANNELUP,
74 [ 0x01 ] = KEY_BLUE, // unmarked
77 EXPORT_SYMBOL_GPL(ir_codes_avermedia);
79 /* Matt Jesson <dvb@jesson.eclipse.co.uk */
80 IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE] = {
81 [ 0x28 ] = KEY_0, //'0' / 'enter'
82 [ 0x22 ] = KEY_1, //'1'
83 [ 0x12 ] = KEY_2, //'2' / 'up arrow'
84 [ 0x32 ] = KEY_3, //'3'
85 [ 0x24 ] = KEY_4, //'4' / 'left arrow'
86 [ 0x14 ] = KEY_5, //'5'
87 [ 0x34 ] = KEY_6, //'6' / 'right arrow'
88 [ 0x26 ] = KEY_7, //'7'
89 [ 0x16 ] = KEY_8, //'8' / 'down arrow'
90 [ 0x36 ] = KEY_9, //'9'
92 [ 0x20 ] = KEY_LIST, // 'source'
93 [ 0x10 ] = KEY_TEXT, // 'teletext'
94 [ 0x00 ] = KEY_POWER, // 'power'
95 [ 0x04 ] = KEY_AUDIO, // 'audio'
96 [ 0x06 ] = KEY_ZOOM, // 'full screen'
97 [ 0x18 ] = KEY_VIDEO, // 'display'
98 [ 0x38 ] = KEY_SEARCH, // 'loop'
99 [ 0x08 ] = KEY_INFO, // 'preview'
100 [ 0x2a ] = KEY_REWIND, // 'backward <<'
101 [ 0x1a ] = KEY_FASTFORWARD, // 'forward >>'
102 [ 0x3a ] = KEY_RECORD, // 'capture'
103 [ 0x0a ] = KEY_MUTE, // 'mute'
104 [ 0x2c ] = KEY_RECORD, // 'record'
105 [ 0x1c ] = KEY_PAUSE, // 'pause'
106 [ 0x3c ] = KEY_STOP, // 'stop'
107 [ 0x0c ] = KEY_PLAY, // 'play'
108 [ 0x2e ] = KEY_RED, // 'red'
109 [ 0x01 ] = KEY_BLUE, // 'blue' / 'cancel'
110 [ 0x0e ] = KEY_YELLOW, // 'yellow' / 'ok'
111 [ 0x21 ] = KEY_GREEN, // 'green'
112 [ 0x11 ] = KEY_CHANNELDOWN, // 'channel -'
113 [ 0x31 ] = KEY_CHANNELUP, // 'channel +'
114 [ 0x1e ] = KEY_VOLUMEDOWN, // 'volume -'
115 [ 0x3e ] = KEY_VOLUMEUP, // 'volume +'
118 EXPORT_SYMBOL_GPL(ir_codes_avermedia_dvbt);
120 /* Attila Kondoros <attila.kondoros@chello.hu> */
121 IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE] = {
123 [ 0x01 ] = KEY_1,
124 [ 0x02 ] = KEY_2,
125 [ 0x03 ] = KEY_3,
126 [ 0x04 ] = KEY_4,
127 [ 0x05 ] = KEY_5,
128 [ 0x06 ] = KEY_6,
129 [ 0x07 ] = KEY_7,
130 [ 0x08 ] = KEY_8,
131 [ 0x09 ] = KEY_9,
132 [ 0x00 ] = KEY_0,
133 [ 0x17 ] = KEY_LAST, // +100
134 [ 0x0a ] = KEY_LIST, // recall
137 [ 0x1c ] = KEY_TUNER, // TV/FM
138 [ 0x15 ] = KEY_SEARCH, // scan
139 [ 0x12 ] = KEY_POWER, // power
140 [ 0x1f ] = KEY_VOLUMEDOWN, // vol up
141 [ 0x1b ] = KEY_VOLUMEUP, // vol down
142 [ 0x1e ] = KEY_CHANNELDOWN, // chn up
143 [ 0x1a ] = KEY_CHANNELUP, // chn down
145 [ 0x11 ] = KEY_VIDEO, // video
146 [ 0x0f ] = KEY_ZOOM, // full screen
147 [ 0x13 ] = KEY_MUTE, // mute/unmute
148 [ 0x10 ] = KEY_TEXT, // min
150 [ 0x0d ] = KEY_STOP, // freeze
151 [ 0x0e ] = KEY_RECORD, // record
152 [ 0x1d ] = KEY_PLAYPAUSE, // stop
153 [ 0x19 ] = KEY_PLAY, // play
155 [ 0x16 ] = KEY_GOTO, // osd
156 [ 0x14 ] = KEY_REFRESH, // default
157 [ 0x0c ] = KEY_KPPLUS, // fine tune >>>>
158 [ 0x18 ] = KEY_KPMINUS // fine tune <<<<
161 EXPORT_SYMBOL_GPL(ir_codes_apac_viewcomp);
163 /* ---------------------------------------------------------------------- */
165 IR_KEYTAB_TYPE ir_codes_conceptronic[IR_KEYTAB_SIZE] = {
167 [ 0x1e ] = KEY_POWER, // power
168 [ 0x07 ] = KEY_MEDIA, // source
169 [ 0x1c ] = KEY_SEARCH, // scan
171 /* FIXME: duplicate keycodes?
173 * These four keys seem to share the same GPIO as CH+, CH-, <<< and >>>
174 * The GPIO values are
175 * 6397fb for both "Scan <" and "CH -",
176 * 639ffb for "Scan >" and "CH+",
177 * 6384fb for "Tune <" and "<<<",
178 * 638cfb for "Tune >" and ">>>", regardless of the mask.
180 * [ 0x17 ] = KEY_BACK, // fm scan <<
181 * [ 0x1f ] = KEY_FORWARD, // fm scan >>
183 * [ 0x04 ] = KEY_LEFT, // fm tuning <
184 * [ 0x0c ] = KEY_RIGHT, // fm tuning >
186 * For now, these four keys are disabled. Pressing them will generate
187 * the CH+/CH-/<<</>>> events
190 [ 0x03 ] = KEY_TUNER, // TV/FM
192 [ 0x00 ] = KEY_RECORD,
193 [ 0x08 ] = KEY_STOP,
194 [ 0x11 ] = KEY_PLAY,
196 [ 0x1a ] = KEY_PLAYPAUSE, // freeze
197 [ 0x19 ] = KEY_ZOOM, // zoom
198 [ 0x0f ] = KEY_TEXT, // min
200 [ 0x01 ] = KEY_1,
201 [ 0x0b ] = KEY_2,
202 [ 0x1b ] = KEY_3,
203 [ 0x05 ] = KEY_4,
204 [ 0x09 ] = KEY_5,
205 [ 0x15 ] = KEY_6,
206 [ 0x06 ] = KEY_7,
207 [ 0x0a ] = KEY_8,
208 [ 0x12 ] = KEY_9,
209 [ 0x02 ] = KEY_0,
210 [ 0x10 ] = KEY_LAST, // +100
211 [ 0x13 ] = KEY_LIST, // recall
213 [ 0x1f ] = KEY_CHANNELUP, // chn down
214 [ 0x17 ] = KEY_CHANNELDOWN, // chn up
215 [ 0x16 ] = KEY_VOLUMEUP, // vol down
216 [ 0x14 ] = KEY_VOLUMEDOWN, // vol up
218 [ 0x04 ] = KEY_KPMINUS, // <<<
219 [ 0x0e ] = KEY_SETUP, // function
220 [ 0x0c ] = KEY_KPPLUS, // >>>
222 [ 0x0d ] = KEY_GOTO, // mts
223 [ 0x1d ] = KEY_REFRESH, // reset
224 [ 0x18 ] = KEY_MUTE // mute/unmute
227 EXPORT_SYMBOL_GPL(ir_codes_conceptronic);
229 IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE] = {
230 [ 0x00 ] = KEY_0,
231 [ 0x01 ] = KEY_1,
232 [ 0x02 ] = KEY_2,
233 [ 0x03 ] = KEY_3,
234 [ 0x04 ] = KEY_4,
235 [ 0x05 ] = KEY_5,
236 [ 0x06 ] = KEY_6,
237 [ 0x07 ] = KEY_7,
238 [ 0x08 ] = KEY_8,
239 [ 0x09 ] = KEY_9,
240 [ 0x0a ] = KEY_TV,
241 [ 0x0b ] = KEY_AUX,
242 [ 0x0c ] = KEY_DVD,
243 [ 0x0d ] = KEY_POWER,
244 [ 0x0e ] = KEY_MHP, /* labelled 'Picture' */
245 [ 0x0f ] = KEY_AUDIO,
246 [ 0x10 ] = KEY_INFO,
247 [ 0x11 ] = KEY_F13, /* 16:9 */
248 [ 0x12 ] = KEY_F14, /* 14:9 */
249 [ 0x13 ] = KEY_EPG,
250 [ 0x14 ] = KEY_EXIT,
251 [ 0x15 ] = KEY_MENU,
252 [ 0x16 ] = KEY_UP,
253 [ 0x17 ] = KEY_DOWN,
254 [ 0x18 ] = KEY_LEFT,
255 [ 0x19 ] = KEY_RIGHT,
256 [ 0x1a ] = KEY_ENTER,
257 [ 0x1b ] = KEY_CHANNELUP,
258 [ 0x1c ] = KEY_CHANNELDOWN,
259 [ 0x1d ] = KEY_VOLUMEUP,
260 [ 0x1e ] = KEY_VOLUMEDOWN,
261 [ 0x1f ] = KEY_RED,
262 [ 0x20 ] = KEY_GREEN,
263 [ 0x21 ] = KEY_YELLOW,
264 [ 0x22 ] = KEY_BLUE,
265 [ 0x23 ] = KEY_SUBTITLE,
266 [ 0x24 ] = KEY_F15, /* AD */
267 [ 0x25 ] = KEY_TEXT,
268 [ 0x26 ] = KEY_MUTE,
269 [ 0x27 ] = KEY_REWIND,
270 [ 0x28 ] = KEY_STOP,
271 [ 0x29 ] = KEY_PLAY,
272 [ 0x2a ] = KEY_FASTFORWARD,
273 [ 0x2b ] = KEY_F16, /* chapter */
274 [ 0x2c ] = KEY_PAUSE,
275 [ 0x2d ] = KEY_PLAY,
276 [ 0x2e ] = KEY_RECORD,
277 [ 0x2f ] = KEY_F17, /* picture in picture */
278 [ 0x30 ] = KEY_KPPLUS, /* zoom in */
279 [ 0x31 ] = KEY_KPMINUS, /* zoom out */
280 [ 0x32 ] = KEY_F18, /* capture */
281 [ 0x33 ] = KEY_F19, /* web */
282 [ 0x34 ] = KEY_EMAIL,
283 [ 0x35 ] = KEY_PHONE,
284 [ 0x36 ] = KEY_PC
287 EXPORT_SYMBOL_GPL(ir_codes_nebula);
289 /* DigitalNow DNTV Live DVB-T Remote */
290 IR_KEYTAB_TYPE ir_codes_dntv_live_dvb_t[IR_KEYTAB_SIZE] = {
291 [ 0x00 ] = KEY_ESC, /* 'go up a level?' */
292 /* Keys 0 to 9 */
293 [ 0x0a ] = KEY_0,
294 [ 0x01 ] = KEY_1,
295 [ 0x02 ] = KEY_2,
296 [ 0x03 ] = KEY_3,
297 [ 0x04 ] = KEY_4,
298 [ 0x05 ] = KEY_5,
299 [ 0x06 ] = KEY_6,
300 [ 0x07 ] = KEY_7,
301 [ 0x08 ] = KEY_8,
302 [ 0x09 ] = KEY_9,
304 [ 0x0b ] = KEY_TUNER, /* tv/fm */
305 [ 0x0c ] = KEY_SEARCH, /* scan */
306 [ 0x0d ] = KEY_STOP,
307 [ 0x0e ] = KEY_PAUSE,
308 [ 0x0f ] = KEY_LIST, /* source */
310 [ 0x10 ] = KEY_MUTE,
311 [ 0x11 ] = KEY_REWIND, /* backward << */
312 [ 0x12 ] = KEY_POWER,
313 [ 0x13 ] = KEY_S, /* snap */
314 [ 0x14 ] = KEY_AUDIO, /* stereo */
315 [ 0x15 ] = KEY_CLEAR, /* reset */
316 [ 0x16 ] = KEY_PLAY,
317 [ 0x17 ] = KEY_ENTER,
318 [ 0x18 ] = KEY_ZOOM, /* full screen */
319 [ 0x19 ] = KEY_FASTFORWARD, /* forward >> */
320 [ 0x1a ] = KEY_CHANNELUP,
321 [ 0x1b ] = KEY_VOLUMEUP,
322 [ 0x1c ] = KEY_INFO, /* preview */
323 [ 0x1d ] = KEY_RECORD, /* record */
324 [ 0x1e ] = KEY_CHANNELDOWN,
325 [ 0x1f ] = KEY_VOLUMEDOWN,
328 EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvb_t);
330 /* ---------------------------------------------------------------------- */
332 /* IO-DATA BCTV7E Remote */
333 IR_KEYTAB_TYPE ir_codes_iodata_bctv7e[IR_KEYTAB_SIZE] = {
334 [ 0x40 ] = KEY_TV,
335 [ 0x20 ] = KEY_RADIO, /* FM */
336 [ 0x60 ] = KEY_EPG,
337 [ 0x00 ] = KEY_POWER,
339 /* Keys 0 to 9 */
340 [ 0x44 ] = KEY_0, /* 10 */
341 [ 0x50 ] = KEY_1,
342 [ 0x30 ] = KEY_2,
343 [ 0x70 ] = KEY_3,
344 [ 0x48 ] = KEY_4,
345 [ 0x28 ] = KEY_5,
346 [ 0x68 ] = KEY_6,
347 [ 0x58 ] = KEY_7,
348 [ 0x38 ] = KEY_8,
349 [ 0x78 ] = KEY_9,
351 [ 0x10 ] = KEY_L, /* Live */
352 [ 0x08 ] = KEY_T, /* Time Shift */
354 [ 0x18 ] = KEY_PLAYPAUSE, /* Play */
356 [ 0x24 ] = KEY_ENTER, /* 11 */
357 [ 0x64 ] = KEY_ESC, /* 12 */
358 [ 0x04 ] = KEY_M, /* Multi */
360 [ 0x54 ] = KEY_VIDEO,
361 [ 0x34 ] = KEY_CHANNELUP,
362 [ 0x74 ] = KEY_VOLUMEUP,
363 [ 0x14 ] = KEY_MUTE,
365 [ 0x4c ] = KEY_S, /* SVIDEO */
366 [ 0x2c ] = KEY_CHANNELDOWN,
367 [ 0x6c ] = KEY_VOLUMEDOWN,
368 [ 0x0c ] = KEY_ZOOM,
370 [ 0x5c ] = KEY_PAUSE,
371 [ 0x3c ] = KEY_C, /* || (red) */
372 [ 0x7c ] = KEY_RECORD, /* recording */
373 [ 0x1c ] = KEY_STOP,
375 [ 0x41 ] = KEY_REWIND, /* backward << */
376 [ 0x21 ] = KEY_PLAY,
377 [ 0x61 ] = KEY_FASTFORWARD, /* forward >> */
378 [ 0x01 ] = KEY_NEXT, /* skip >| */
381 EXPORT_SYMBOL_GPL(ir_codes_iodata_bctv7e);
383 /* ---------------------------------------------------------------------- */
385 /* ADS Tech Instant TV DVB-T PCI Remote */
386 IR_KEYTAB_TYPE ir_codes_adstech_dvb_t_pci[IR_KEYTAB_SIZE] = {
387 /* Keys 0 to 9 */
388 [ 0x4d ] = KEY_0,
389 [ 0x57 ] = KEY_1,
390 [ 0x4f ] = KEY_2,
391 [ 0x53 ] = KEY_3,
392 [ 0x56 ] = KEY_4,
393 [ 0x4e ] = KEY_5,
394 [ 0x5e ] = KEY_6,
395 [ 0x54 ] = KEY_7,
396 [ 0x4c ] = KEY_8,
397 [ 0x5c ] = KEY_9,
399 [ 0x5b ] = KEY_POWER,
400 [ 0x5f ] = KEY_MUTE,
401 [ 0x55 ] = KEY_GOTO,
402 [ 0x5d ] = KEY_SEARCH,
403 [ 0x17 ] = KEY_EPG, /* Guide */
404 [ 0x1f ] = KEY_MENU,
405 [ 0x0f ] = KEY_UP,
406 [ 0x46 ] = KEY_DOWN,
407 [ 0x16 ] = KEY_LEFT,
408 [ 0x1e ] = KEY_RIGHT,
409 [ 0x0e ] = KEY_SELECT, /* Enter */
410 [ 0x5a ] = KEY_INFO,
411 [ 0x52 ] = KEY_EXIT,
412 [ 0x59 ] = KEY_PREVIOUS,
413 [ 0x51 ] = KEY_NEXT,
414 [ 0x58 ] = KEY_REWIND,
415 [ 0x50 ] = KEY_FORWARD,
416 [ 0x44 ] = KEY_PLAYPAUSE,
417 [ 0x07 ] = KEY_STOP,
418 [ 0x1b ] = KEY_RECORD,
419 [ 0x13 ] = KEY_TUNER, /* Live */
420 [ 0x0a ] = KEY_A,
421 [ 0x12 ] = KEY_B,
422 [ 0x03 ] = KEY_PROG1, /* 1 */
423 [ 0x01 ] = KEY_PROG2, /* 2 */
424 [ 0x00 ] = KEY_PROG3, /* 3 */
425 [ 0x06 ] = KEY_DVD,
426 [ 0x48 ] = KEY_AUX, /* Photo */
427 [ 0x40 ] = KEY_VIDEO,
428 [ 0x19 ] = KEY_AUDIO, /* Music */
429 [ 0x0b ] = KEY_CHANNELUP,
430 [ 0x08 ] = KEY_CHANNELDOWN,
431 [ 0x15 ] = KEY_VOLUMEUP,
432 [ 0x1c ] = KEY_VOLUMEDOWN,
435 EXPORT_SYMBOL_GPL(ir_codes_adstech_dvb_t_pci);
437 /* ---------------------------------------------------------------------- */
439 /* MSI TV@nywhere remote */
440 IR_KEYTAB_TYPE ir_codes_msi_tvanywhere[IR_KEYTAB_SIZE] = {
441 /* Keys 0 to 9 */
442 [ 0x00 ] = KEY_0,
443 [ 0x01 ] = KEY_1,
444 [ 0x02 ] = KEY_2,
445 [ 0x03 ] = KEY_3,
446 [ 0x04 ] = KEY_4,
447 [ 0x05 ] = KEY_5,
448 [ 0x06 ] = KEY_6,
449 [ 0x07 ] = KEY_7,
450 [ 0x08 ] = KEY_8,
451 [ 0x09 ] = KEY_9,
453 [ 0x0c ] = KEY_MUTE,
454 [ 0x0f ] = KEY_SCREEN, /* Full Screen */
455 [ 0x10 ] = KEY_F, /* Funtion */
456 [ 0x11 ] = KEY_T, /* Time shift */
457 [ 0x12 ] = KEY_POWER,
458 [ 0x13 ] = KEY_MEDIA, /* MTS */
459 [ 0x14 ] = KEY_SLOW,
460 [ 0x16 ] = KEY_REWIND, /* backward << */
461 [ 0x17 ] = KEY_ENTER, /* Return */
462 [ 0x18 ] = KEY_FASTFORWARD, /* forward >> */
463 [ 0x1a ] = KEY_CHANNELUP,
464 [ 0x1b ] = KEY_VOLUMEUP,
465 [ 0x1e ] = KEY_CHANNELDOWN,
466 [ 0x1f ] = KEY_VOLUMEDOWN,
469 EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere);
471 /* ---------------------------------------------------------------------- */
473 /* Cinergy 1400 DVB-T */
474 IR_KEYTAB_TYPE ir_codes_cinergy_1400[IR_KEYTAB_SIZE] = {
475 [ 0x01 ] = KEY_POWER,
476 [ 0x02 ] = KEY_1,
477 [ 0x03 ] = KEY_2,
478 [ 0x04 ] = KEY_3,
479 [ 0x05 ] = KEY_4,
480 [ 0x06 ] = KEY_5,
481 [ 0x07 ] = KEY_6,
482 [ 0x08 ] = KEY_7,
483 [ 0x09 ] = KEY_8,
484 [ 0x0a ] = KEY_9,
485 [ 0x0c ] = KEY_0,
487 [ 0x0b ] = KEY_VIDEO,
488 [ 0x0d ] = KEY_REFRESH,
489 [ 0x0e ] = KEY_SELECT,
490 [ 0x0f ] = KEY_EPG,
491 [ 0x10 ] = KEY_UP,
492 [ 0x11 ] = KEY_LEFT,
493 [ 0x12 ] = KEY_OK,
494 [ 0x13 ] = KEY_RIGHT,
495 [ 0x14 ] = KEY_DOWN,
496 [ 0x15 ] = KEY_TEXT,
497 [ 0x16 ] = KEY_INFO,
499 [ 0x17 ] = KEY_RED,
500 [ 0x18 ] = KEY_GREEN,
501 [ 0x19 ] = KEY_YELLOW,
502 [ 0x1a ] = KEY_BLUE,
504 [ 0x1b ] = KEY_CHANNELUP,
505 [ 0x1c ] = KEY_VOLUMEUP,
506 [ 0x1d ] = KEY_MUTE,
507 [ 0x1e ] = KEY_VOLUMEDOWN,
508 [ 0x1f ] = KEY_CHANNELDOWN,
510 [ 0x40 ] = KEY_PAUSE,
511 [ 0x4c ] = KEY_PLAY,
512 [ 0x58 ] = KEY_RECORD,
513 [ 0x54 ] = KEY_PREVIOUS,
514 [ 0x48 ] = KEY_STOP,
515 [ 0x5c ] = KEY_NEXT,
518 EXPORT_SYMBOL_GPL(ir_codes_cinergy_1400);
520 /* ---------------------------------------------------------------------- */
522 /* AVERTV STUDIO 303 Remote */
523 IR_KEYTAB_TYPE ir_codes_avertv_303[IR_KEYTAB_SIZE] = {
524 [ 0x2a ] = KEY_1,
525 [ 0x32 ] = KEY_2,
526 [ 0x3a ] = KEY_3,
527 [ 0x4a ] = KEY_4,
528 [ 0x52 ] = KEY_5,
529 [ 0x5a ] = KEY_6,
530 [ 0x6a ] = KEY_7,
531 [ 0x72 ] = KEY_8,
532 [ 0x7a ] = KEY_9,
533 [ 0x0e ] = KEY_0,
535 [ 0x02 ] = KEY_POWER,
536 [ 0x22 ] = KEY_VIDEO,
537 [ 0x42 ] = KEY_AUDIO,
538 [ 0x62 ] = KEY_ZOOM,
539 [ 0x0a ] = KEY_TV,
540 [ 0x12 ] = KEY_CD,
541 [ 0x1a ] = KEY_TEXT,
543 [ 0x16 ] = KEY_SUBTITLE,
544 [ 0x1e ] = KEY_REWIND,
545 [ 0x06 ] = KEY_PRINT,
547 [ 0x2e ] = KEY_SEARCH,
548 [ 0x36 ] = KEY_SLEEP,
549 [ 0x3e ] = KEY_SHUFFLE,
550 [ 0x26 ] = KEY_MUTE,
552 [ 0x4e ] = KEY_RECORD,
553 [ 0x56 ] = KEY_PAUSE,
554 [ 0x5e ] = KEY_STOP,
555 [ 0x46 ] = KEY_PLAY,
557 [ 0x6e ] = KEY_RED,
558 [ 0x0b ] = KEY_GREEN,
559 [ 0x66 ] = KEY_YELLOW,
560 [ 0x03 ] = KEY_BLUE,
562 [ 0x76 ] = KEY_LEFT,
563 [ 0x7e ] = KEY_RIGHT,
564 [ 0x13 ] = KEY_DOWN,
565 [ 0x1b ] = KEY_UP,
568 EXPORT_SYMBOL_GPL(ir_codes_avertv_303);
570 /* ---------------------------------------------------------------------- */
572 /* DigitalNow DNTV Live! DVB-T Pro Remote */
573 IR_KEYTAB_TYPE ir_codes_dntv_live_dvbt_pro[IR_KEYTAB_SIZE] = {
574 [ 0x16 ] = KEY_POWER,
575 [ 0x5b ] = KEY_HOME,
577 [ 0x55 ] = KEY_TV, /* live tv */
578 [ 0x58 ] = KEY_TUNER, /* digital Radio */
579 [ 0x5a ] = KEY_RADIO, /* FM radio */
580 [ 0x59 ] = KEY_DVD, /* dvd menu */
581 [ 0x03 ] = KEY_1,
582 [ 0x01 ] = KEY_2,
583 [ 0x06 ] = KEY_3,
584 [ 0x09 ] = KEY_4,
585 [ 0x1d ] = KEY_5,
586 [ 0x1f ] = KEY_6,
587 [ 0x0d ] = KEY_7,
588 [ 0x19 ] = KEY_8,
589 [ 0x1b ] = KEY_9,
590 [ 0x0c ] = KEY_CANCEL,
591 [ 0x15 ] = KEY_0,
592 [ 0x4a ] = KEY_CLEAR,
593 [ 0x13 ] = KEY_BACK,
594 [ 0x00 ] = KEY_TAB,
595 [ 0x4b ] = KEY_UP,
596 [ 0x4e ] = KEY_LEFT,
597 [ 0x4f ] = KEY_OK,
598 [ 0x52 ] = KEY_RIGHT,
599 [ 0x51 ] = KEY_DOWN,
600 [ 0x1e ] = KEY_VOLUMEUP,
601 [ 0x0a ] = KEY_VOLUMEDOWN,
602 [ 0x02 ] = KEY_CHANNELDOWN,
603 [ 0x05 ] = KEY_CHANNELUP,
604 [ 0x11 ] = KEY_RECORD,
605 [ 0x14 ] = KEY_PLAY,
606 [ 0x4c ] = KEY_PAUSE,
607 [ 0x1a ] = KEY_STOP,
608 [ 0x40 ] = KEY_REWIND,
609 [ 0x12 ] = KEY_FASTFORWARD,
610 [ 0x41 ] = KEY_PREVIOUSSONG, /* replay |< */
611 [ 0x42 ] = KEY_NEXTSONG, /* skip >| */
612 [ 0x54 ] = KEY_CAMERA, /* capture */
613 [ 0x50 ] = KEY_LANGUAGE, /* sap */
614 [ 0x47 ] = KEY_TV2, /* pip */
615 [ 0x4d ] = KEY_SCREEN,
616 [ 0x43 ] = KEY_SUBTITLE,
617 [ 0x10 ] = KEY_MUTE,
618 [ 0x49 ] = KEY_AUDIO, /* l/r */
619 [ 0x07 ] = KEY_SLEEP,
620 [ 0x08 ] = KEY_VIDEO, /* a/v */
621 [ 0x0e ] = KEY_PREVIOUS, /* recall */
622 [ 0x45 ] = KEY_ZOOM, /* zoom + */
623 [ 0x46 ] = KEY_ANGLE, /* zoom - */
624 [ 0x56 ] = KEY_RED,
625 [ 0x57 ] = KEY_GREEN,
626 [ 0x5c ] = KEY_YELLOW,
627 [ 0x5d ] = KEY_BLUE,
630 EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvbt_pro);
632 IR_KEYTAB_TYPE ir_codes_em_terratec[IR_KEYTAB_SIZE] = {
633 [ 0x01 ] = KEY_CHANNEL,
634 [ 0x02 ] = KEY_SELECT,
635 [ 0x03 ] = KEY_MUTE,
636 [ 0x04 ] = KEY_POWER,
637 [ 0x05 ] = KEY_1,
638 [ 0x06 ] = KEY_2,
639 [ 0x07 ] = KEY_3,
640 [ 0x08 ] = KEY_CHANNELUP,
641 [ 0x09 ] = KEY_4,
642 [ 0x0a ] = KEY_5,
643 [ 0x0b ] = KEY_6,
644 [ 0x0c ] = KEY_CHANNELDOWN,
645 [ 0x0d ] = KEY_7,
646 [ 0x0e ] = KEY_8,
647 [ 0x0f ] = KEY_9,
648 [ 0x10 ] = KEY_VOLUMEUP,
649 [ 0x11 ] = KEY_0,
650 [ 0x12 ] = KEY_MENU,
651 [ 0x13 ] = KEY_PRINT,
652 [ 0x14 ] = KEY_VOLUMEDOWN,
653 [ 0x16 ] = KEY_PAUSE,
654 [ 0x18 ] = KEY_RECORD,
655 [ 0x19 ] = KEY_REWIND,
656 [ 0x1a ] = KEY_PLAY,
657 [ 0x1b ] = KEY_FORWARD,
658 [ 0x1c ] = KEY_BACKSPACE,
659 [ 0x1e ] = KEY_STOP,
660 [ 0x40 ] = KEY_ZOOM,
663 EXPORT_SYMBOL_GPL(ir_codes_em_terratec);
665 IR_KEYTAB_TYPE ir_codes_em_pinnacle_usb[IR_KEYTAB_SIZE] = {
666 [ 0x3a ] = KEY_0,
667 [ 0x31 ] = KEY_1,
668 [ 0x32 ] = KEY_2,
669 [ 0x33 ] = KEY_3,
670 [ 0x34 ] = KEY_4,
671 [ 0x35 ] = KEY_5,
672 [ 0x36 ] = KEY_6,
673 [ 0x37 ] = KEY_7,
674 [ 0x38 ] = KEY_8,
675 [ 0x39 ] = KEY_9,
677 [ 0x2f ] = KEY_POWER,
679 [ 0x2e ] = KEY_P,
680 [ 0x1f ] = KEY_L,
681 [ 0x2b ] = KEY_I,
683 [ 0x2d ] = KEY_ZOOM,
684 [ 0x1e ] = KEY_ZOOM,
685 [ 0x1b ] = KEY_VOLUMEUP,
686 [ 0x0f ] = KEY_VOLUMEDOWN,
687 [ 0x17 ] = KEY_CHANNELUP,
688 [ 0x1c ] = KEY_CHANNELDOWN,
689 [ 0x25 ] = KEY_INFO,
691 [ 0x3c ] = KEY_MUTE,
693 [ 0x3d ] = KEY_LEFT,
694 [ 0x3b ] = KEY_RIGHT,
696 [ 0x3f ] = KEY_UP,
697 [ 0x3e ] = KEY_DOWN,
698 [ 0x1a ] = KEY_PAUSE,
700 [ 0x1d ] = KEY_MENU,
701 [ 0x19 ] = KEY_PLAY,
702 [ 0x16 ] = KEY_REWIND,
703 [ 0x13 ] = KEY_FORWARD,
704 [ 0x15 ] = KEY_PAUSE,
705 [ 0x0e ] = KEY_REWIND,
706 [ 0x0d ] = KEY_PLAY,
707 [ 0x0b ] = KEY_STOP,
708 [ 0x07 ] = KEY_FORWARD,
709 [ 0x27 ] = KEY_RECORD,
710 [ 0x26 ] = KEY_TUNER,
711 [ 0x29 ] = KEY_TEXT,
712 [ 0x2a ] = KEY_MEDIA,
713 [ 0x18 ] = KEY_EPG,
714 [ 0x27 ] = KEY_RECORD,
717 EXPORT_SYMBOL_GPL(ir_codes_em_pinnacle_usb);
719 IR_KEYTAB_TYPE ir_codes_flyvideo[IR_KEYTAB_SIZE] = {
720 [ 0x0f ] = KEY_0,
721 [ 0x03 ] = KEY_1,
722 [ 0x04 ] = KEY_2,
723 [ 0x05 ] = KEY_3,
724 [ 0x07 ] = KEY_4,
725 [ 0x08 ] = KEY_5,
726 [ 0x09 ] = KEY_6,
727 [ 0x0b ] = KEY_7,
728 [ 0x0c ] = KEY_8,
729 [ 0x0d ] = KEY_9,
731 [ 0x0e ] = KEY_MODE, // Air/Cable
732 [ 0x11 ] = KEY_VIDEO, // Video
733 [ 0x15 ] = KEY_AUDIO, // Audio
734 [ 0x00 ] = KEY_POWER, // Power
735 [ 0x18 ] = KEY_TUNER, // AV Source
736 [ 0x02 ] = KEY_ZOOM, // Fullscreen
737 [ 0x1a ] = KEY_LANGUAGE, // Stereo
738 [ 0x1b ] = KEY_MUTE, // Mute
739 [ 0x14 ] = KEY_VOLUMEUP, // Volume +
740 [ 0x17 ] = KEY_VOLUMEDOWN, // Volume -
741 [ 0x12 ] = KEY_CHANNELUP, // Channel +
742 [ 0x13 ] = KEY_CHANNELDOWN, // Channel -
743 [ 0x06 ] = KEY_AGAIN, // Recall
744 [ 0x10 ] = KEY_ENTER, // Enter
747 EXPORT_SYMBOL_GPL(ir_codes_flyvideo);
749 IR_KEYTAB_TYPE ir_codes_flydvb[IR_KEYTAB_SIZE] = {
750 [ 0x01 ] = KEY_ZOOM, // Full Screen
751 [ 0x00 ] = KEY_POWER, // Power
753 [ 0x03 ] = KEY_1,
754 [ 0x04 ] = KEY_2,
755 [ 0x05 ] = KEY_3,
756 [ 0x07 ] = KEY_4,
757 [ 0x08 ] = KEY_5,
758 [ 0x09 ] = KEY_6,
759 [ 0x0b ] = KEY_7,
760 [ 0x0c ] = KEY_8,
761 [ 0x0d ] = KEY_9,
762 [ 0x06 ] = KEY_AGAIN, // Recall
763 [ 0x0f ] = KEY_0,
764 [ 0x10 ] = KEY_MUTE, // Mute
765 [ 0x02 ] = KEY_RADIO, // TV/Radio
766 [ 0x1b ] = KEY_LANGUAGE, // SAP (Second Audio Program)
768 [ 0x14 ] = KEY_VOLUMEUP, // VOL+
769 [ 0x17 ] = KEY_VOLUMEDOWN, // VOL-
770 [ 0x12 ] = KEY_CHANNELUP, // CH+
771 [ 0x13 ] = KEY_CHANNELDOWN, // CH-
772 [ 0x1d ] = KEY_ENTER, // Enter
774 [ 0x1a ] = KEY_MODE, // PIP
775 [ 0x18 ] = KEY_TUNER, // Source
777 [ 0x1e ] = KEY_RECORD, // Record/Pause
778 [ 0x15 ] = KEY_ANGLE, // Swap (no label on key)
779 [ 0x1c ] = KEY_PAUSE, // Timeshift/Pause
780 [ 0x19 ] = KEY_BACK, // Rewind <<
781 [ 0x0a ] = KEY_PLAYPAUSE, // Play/Pause
782 [ 0x1f ] = KEY_FORWARD, // Forward >>
783 [ 0x16 ] = KEY_PREVIOUS, // Back |<<
784 [ 0x11 ] = KEY_STOP, // Stop
785 [ 0x0e ] = KEY_NEXT, // End >>|
788 EXPORT_SYMBOL_GPL(ir_codes_flydvb);
790 IR_KEYTAB_TYPE ir_codes_cinergy[IR_KEYTAB_SIZE] = {
791 [ 0x00 ] = KEY_0,
792 [ 0x01 ] = KEY_1,
793 [ 0x02 ] = KEY_2,
794 [ 0x03 ] = KEY_3,
795 [ 0x04 ] = KEY_4,
796 [ 0x05 ] = KEY_5,
797 [ 0x06 ] = KEY_6,
798 [ 0x07 ] = KEY_7,
799 [ 0x08 ] = KEY_8,
800 [ 0x09 ] = KEY_9,
802 [ 0x0a ] = KEY_POWER,
803 [ 0x0b ] = KEY_PROG1, // app
804 [ 0x0c ] = KEY_ZOOM, // zoom/fullscreen
805 [ 0x0d ] = KEY_CHANNELUP, // channel
806 [ 0x0e ] = KEY_CHANNELDOWN, // channel-
807 [ 0x0f ] = KEY_VOLUMEUP,
808 [ 0x10 ] = KEY_VOLUMEDOWN,
809 [ 0x11 ] = KEY_TUNER, // AV
810 [ 0x12 ] = KEY_NUMLOCK, // -/--
811 [ 0x13 ] = KEY_AUDIO, // audio
812 [ 0x14 ] = KEY_MUTE,
813 [ 0x15 ] = KEY_UP,
814 [ 0x16 ] = KEY_DOWN,
815 [ 0x17 ] = KEY_LEFT,
816 [ 0x18 ] = KEY_RIGHT,
817 [ 0x19 ] = BTN_LEFT,
818 [ 0x1a ] = BTN_RIGHT,
819 [ 0x1b ] = KEY_WWW, // text
820 [ 0x1c ] = KEY_REWIND,
821 [ 0x1d ] = KEY_FORWARD,
822 [ 0x1e ] = KEY_RECORD,
823 [ 0x1f ] = KEY_PLAY,
824 [ 0x20 ] = KEY_PREVIOUSSONG,
825 [ 0x21 ] = KEY_NEXTSONG,
826 [ 0x22 ] = KEY_PAUSE,
827 [ 0x23 ] = KEY_STOP,
830 EXPORT_SYMBOL_GPL(ir_codes_cinergy);
832 /* Alfons Geser <a.geser@cox.net>
833 * updates from Job D. R. Borges <jobdrb@ig.com.br> */
834 IR_KEYTAB_TYPE ir_codes_eztv[IR_KEYTAB_SIZE] = {
835 [ 0x12 ] = KEY_POWER,
836 [ 0x01 ] = KEY_TV, // DVR
837 [ 0x15 ] = KEY_DVD, // DVD
838 [ 0x17 ] = KEY_AUDIO, // music
839 // DVR mode / DVD mode / music mode
841 [ 0x1b ] = KEY_MUTE, // mute
842 [ 0x02 ] = KEY_LANGUAGE, // MTS/SAP / audio / autoseek
843 [ 0x1e ] = KEY_SUBTITLE, // closed captioning / subtitle / seek
844 [ 0x16 ] = KEY_ZOOM, // full screen
845 [ 0x1c ] = KEY_VIDEO, // video source / eject / delall
846 [ 0x1d ] = KEY_RESTART, // playback / angle / del
847 [ 0x2f ] = KEY_SEARCH, // scan / menu / playlist
848 [ 0x30 ] = KEY_CHANNEL, // CH surfing / bookmark / memo
850 [ 0x31 ] = KEY_HELP, // help
851 [ 0x32 ] = KEY_MODE, // num/memo
852 [ 0x33 ] = KEY_ESC, // cancel
854 [ 0x0c ] = KEY_UP, // up
855 [ 0x10 ] = KEY_DOWN, // down
856 [ 0x08 ] = KEY_LEFT, // left
857 [ 0x04 ] = KEY_RIGHT, // right
858 [ 0x03 ] = KEY_SELECT, // select
860 [ 0x1f ] = KEY_REWIND, // rewind
861 [ 0x20 ] = KEY_PLAYPAUSE, // play/pause
862 [ 0x29 ] = KEY_FORWARD, // forward
863 [ 0x14 ] = KEY_AGAIN, // repeat
864 [ 0x2b ] = KEY_RECORD, // recording
865 [ 0x2c ] = KEY_STOP, // stop
866 [ 0x2d ] = KEY_PLAY, // play
867 [ 0x2e ] = KEY_SHUFFLE, // snapshot / shuffle
869 [ 0x00 ] = KEY_0,
870 [ 0x05 ] = KEY_1,
871 [ 0x06 ] = KEY_2,
872 [ 0x07 ] = KEY_3,
873 [ 0x09 ] = KEY_4,
874 [ 0x0a ] = KEY_5,
875 [ 0x0b ] = KEY_6,
876 [ 0x0d ] = KEY_7,
877 [ 0x0e ] = KEY_8,
878 [ 0x0f ] = KEY_9,
880 [ 0x2a ] = KEY_VOLUMEUP,
881 [ 0x11 ] = KEY_VOLUMEDOWN,
882 [ 0x18 ] = KEY_CHANNELUP, // CH.tracking up
883 [ 0x19 ] = KEY_CHANNELDOWN, // CH.tracking down
885 [ 0x13 ] = KEY_ENTER, // enter
886 [ 0x21 ] = KEY_DOT, // . (decimal dot)
889 EXPORT_SYMBOL_GPL(ir_codes_eztv);
891 IR_KEYTAB_TYPE ir_codes_avacssmart[IR_KEYTAB_SIZE] = {
892 [ 0x1e ] = KEY_POWER, // power
893 [ 0x1c ] = KEY_SEARCH, // scan
894 [ 0x07 ] = KEY_SELECT, // source
896 [ 0x16 ] = KEY_VOLUMEUP,
897 [ 0x14 ] = KEY_VOLUMEDOWN,
898 [ 0x1f ] = KEY_CHANNELUP,
899 [ 0x17 ] = KEY_CHANNELDOWN,
900 [ 0x18 ] = KEY_MUTE,
902 [ 0x02 ] = KEY_0,
903 [ 0x01 ] = KEY_1,
904 [ 0x0b ] = KEY_2,
905 [ 0x1b ] = KEY_3,
906 [ 0x05 ] = KEY_4,
907 [ 0x09 ] = KEY_5,
908 [ 0x15 ] = KEY_6,
909 [ 0x06 ] = KEY_7,
910 [ 0x0a ] = KEY_8,
911 [ 0x12 ] = KEY_9,
912 [ 0x10 ] = KEY_DOT,
914 [ 0x03 ] = KEY_TUNER, // tv/fm
915 [ 0x04 ] = KEY_REWIND, // fm tuning left or function left
916 [ 0x0c ] = KEY_FORWARD, // fm tuning right or function right
918 [ 0x00 ] = KEY_RECORD,
919 [ 0x08 ] = KEY_STOP,
920 [ 0x11 ] = KEY_PLAY,
922 [ 0x19 ] = KEY_ZOOM,
923 [ 0x0e ] = KEY_MENU, // function
924 [ 0x13 ] = KEY_AGAIN, // recall
925 [ 0x1d ] = KEY_RESTART, // reset
926 [ 0x1a ] = KEY_SHUFFLE, // snapshot/shuffle
928 // FIXME
929 [ 0x0d ] = KEY_F21, // mts
930 [ 0x0f ] = KEY_F22, // min
933 EXPORT_SYMBOL_GPL(ir_codes_avacssmart);
935 /* Alex Hermann <gaaf@gmx.net> */
936 IR_KEYTAB_TYPE ir_codes_md2819[IR_KEYTAB_SIZE] = {
937 [ 0x28 ] = KEY_1,
938 [ 0x18 ] = KEY_2,
939 [ 0x38 ] = KEY_3,
940 [ 0x24 ] = KEY_4,
941 [ 0x14 ] = KEY_5,
942 [ 0x34 ] = KEY_6,
943 [ 0x2c ] = KEY_7,
944 [ 0x1c ] = KEY_8,
945 [ 0x3c ] = KEY_9,
946 [ 0x22 ] = KEY_0,
948 [ 0x20 ] = KEY_TV, // TV/FM
949 [ 0x10 ] = KEY_CD, // CD
950 [ 0x30 ] = KEY_TEXT, // TELETEXT
951 [ 0x00 ] = KEY_POWER, // POWER
953 [ 0x08 ] = KEY_VIDEO, // VIDEO
954 [ 0x04 ] = KEY_AUDIO, // AUDIO
955 [ 0x0c ] = KEY_ZOOM, // FULL SCREEN
957 [ 0x12 ] = KEY_SUBTITLE, // DISPLAY - ???
958 [ 0x32 ] = KEY_REWIND, // LOOP - ???
959 [ 0x02 ] = KEY_PRINT, // PREVIEW - ???
961 [ 0x2a ] = KEY_SEARCH, // AUTOSCAN
962 [ 0x1a ] = KEY_SLEEP, // FREEZE - ???
963 [ 0x3a ] = KEY_SHUFFLE, // SNAPSHOT - ???
964 [ 0x0a ] = KEY_MUTE, // MUTE
966 [ 0x26 ] = KEY_RECORD, // RECORD
967 [ 0x16 ] = KEY_PAUSE, // PAUSE
968 [ 0x36 ] = KEY_STOP, // STOP
969 [ 0x06 ] = KEY_PLAY, // PLAY
971 [ 0x2e ] = KEY_RED, // <RED>
972 [ 0x21 ] = KEY_GREEN, // <GREEN>
973 [ 0x0e ] = KEY_YELLOW, // <YELLOW>
974 [ 0x01 ] = KEY_BLUE, // <BLUE>
976 [ 0x1e ] = KEY_VOLUMEDOWN, // VOLUME-
977 [ 0x3e ] = KEY_VOLUMEUP, // VOLUME+
978 [ 0x11 ] = KEY_CHANNELDOWN, // CHANNEL/PAGE-
979 [ 0x31 ] = KEY_CHANNELUP // CHANNEL/PAGE+
982 EXPORT_SYMBOL_GPL(ir_codes_md2819);
984 IR_KEYTAB_TYPE ir_codes_videomate_tv_pvr[IR_KEYTAB_SIZE] = {
985 [ 0x14 ] = KEY_MUTE,
986 [ 0x24 ] = KEY_ZOOM,
988 [ 0x01 ] = KEY_DVD,
989 [ 0x23 ] = KEY_RADIO,
990 [ 0x00 ] = KEY_TV,
992 [ 0x0a ] = KEY_REWIND,
993 [ 0x08 ] = KEY_PLAYPAUSE,
994 [ 0x0f ] = KEY_FORWARD,
996 [ 0x02 ] = KEY_PREVIOUS,
997 [ 0x07 ] = KEY_STOP,
998 [ 0x06 ] = KEY_NEXT,
1000 [ 0x0c ] = KEY_UP,
1001 [ 0x0e ] = KEY_DOWN,
1002 [ 0x0b ] = KEY_LEFT,
1003 [ 0x0d ] = KEY_RIGHT,
1004 [ 0x11 ] = KEY_OK,
1006 [ 0x03 ] = KEY_MENU,
1007 [ 0x09 ] = KEY_SETUP,
1008 [ 0x05 ] = KEY_VIDEO,
1009 [ 0x22 ] = KEY_CHANNEL,
1011 [ 0x12 ] = KEY_VOLUMEUP,
1012 [ 0x15 ] = KEY_VOLUMEDOWN,
1013 [ 0x10 ] = KEY_CHANNELUP,
1014 [ 0x13 ] = KEY_CHANNELDOWN,
1016 [ 0x04 ] = KEY_RECORD,
1018 [ 0x16 ] = KEY_1,
1019 [ 0x17 ] = KEY_2,
1020 [ 0x18 ] = KEY_3,
1021 [ 0x19 ] = KEY_4,
1022 [ 0x1a ] = KEY_5,
1023 [ 0x1b ] = KEY_6,
1024 [ 0x1c ] = KEY_7,
1025 [ 0x1d ] = KEY_8,
1026 [ 0x1e ] = KEY_9,
1027 [ 0x1f ] = KEY_0,
1029 [ 0x20 ] = KEY_LANGUAGE,
1030 [ 0x21 ] = KEY_SLEEP,
1033 EXPORT_SYMBOL_GPL(ir_codes_videomate_tv_pvr);
1035 /* Michael Tokarev <mjt@tls.msk.ru>
1036 http://www.corpit.ru/mjt/beholdTV/remote_control.jpg
1037 keytable is used by MANLI MTV00[ 0x0c ] and BeholdTV 40[13] at
1038 least, and probably other cards too.
1039 The "ascii-art picture" below (in comments, first row
1040 is the keycode in hex, and subsequent row(s) shows
1041 the button labels (several variants when appropriate)
1042 helps to descide which keycodes to assign to the buttons.
1044 IR_KEYTAB_TYPE ir_codes_manli[IR_KEYTAB_SIZE] = {
1046 /* 0x1c 0x12 *
1047 * FUNCTION POWER *
1048 * FM (|) *
1049 * */
1050 [ 0x1c ] = KEY_RADIO, /*XXX*/
1051 [ 0x12 ] = KEY_POWER,
1053 /* 0x01 0x02 0x03 *
1054 * 1 2 3 *
1056 * 0x04 0x05 0x06 *
1057 * 4 5 6 *
1059 * 0x07 0x08 0x09 *
1060 * 7 8 9 *
1061 * */
1062 [ 0x01 ] = KEY_1,
1063 [ 0x02 ] = KEY_2,
1064 [ 0x03 ] = KEY_3,
1065 [ 0x04 ] = KEY_4,
1066 [ 0x05 ] = KEY_5,
1067 [ 0x06 ] = KEY_6,
1068 [ 0x07 ] = KEY_7,
1069 [ 0x08 ] = KEY_8,
1070 [ 0x09 ] = KEY_9,
1072 /* 0x0a 0x00 0x17 *
1073 * RECALL 0 +100 *
1074 * PLUS *
1075 * */
1076 [ 0x0a ] = KEY_AGAIN, /*XXX KEY_REWIND? */
1077 [ 0x00 ] = KEY_0,
1078 [ 0x17 ] = KEY_DIGITS, /*XXX*/
1080 /* 0x14 0x10 *
1081 * MENU INFO *
1082 * OSD */
1083 [ 0x14 ] = KEY_MENU,
1084 [ 0x10 ] = KEY_INFO,
1086 /* 0x0b *
1087 * Up *
1089 * 0x18 0x16 0x0c *
1090 * Left Ok Right *
1092 * 0x015 *
1093 * Down *
1094 * */
1095 [ 0x0b ] = KEY_UP, /*XXX KEY_SCROLLUP? */
1096 [ 0x18 ] = KEY_LEFT, /*XXX KEY_BACK? */
1097 [ 0x16 ] = KEY_OK, /*XXX KEY_SELECT? KEY_ENTER? */
1098 [ 0x0c ] = KEY_RIGHT, /*XXX KEY_FORWARD? */
1099 [ 0x15 ] = KEY_DOWN, /*XXX KEY_SCROLLDOWN? */
1101 /* 0x11 0x0d *
1102 * TV/AV MODE *
1103 * SOURCE STEREO *
1104 * */
1105 [ 0x11 ] = KEY_TV, /*XXX*/
1106 [ 0x0d ] = KEY_MODE, /*XXX there's no KEY_STEREO */
1108 /* 0x0f 0x1b 0x1a *
1109 * AUDIO Vol+ Chan+ *
1110 * TIMESHIFT??? *
1112 * 0x0e 0x1f 0x1e *
1113 * SLEEP Vol- Chan- *
1114 * */
1115 [ 0x0f ] = KEY_AUDIO,
1116 [ 0x1b ] = KEY_VOLUMEUP,
1117 [ 0x1a ] = KEY_CHANNELUP,
1118 [ 0x0e ] = KEY_SLEEP, /*XXX maybe KEY_PAUSE */
1119 [ 0x1f ] = KEY_VOLUMEDOWN,
1120 [ 0x1e ] = KEY_CHANNELDOWN,
1122 /* 0x13 0x19 *
1123 * MUTE SNAPSHOT*
1124 * */
1125 [ 0x13 ] = KEY_MUTE,
1126 [ 0x19 ] = KEY_RECORD, /*XXX*/
1128 // 0x1d unused ?
1131 EXPORT_SYMBOL_GPL(ir_codes_manli);
1133 /* Mike Baikov <mike@baikov.com> */
1134 IR_KEYTAB_TYPE ir_codes_gotview7135[IR_KEYTAB_SIZE] = {
1136 [ 0x21 ] = KEY_POWER,
1137 [ 0x69 ] = KEY_TV,
1138 [ 0x33 ] = KEY_0,
1139 [ 0x51 ] = KEY_1,
1140 [ 0x31 ] = KEY_2,
1141 [ 0x71 ] = KEY_3,
1142 [ 0x3b ] = KEY_4,
1143 [ 0x58 ] = KEY_5,
1144 [ 0x41 ] = KEY_6,
1145 [ 0x48 ] = KEY_7,
1146 [ 0x30 ] = KEY_8,
1147 [ 0x53 ] = KEY_9,
1148 [ 0x73 ] = KEY_AGAIN, /* LOOP */
1149 [ 0x0a ] = KEY_AUDIO,
1150 [ 0x61 ] = KEY_PRINT, /* PREVIEW */
1151 [ 0x7a ] = KEY_VIDEO,
1152 [ 0x20 ] = KEY_CHANNELUP,
1153 [ 0x40 ] = KEY_CHANNELDOWN,
1154 [ 0x18 ] = KEY_VOLUMEDOWN,
1155 [ 0x50 ] = KEY_VOLUMEUP,
1156 [ 0x10 ] = KEY_MUTE,
1157 [ 0x4a ] = KEY_SEARCH,
1158 [ 0x7b ] = KEY_SHUFFLE, /* SNAPSHOT */
1159 [ 0x22 ] = KEY_RECORD,
1160 [ 0x62 ] = KEY_STOP,
1161 [ 0x78 ] = KEY_PLAY,
1162 [ 0x39 ] = KEY_REWIND,
1163 [ 0x59 ] = KEY_PAUSE,
1164 [ 0x19 ] = KEY_FORWARD,
1165 [ 0x09 ] = KEY_ZOOM,
1167 [ 0x52 ] = KEY_F21, /* LIVE TIMESHIFT */
1168 [ 0x1a ] = KEY_F22, /* MIN TIMESHIFT */
1169 [ 0x3a ] = KEY_F23, /* TIMESHIFT */
1170 [ 0x70 ] = KEY_F24, /* NORMAL TIMESHIFT */
1173 EXPORT_SYMBOL_GPL(ir_codes_gotview7135);
1175 IR_KEYTAB_TYPE ir_codes_purpletv[IR_KEYTAB_SIZE] = {
1176 [ 0x03 ] = KEY_POWER,
1177 [ 0x6f ] = KEY_MUTE,
1178 [ 0x10 ] = KEY_BACKSPACE, /* Recall */
1180 [ 0x11 ] = KEY_0,
1181 [ 0x04 ] = KEY_1,
1182 [ 0x05 ] = KEY_2,
1183 [ 0x06 ] = KEY_3,
1184 [ 0x08 ] = KEY_4,
1185 [ 0x09 ] = KEY_5,
1186 [ 0x0a ] = KEY_6,
1187 [ 0x0c ] = KEY_7,
1188 [ 0x0d ] = KEY_8,
1189 [ 0x0e ] = KEY_9,
1190 [ 0x12 ] = KEY_DOT, /* 100+ */
1192 [ 0x07 ] = KEY_VOLUMEUP,
1193 [ 0x0b ] = KEY_VOLUMEDOWN,
1194 [ 0x1a ] = KEY_KPPLUS,
1195 [ 0x18 ] = KEY_KPMINUS,
1196 [ 0x15 ] = KEY_UP,
1197 [ 0x1d ] = KEY_DOWN,
1198 [ 0x0f ] = KEY_CHANNELUP,
1199 [ 0x13 ] = KEY_CHANNELDOWN,
1200 [ 0x48 ] = KEY_ZOOM,
1202 [ 0x1b ] = KEY_VIDEO, /* Video source */
1203 [ 0x49 ] = KEY_LANGUAGE, /* MTS Select */
1204 [ 0x19 ] = KEY_SEARCH, /* Auto Scan */
1206 [ 0x4b ] = KEY_RECORD,
1207 [ 0x46 ] = KEY_PLAY,
1208 [ 0x45 ] = KEY_PAUSE, /* Pause */
1209 [ 0x44 ] = KEY_STOP,
1210 [ 0x40 ] = KEY_FORWARD, /* Forward ? */
1211 [ 0x42 ] = KEY_REWIND, /* Backward ? */
1215 EXPORT_SYMBOL_GPL(ir_codes_purpletv);
1217 /* Mapping for the 28 key remote control as seen at
1218 http://www.sednacomputer.com/photo/cardbus-tv.jpg
1219 Pavel Mihaylov <bin@bash.info> */
1220 IR_KEYTAB_TYPE ir_codes_pctv_sedna[IR_KEYTAB_SIZE] = {
1221 [ 0x00 ] = KEY_0,
1222 [ 0x01 ] = KEY_1,
1223 [ 0x02 ] = KEY_2,
1224 [ 0x03 ] = KEY_3,
1225 [ 0x04 ] = KEY_4,
1226 [ 0x05 ] = KEY_5,
1227 [ 0x06 ] = KEY_6,
1228 [ 0x07 ] = KEY_7,
1229 [ 0x08 ] = KEY_8,
1230 [ 0x09 ] = KEY_9,
1232 [ 0x0a ] = KEY_AGAIN, /* Recall */
1233 [ 0x0b ] = KEY_CHANNELUP,
1234 [ 0x0c ] = KEY_VOLUMEUP,
1235 [ 0x0d ] = KEY_MODE, /* Stereo */
1236 [ 0x0e ] = KEY_STOP,
1237 [ 0x0f ] = KEY_PREVIOUSSONG,
1238 [ 0x10 ] = KEY_ZOOM,
1239 [ 0x11 ] = KEY_TUNER, /* Source */
1240 [ 0x12 ] = KEY_POWER,
1241 [ 0x13 ] = KEY_MUTE,
1242 [ 0x15 ] = KEY_CHANNELDOWN,
1243 [ 0x18 ] = KEY_VOLUMEDOWN,
1244 [ 0x19 ] = KEY_SHUFFLE, /* Snapshot */
1245 [ 0x1a ] = KEY_NEXTSONG,
1246 [ 0x1b ] = KEY_TEXT, /* Time Shift */
1247 [ 0x1c ] = KEY_RADIO, /* FM Radio */
1248 [ 0x1d ] = KEY_RECORD,
1249 [ 0x1e ] = KEY_PAUSE,
1252 EXPORT_SYMBOL_GPL(ir_codes_pctv_sedna);
1254 /* Mark Phalan <phalanm@o2.ie> */
1255 IR_KEYTAB_TYPE ir_codes_pv951[IR_KEYTAB_SIZE] = {
1256 [ 0x00 ] = KEY_0,
1257 [ 0x01 ] = KEY_1,
1258 [ 0x02 ] = KEY_2,
1259 [ 0x03 ] = KEY_3,
1260 [ 0x04 ] = KEY_4,
1261 [ 0x05 ] = KEY_5,
1262 [ 0x06 ] = KEY_6,
1263 [ 0x07 ] = KEY_7,
1264 [ 0x08 ] = KEY_8,
1265 [ 0x09 ] = KEY_9,
1267 [ 0x12 ] = KEY_POWER,
1268 [ 0x10 ] = KEY_MUTE,
1269 [ 0x1f ] = KEY_VOLUMEDOWN,
1270 [ 0x1b ] = KEY_VOLUMEUP,
1271 [ 0x1a ] = KEY_CHANNELUP,
1272 [ 0x1e ] = KEY_CHANNELDOWN,
1273 [ 0x0e ] = KEY_PAGEUP,
1274 [ 0x1d ] = KEY_PAGEDOWN,
1275 [ 0x13 ] = KEY_SOUND,
1277 [ 0x18 ] = KEY_KPPLUSMINUS, /* CH +/- */
1278 [ 0x16 ] = KEY_SUBTITLE, /* CC */
1279 [ 0x0d ] = KEY_TEXT, /* TTX */
1280 [ 0x0b ] = KEY_TV, /* AIR/CBL */
1281 [ 0x11 ] = KEY_PC, /* PC/TV */
1282 [ 0x17 ] = KEY_OK, /* CH RTN */
1283 [ 0x19 ] = KEY_MODE, /* FUNC */
1284 [ 0x0c ] = KEY_SEARCH, /* AUTOSCAN */
1286 /* Not sure what to do with these ones! */
1287 [ 0x0f ] = KEY_SELECT, /* SOURCE */
1288 [ 0x0a ] = KEY_KPPLUS, /* +100 */
1289 [ 0x14 ] = KEY_EQUAL, /* SYNC */
1290 [ 0x1c ] = KEY_MEDIA, /* PC/TV */
1293 EXPORT_SYMBOL_GPL(ir_codes_pv951);
1295 /* generic RC5 keytable */
1296 /* see http://users.pandora.be/nenya/electronics/rc5/codes00.htm */
1297 /* used by old (black) Hauppauge remotes */
1298 IR_KEYTAB_TYPE ir_codes_rc5_tv[IR_KEYTAB_SIZE] = {
1299 /* Keys 0 to 9 */
1300 [ 0x00 ] = KEY_0,
1301 [ 0x01 ] = KEY_1,
1302 [ 0x02 ] = KEY_2,
1303 [ 0x03 ] = KEY_3,
1304 [ 0x04 ] = KEY_4,
1305 [ 0x05 ] = KEY_5,
1306 [ 0x06 ] = KEY_6,
1307 [ 0x07 ] = KEY_7,
1308 [ 0x08 ] = KEY_8,
1309 [ 0x09 ] = KEY_9,
1311 [ 0x0b ] = KEY_CHANNEL, /* channel / program (japan: 11) */
1312 [ 0x0c ] = KEY_POWER, /* standby */
1313 [ 0x0d ] = KEY_MUTE, /* mute / demute */
1314 [ 0x0f ] = KEY_TV, /* display */
1315 [ 0x10 ] = KEY_VOLUMEUP,
1316 [ 0x11 ] = KEY_VOLUMEDOWN,
1317 [ 0x12 ] = KEY_BRIGHTNESSUP,
1318 [ 0x13 ] = KEY_BRIGHTNESSDOWN,
1319 [ 0x1e ] = KEY_SEARCH, /* search + */
1320 [ 0x20 ] = KEY_CHANNELUP, /* channel / program + */
1321 [ 0x21 ] = KEY_CHANNELDOWN, /* channel / program - */
1322 [ 0x22 ] = KEY_CHANNEL, /* alt / channel */
1323 [ 0x23 ] = KEY_LANGUAGE, /* 1st / 2nd language */
1324 [ 0x26 ] = KEY_SLEEP, /* sleeptimer */
1325 [ 0x2e ] = KEY_MENU, /* 2nd controls (USA: menu) */
1326 [ 0x30 ] = KEY_PAUSE,
1327 [ 0x32 ] = KEY_REWIND,
1328 [ 0x33 ] = KEY_GOTO,
1329 [ 0x35 ] = KEY_PLAY,
1330 [ 0x36 ] = KEY_STOP,
1331 [ 0x37 ] = KEY_RECORD, /* recording */
1332 [ 0x3c ] = KEY_TEXT, /* teletext submode (Japan: 12) */
1333 [ 0x3d ] = KEY_SUSPEND, /* system standby */
1337 EXPORT_SYMBOL_GPL(ir_codes_rc5_tv);
1339 /* Table for Leadtek Winfast Remote Controls - used by both bttv and cx88 */
1340 IR_KEYTAB_TYPE ir_codes_winfast[IR_KEYTAB_SIZE] = {
1341 /* Keys 0 to 9 */
1342 [ 0x12 ] = KEY_0,
1343 [ 0x05 ] = KEY_1,
1344 [ 0x06 ] = KEY_2,
1345 [ 0x07 ] = KEY_3,
1346 [ 0x09 ] = KEY_4,
1347 [ 0x0a ] = KEY_5,
1348 [ 0x0b ] = KEY_6,
1349 [ 0x0d ] = KEY_7,
1350 [ 0x0e ] = KEY_8,
1351 [ 0x0f ] = KEY_9,
1353 [ 0x00 ] = KEY_POWER,
1354 [ 0x02 ] = KEY_TUNER, /* TV/FM */
1355 [ 0x1e ] = KEY_VIDEO,
1356 [ 0x04 ] = KEY_VOLUMEUP,
1357 [ 0x08 ] = KEY_VOLUMEDOWN,
1358 [ 0x0c ] = KEY_CHANNELUP,
1359 [ 0x10 ] = KEY_CHANNELDOWN,
1360 [ 0x03 ] = KEY_ZOOM, /* fullscreen */
1361 [ 0x1f ] = KEY_SUBTITLE, /* closed caption/teletext */
1362 [ 0x20 ] = KEY_SLEEP,
1363 [ 0x14 ] = KEY_MUTE,
1364 [ 0x2b ] = KEY_RED,
1365 [ 0x2c ] = KEY_GREEN,
1366 [ 0x2d ] = KEY_YELLOW,
1367 [ 0x2e ] = KEY_BLUE,
1368 [ 0x18 ] = KEY_KPPLUS, /* fine tune + */
1369 [ 0x19 ] = KEY_KPMINUS, /* fine tune - */
1370 [ 0x21 ] = KEY_DOT,
1371 [ 0x13 ] = KEY_ENTER,
1372 [ 0x22 ] = KEY_BACK,
1373 [ 0x23 ] = KEY_PLAYPAUSE,
1374 [ 0x24 ] = KEY_NEXT,
1375 [ 0x26 ] = KEY_STOP,
1376 [ 0x27 ] = KEY_RECORD
1379 EXPORT_SYMBOL_GPL(ir_codes_winfast);
1381 IR_KEYTAB_TYPE ir_codes_pinnacle[IR_KEYTAB_SIZE] = {
1382 [ 0x59 ] = KEY_MUTE,
1383 [ 0x4a ] = KEY_POWER,
1385 [ 0x18 ] = KEY_TEXT,
1386 [ 0x26 ] = KEY_TV,
1387 [ 0x3d ] = KEY_PRINT,
1389 [ 0x48 ] = KEY_RED,
1390 [ 0x04 ] = KEY_GREEN,
1391 [ 0x11 ] = KEY_YELLOW,
1392 [ 0x00 ] = KEY_BLUE,
1394 [ 0x2d ] = KEY_VOLUMEUP,
1395 [ 0x1e ] = KEY_VOLUMEDOWN,
1397 [ 0x49 ] = KEY_MENU,
1399 [ 0x16 ] = KEY_CHANNELUP,
1400 [ 0x17 ] = KEY_CHANNELDOWN,
1402 [ 0x20 ] = KEY_UP,
1403 [ 0x21 ] = KEY_DOWN,
1404 [ 0x22 ] = KEY_LEFT,
1405 [ 0x23 ] = KEY_RIGHT,
1406 [ 0x0d ] = KEY_SELECT,
1410 [ 0x08 ] = KEY_BACK,
1411 [ 0x07 ] = KEY_REFRESH,
1413 [ 0x2f ] = KEY_ZOOM,
1414 [ 0x29 ] = KEY_RECORD,
1416 [ 0x4b ] = KEY_PAUSE,
1417 [ 0x4d ] = KEY_REWIND,
1418 [ 0x2e ] = KEY_PLAY,
1419 [ 0x4e ] = KEY_FORWARD,
1420 [ 0x53 ] = KEY_PREVIOUS,
1421 [ 0x4c ] = KEY_STOP,
1422 [ 0x54 ] = KEY_NEXT,
1424 [ 0x69 ] = KEY_0,
1425 [ 0x6a ] = KEY_1,
1426 [ 0x6b ] = KEY_2,
1427 [ 0x6c ] = KEY_3,
1428 [ 0x6d ] = KEY_4,
1429 [ 0x6e ] = KEY_5,
1430 [ 0x6f ] = KEY_6,
1431 [ 0x70 ] = KEY_7,
1432 [ 0x71 ] = KEY_8,
1433 [ 0x72 ] = KEY_9,
1435 [ 0x74 ] = KEY_CHANNEL,
1436 [ 0x0a ] = KEY_BACKSPACE,
1439 EXPORT_SYMBOL_GPL(ir_codes_pinnacle);
1441 /* Hauppauge: the newer, gray remotes (seems there are multiple
1442 * slightly different versions), shipped with cx88+ivtv cards.
1443 * almost rc5 coding, but some non-standard keys */
1444 IR_KEYTAB_TYPE ir_codes_hauppauge_new[IR_KEYTAB_SIZE] = {
1445 /* Keys 0 to 9 */
1446 [ 0x00 ] = KEY_0,
1447 [ 0x01 ] = KEY_1,
1448 [ 0x02 ] = KEY_2,
1449 [ 0x03 ] = KEY_3,
1450 [ 0x04 ] = KEY_4,
1451 [ 0x05 ] = KEY_5,
1452 [ 0x06 ] = KEY_6,
1453 [ 0x07 ] = KEY_7,
1454 [ 0x08 ] = KEY_8,
1455 [ 0x09 ] = KEY_9,
1457 [ 0x0a ] = KEY_TEXT, /* keypad asterisk as well */
1458 [ 0x0b ] = KEY_RED, /* red button */
1459 [ 0x0c ] = KEY_RADIO,
1460 [ 0x0d ] = KEY_MENU,
1461 [ 0x0e ] = KEY_SUBTITLE, /* also the # key */
1462 [ 0x0f ] = KEY_MUTE,
1463 [ 0x10 ] = KEY_VOLUMEUP,
1464 [ 0x11 ] = KEY_VOLUMEDOWN,
1465 [ 0x12 ] = KEY_PREVIOUS, /* previous channel */
1466 [ 0x14 ] = KEY_UP,
1467 [ 0x15 ] = KEY_DOWN,
1468 [ 0x16 ] = KEY_LEFT,
1469 [ 0x17 ] = KEY_RIGHT,
1470 [ 0x18 ] = KEY_VIDEO, /* Videos */
1471 [ 0x19 ] = KEY_AUDIO, /* Music */
1472 /* 0x1a: Pictures - presume this means
1473 "Multimedia Home Platform" -
1474 no "PICTURES" key in input.h
1476 [ 0x1a ] = KEY_MHP,
1478 [ 0x1b ] = KEY_EPG, /* Guide */
1479 [ 0x1c ] = KEY_TV,
1480 [ 0x1e ] = KEY_NEXTSONG, /* skip >| */
1481 [ 0x1f ] = KEY_EXIT, /* back/exit */
1482 [ 0x20 ] = KEY_CHANNELUP, /* channel / program + */
1483 [ 0x21 ] = KEY_CHANNELDOWN, /* channel / program - */
1484 [ 0x22 ] = KEY_CHANNEL, /* source (old black remote) */
1485 [ 0x24 ] = KEY_PREVIOUSSONG, /* replay |< */
1486 [ 0x25 ] = KEY_ENTER, /* OK */
1487 [ 0x26 ] = KEY_SLEEP, /* minimize (old black remote) */
1488 [ 0x29 ] = KEY_BLUE, /* blue key */
1489 [ 0x2e ] = KEY_GREEN, /* green button */
1490 [ 0x30 ] = KEY_PAUSE, /* pause */
1491 [ 0x32 ] = KEY_REWIND, /* backward << */
1492 [ 0x34 ] = KEY_FASTFORWARD, /* forward >> */
1493 [ 0x35 ] = KEY_PLAY,
1494 [ 0x36 ] = KEY_STOP,
1495 [ 0x37 ] = KEY_RECORD, /* recording */
1496 [ 0x38 ] = KEY_YELLOW, /* yellow key */
1497 [ 0x3b ] = KEY_SELECT, /* top right button */
1498 [ 0x3c ] = KEY_ZOOM, /* full */
1499 [ 0x3d ] = KEY_POWER, /* system power (green button) */
1502 EXPORT_SYMBOL_GPL(ir_codes_hauppauge_new);
1504 IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE] = {
1505 [ 0x02 ] = KEY_0,
1506 [ 0x01 ] = KEY_1,
1507 [ 0x0b ] = KEY_2,
1508 [ 0x1b ] = KEY_3,
1509 [ 0x05 ] = KEY_4,
1510 [ 0x09 ] = KEY_5,
1511 [ 0x15 ] = KEY_6,
1512 [ 0x06 ] = KEY_7,
1513 [ 0x0a ] = KEY_8,
1514 [ 0x12 ] = KEY_9,
1516 [ 0x03 ] = KEY_TUNER, /* TV/FM */
1517 [ 0x07 ] = KEY_SEARCH, /* scan */
1518 [ 0x1c ] = KEY_ZOOM, /* full screen */
1519 [ 0x1e ] = KEY_POWER,
1520 [ 0x17 ] = KEY_VOLUMEDOWN,
1521 [ 0x1f ] = KEY_VOLUMEUP,
1522 [ 0x14 ] = KEY_CHANNELDOWN,
1523 [ 0x16 ] = KEY_CHANNELUP,
1524 [ 0x18 ] = KEY_MUTE,
1526 [ 0x00 ] = KEY_LIST, /* source */
1527 [ 0x13 ] = KEY_INFO, /* loop */
1528 [ 0x10 ] = KEY_LAST, /* +100 */
1529 [ 0x0d ] = KEY_CLEAR, /* reset */
1530 [ 0x0c ] = BTN_RIGHT, /* fun++ */
1531 [ 0x04 ] = BTN_LEFT, /* fun-- */
1532 [ 0x0e ] = KEY_GOTO, /* function */
1533 [ 0x0f ] = KEY_STOP, /* freeze */
1536 EXPORT_SYMBOL_GPL(ir_codes_pixelview);