blob: 107565c47274c475870480aa2a5b69a0d450c980 [file] [log] [blame]
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001/*
2
3
4 Keytables for supported remote controls. This file is part of
5 video4linux.
6
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.
11
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.
16
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.
20
21 */
22#include <linux/module.h>
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -020023
24#include <linux/input.h>
25#include <media/ir-common.h>
26
27/* empty keytable, can be used as placeholder for not-yet created keytables */
28IR_KEYTAB_TYPE ir_codes_empty[IR_KEYTAB_SIZE] = {
29 [ 0x2a ] = KEY_COFFEE,
30};
31
32EXPORT_SYMBOL_GPL(ir_codes_empty);
33
Michal Majchrowiczb04c1ba2006-09-13 16:42:42 -030034/* Michal Majchrowicz <mmajchrowicz@gmail.com> */
35IR_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,
47
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,
62};
63
64EXPORT_SYMBOL_GPL(ir_codes_proteus_2309);
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -020065/* Matt Jesson <dvb@jesson.eclipse.co.uk */
66IR_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'
77
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 +'
102};
103
104EXPORT_SYMBOL_GPL(ir_codes_avermedia_dvbt);
105
106/* Attila Kondoros <attila.kondoros@chello.hu> */
107IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE] = {
108
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
121
122
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
130
131 [ 0x11 ] = KEY_VIDEO, // video
132 [ 0x0f ] = KEY_ZOOM, // full screen
133 [ 0x13 ] = KEY_MUTE, // mute/unmute
134 [ 0x10 ] = KEY_TEXT, // min
135
136 [ 0x0d ] = KEY_STOP, // freeze
137 [ 0x0e ] = KEY_RECORD, // record
138 [ 0x1d ] = KEY_PLAYPAUSE, // stop
139 [ 0x19 ] = KEY_PLAY, // play
140
141 [ 0x16 ] = KEY_GOTO, // osd
142 [ 0x14 ] = KEY_REFRESH, // default
143 [ 0x0c ] = KEY_KPPLUS, // fine tune >>>>
144 [ 0x18 ] = KEY_KPMINUS // fine tune <<<<
145};
146
147EXPORT_SYMBOL_GPL(ir_codes_apac_viewcomp);
148
149/* ---------------------------------------------------------------------- */
150
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200151IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE] = {
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200152
153 [ 0x1e ] = KEY_POWER, // power
154 [ 0x07 ] = KEY_MEDIA, // source
155 [ 0x1c ] = KEY_SEARCH, // scan
156
157/* FIXME: duplicate keycodes?
158 *
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.
165 *
166 * [ 0x17 ] = KEY_BACK, // fm scan <<
167 * [ 0x1f ] = KEY_FORWARD, // fm scan >>
168 *
169 * [ 0x04 ] = KEY_LEFT, // fm tuning <
170 * [ 0x0c ] = KEY_RIGHT, // fm tuning >
171 *
172 * For now, these four keys are disabled. Pressing them will generate
173 * the CH+/CH-/<<</>>> events
174 */
175
176 [ 0x03 ] = KEY_TUNER, // TV/FM
177
178 [ 0x00 ] = KEY_RECORD,
179 [ 0x08 ] = KEY_STOP,
180 [ 0x11 ] = KEY_PLAY,
181
182 [ 0x1a ] = KEY_PLAYPAUSE, // freeze
183 [ 0x19 ] = KEY_ZOOM, // zoom
184 [ 0x0f ] = KEY_TEXT, // min
185
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
198
199 [ 0x1f ] = KEY_CHANNELUP, // chn down
200 [ 0x17 ] = KEY_CHANNELDOWN, // chn up
201 [ 0x16 ] = KEY_VOLUMEUP, // vol down
202 [ 0x14 ] = KEY_VOLUMEDOWN, // vol up
203
204 [ 0x04 ] = KEY_KPMINUS, // <<<
205 [ 0x0e ] = KEY_SETUP, // function
206 [ 0x0c ] = KEY_KPPLUS, // >>>
207
208 [ 0x0d ] = KEY_GOTO, // mts
209 [ 0x1d ] = KEY_REFRESH, // reset
210 [ 0x18 ] = KEY_MUTE // mute/unmute
211};
212
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200213EXPORT_SYMBOL_GPL(ir_codes_pixelview);
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200214
215IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE] = {
216 [ 0x00 ] = KEY_0,
217 [ 0x01 ] = KEY_1,
218 [ 0x02 ] = KEY_2,
219 [ 0x03 ] = KEY_3,
220 [ 0x04 ] = KEY_4,
221 [ 0x05 ] = KEY_5,
222 [ 0x06 ] = KEY_6,
223 [ 0x07 ] = KEY_7,
224 [ 0x08 ] = KEY_8,
225 [ 0x09 ] = KEY_9,
226 [ 0x0a ] = KEY_TV,
227 [ 0x0b ] = KEY_AUX,
228 [ 0x0c ] = KEY_DVD,
229 [ 0x0d ] = KEY_POWER,
230 [ 0x0e ] = KEY_MHP, /* labelled 'Picture' */
231 [ 0x0f ] = KEY_AUDIO,
232 [ 0x10 ] = KEY_INFO,
233 [ 0x11 ] = KEY_F13, /* 16:9 */
234 [ 0x12 ] = KEY_F14, /* 14:9 */
235 [ 0x13 ] = KEY_EPG,
236 [ 0x14 ] = KEY_EXIT,
237 [ 0x15 ] = KEY_MENU,
238 [ 0x16 ] = KEY_UP,
239 [ 0x17 ] = KEY_DOWN,
240 [ 0x18 ] = KEY_LEFT,
241 [ 0x19 ] = KEY_RIGHT,
242 [ 0x1a ] = KEY_ENTER,
243 [ 0x1b ] = KEY_CHANNELUP,
244 [ 0x1c ] = KEY_CHANNELDOWN,
245 [ 0x1d ] = KEY_VOLUMEUP,
246 [ 0x1e ] = KEY_VOLUMEDOWN,
247 [ 0x1f ] = KEY_RED,
248 [ 0x20 ] = KEY_GREEN,
249 [ 0x21 ] = KEY_YELLOW,
250 [ 0x22 ] = KEY_BLUE,
251 [ 0x23 ] = KEY_SUBTITLE,
252 [ 0x24 ] = KEY_F15, /* AD */
253 [ 0x25 ] = KEY_TEXT,
254 [ 0x26 ] = KEY_MUTE,
255 [ 0x27 ] = KEY_REWIND,
256 [ 0x28 ] = KEY_STOP,
257 [ 0x29 ] = KEY_PLAY,
258 [ 0x2a ] = KEY_FASTFORWARD,
259 [ 0x2b ] = KEY_F16, /* chapter */
260 [ 0x2c ] = KEY_PAUSE,
261 [ 0x2d ] = KEY_PLAY,
262 [ 0x2e ] = KEY_RECORD,
263 [ 0x2f ] = KEY_F17, /* picture in picture */
264 [ 0x30 ] = KEY_KPPLUS, /* zoom in */
265 [ 0x31 ] = KEY_KPMINUS, /* zoom out */
266 [ 0x32 ] = KEY_F18, /* capture */
267 [ 0x33 ] = KEY_F19, /* web */
268 [ 0x34 ] = KEY_EMAIL,
269 [ 0x35 ] = KEY_PHONE,
270 [ 0x36 ] = KEY_PC
271};
272
273EXPORT_SYMBOL_GPL(ir_codes_nebula);
274
275/* DigitalNow DNTV Live DVB-T Remote */
276IR_KEYTAB_TYPE ir_codes_dntv_live_dvb_t[IR_KEYTAB_SIZE] = {
277 [ 0x00 ] = KEY_ESC, /* 'go up a level?' */
278 /* Keys 0 to 9 */
279 [ 0x0a ] = KEY_0,
280 [ 0x01 ] = KEY_1,
281 [ 0x02 ] = KEY_2,
282 [ 0x03 ] = KEY_3,
283 [ 0x04 ] = KEY_4,
284 [ 0x05 ] = KEY_5,
285 [ 0x06 ] = KEY_6,
286 [ 0x07 ] = KEY_7,
287 [ 0x08 ] = KEY_8,
288 [ 0x09 ] = KEY_9,
289
290 [ 0x0b ] = KEY_TUNER, /* tv/fm */
291 [ 0x0c ] = KEY_SEARCH, /* scan */
292 [ 0x0d ] = KEY_STOP,
293 [ 0x0e ] = KEY_PAUSE,
294 [ 0x0f ] = KEY_LIST, /* source */
295
296 [ 0x10 ] = KEY_MUTE,
297 [ 0x11 ] = KEY_REWIND, /* backward << */
298 [ 0x12 ] = KEY_POWER,
299 [ 0x13 ] = KEY_S, /* snap */
300 [ 0x14 ] = KEY_AUDIO, /* stereo */
301 [ 0x15 ] = KEY_CLEAR, /* reset */
302 [ 0x16 ] = KEY_PLAY,
303 [ 0x17 ] = KEY_ENTER,
304 [ 0x18 ] = KEY_ZOOM, /* full screen */
305 [ 0x19 ] = KEY_FASTFORWARD, /* forward >> */
306 [ 0x1a ] = KEY_CHANNELUP,
307 [ 0x1b ] = KEY_VOLUMEUP,
308 [ 0x1c ] = KEY_INFO, /* preview */
309 [ 0x1d ] = KEY_RECORD, /* record */
310 [ 0x1e ] = KEY_CHANNELDOWN,
311 [ 0x1f ] = KEY_VOLUMEDOWN,
312};
313
314EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvb_t);
315
316/* ---------------------------------------------------------------------- */
317
318/* IO-DATA BCTV7E Remote */
319IR_KEYTAB_TYPE ir_codes_iodata_bctv7e[IR_KEYTAB_SIZE] = {
320 [ 0x40 ] = KEY_TV,
321 [ 0x20 ] = KEY_RADIO, /* FM */
322 [ 0x60 ] = KEY_EPG,
323 [ 0x00 ] = KEY_POWER,
324
325 /* Keys 0 to 9 */
326 [ 0x44 ] = KEY_0, /* 10 */
327 [ 0x50 ] = KEY_1,
328 [ 0x30 ] = KEY_2,
329 [ 0x70 ] = KEY_3,
330 [ 0x48 ] = KEY_4,
331 [ 0x28 ] = KEY_5,
332 [ 0x68 ] = KEY_6,
333 [ 0x58 ] = KEY_7,
334 [ 0x38 ] = KEY_8,
335 [ 0x78 ] = KEY_9,
336
337 [ 0x10 ] = KEY_L, /* Live */
338 [ 0x08 ] = KEY_T, /* Time Shift */
339
340 [ 0x18 ] = KEY_PLAYPAUSE, /* Play */
341
342 [ 0x24 ] = KEY_ENTER, /* 11 */
343 [ 0x64 ] = KEY_ESC, /* 12 */
344 [ 0x04 ] = KEY_M, /* Multi */
345
346 [ 0x54 ] = KEY_VIDEO,
347 [ 0x34 ] = KEY_CHANNELUP,
348 [ 0x74 ] = KEY_VOLUMEUP,
349 [ 0x14 ] = KEY_MUTE,
350
351 [ 0x4c ] = KEY_S, /* SVIDEO */
352 [ 0x2c ] = KEY_CHANNELDOWN,
353 [ 0x6c ] = KEY_VOLUMEDOWN,
354 [ 0x0c ] = KEY_ZOOM,
355
356 [ 0x5c ] = KEY_PAUSE,
357 [ 0x3c ] = KEY_C, /* || (red) */
358 [ 0x7c ] = KEY_RECORD, /* recording */
359 [ 0x1c ] = KEY_STOP,
360
361 [ 0x41 ] = KEY_REWIND, /* backward << */
362 [ 0x21 ] = KEY_PLAY,
363 [ 0x61 ] = KEY_FASTFORWARD, /* forward >> */
364 [ 0x01 ] = KEY_NEXT, /* skip >| */
365};
366
367EXPORT_SYMBOL_GPL(ir_codes_iodata_bctv7e);
368
369/* ---------------------------------------------------------------------- */
370
371/* ADS Tech Instant TV DVB-T PCI Remote */
372IR_KEYTAB_TYPE ir_codes_adstech_dvb_t_pci[IR_KEYTAB_SIZE] = {
373 /* Keys 0 to 9 */
374 [ 0x4d ] = KEY_0,
375 [ 0x57 ] = KEY_1,
376 [ 0x4f ] = KEY_2,
377 [ 0x53 ] = KEY_3,
378 [ 0x56 ] = KEY_4,
379 [ 0x4e ] = KEY_5,
380 [ 0x5e ] = KEY_6,
381 [ 0x54 ] = KEY_7,
382 [ 0x4c ] = KEY_8,
383 [ 0x5c ] = KEY_9,
384
385 [ 0x5b ] = KEY_POWER,
386 [ 0x5f ] = KEY_MUTE,
387 [ 0x55 ] = KEY_GOTO,
388 [ 0x5d ] = KEY_SEARCH,
389 [ 0x17 ] = KEY_EPG, /* Guide */
390 [ 0x1f ] = KEY_MENU,
391 [ 0x0f ] = KEY_UP,
392 [ 0x46 ] = KEY_DOWN,
393 [ 0x16 ] = KEY_LEFT,
394 [ 0x1e ] = KEY_RIGHT,
395 [ 0x0e ] = KEY_SELECT, /* Enter */
396 [ 0x5a ] = KEY_INFO,
397 [ 0x52 ] = KEY_EXIT,
398 [ 0x59 ] = KEY_PREVIOUS,
399 [ 0x51 ] = KEY_NEXT,
400 [ 0x58 ] = KEY_REWIND,
401 [ 0x50 ] = KEY_FORWARD,
402 [ 0x44 ] = KEY_PLAYPAUSE,
403 [ 0x07 ] = KEY_STOP,
404 [ 0x1b ] = KEY_RECORD,
405 [ 0x13 ] = KEY_TUNER, /* Live */
406 [ 0x0a ] = KEY_A,
407 [ 0x12 ] = KEY_B,
408 [ 0x03 ] = KEY_PROG1, /* 1 */
409 [ 0x01 ] = KEY_PROG2, /* 2 */
410 [ 0x00 ] = KEY_PROG3, /* 3 */
411 [ 0x06 ] = KEY_DVD,
412 [ 0x48 ] = KEY_AUX, /* Photo */
413 [ 0x40 ] = KEY_VIDEO,
414 [ 0x19 ] = KEY_AUDIO, /* Music */
415 [ 0x0b ] = KEY_CHANNELUP,
416 [ 0x08 ] = KEY_CHANNELDOWN,
417 [ 0x15 ] = KEY_VOLUMEUP,
418 [ 0x1c ] = KEY_VOLUMEDOWN,
419};
420
421EXPORT_SYMBOL_GPL(ir_codes_adstech_dvb_t_pci);
422
423/* ---------------------------------------------------------------------- */
424
425/* MSI TV@nywhere remote */
426IR_KEYTAB_TYPE ir_codes_msi_tvanywhere[IR_KEYTAB_SIZE] = {
427 /* Keys 0 to 9 */
428 [ 0x00 ] = KEY_0,
429 [ 0x01 ] = KEY_1,
430 [ 0x02 ] = KEY_2,
431 [ 0x03 ] = KEY_3,
432 [ 0x04 ] = KEY_4,
433 [ 0x05 ] = KEY_5,
434 [ 0x06 ] = KEY_6,
435 [ 0x07 ] = KEY_7,
436 [ 0x08 ] = KEY_8,
437 [ 0x09 ] = KEY_9,
438
439 [ 0x0c ] = KEY_MUTE,
440 [ 0x0f ] = KEY_SCREEN, /* Full Screen */
441 [ 0x10 ] = KEY_F, /* Funtion */
442 [ 0x11 ] = KEY_T, /* Time shift */
443 [ 0x12 ] = KEY_POWER,
444 [ 0x13 ] = KEY_MEDIA, /* MTS */
445 [ 0x14 ] = KEY_SLOW,
446 [ 0x16 ] = KEY_REWIND, /* backward << */
447 [ 0x17 ] = KEY_ENTER, /* Return */
448 [ 0x18 ] = KEY_FASTFORWARD, /* forward >> */
449 [ 0x1a ] = KEY_CHANNELUP,
450 [ 0x1b ] = KEY_VOLUMEUP,
451 [ 0x1e ] = KEY_CHANNELDOWN,
452 [ 0x1f ] = KEY_VOLUMEDOWN,
453};
454
455EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere);
456
457/* ---------------------------------------------------------------------- */
458
459/* Cinergy 1400 DVB-T */
460IR_KEYTAB_TYPE ir_codes_cinergy_1400[IR_KEYTAB_SIZE] = {
461 [ 0x01 ] = KEY_POWER,
462 [ 0x02 ] = KEY_1,
463 [ 0x03 ] = KEY_2,
464 [ 0x04 ] = KEY_3,
465 [ 0x05 ] = KEY_4,
466 [ 0x06 ] = KEY_5,
467 [ 0x07 ] = KEY_6,
468 [ 0x08 ] = KEY_7,
469 [ 0x09 ] = KEY_8,
470 [ 0x0a ] = KEY_9,
471 [ 0x0c ] = KEY_0,
472
473 [ 0x0b ] = KEY_VIDEO,
474 [ 0x0d ] = KEY_REFRESH,
475 [ 0x0e ] = KEY_SELECT,
476 [ 0x0f ] = KEY_EPG,
477 [ 0x10 ] = KEY_UP,
478 [ 0x11 ] = KEY_LEFT,
479 [ 0x12 ] = KEY_OK,
480 [ 0x13 ] = KEY_RIGHT,
481 [ 0x14 ] = KEY_DOWN,
482 [ 0x15 ] = KEY_TEXT,
483 [ 0x16 ] = KEY_INFO,
484
485 [ 0x17 ] = KEY_RED,
486 [ 0x18 ] = KEY_GREEN,
487 [ 0x19 ] = KEY_YELLOW,
488 [ 0x1a ] = KEY_BLUE,
489
490 [ 0x1b ] = KEY_CHANNELUP,
491 [ 0x1c ] = KEY_VOLUMEUP,
492 [ 0x1d ] = KEY_MUTE,
493 [ 0x1e ] = KEY_VOLUMEDOWN,
494 [ 0x1f ] = KEY_CHANNELDOWN,
495
496 [ 0x40 ] = KEY_PAUSE,
497 [ 0x4c ] = KEY_PLAY,
498 [ 0x58 ] = KEY_RECORD,
499 [ 0x54 ] = KEY_PREVIOUS,
500 [ 0x48 ] = KEY_STOP,
501 [ 0x5c ] = KEY_NEXT,
502};
503
504EXPORT_SYMBOL_GPL(ir_codes_cinergy_1400);
505
506/* ---------------------------------------------------------------------- */
507
508/* AVERTV STUDIO 303 Remote */
509IR_KEYTAB_TYPE ir_codes_avertv_303[IR_KEYTAB_SIZE] = {
510 [ 0x2a ] = KEY_1,
511 [ 0x32 ] = KEY_2,
512 [ 0x3a ] = KEY_3,
513 [ 0x4a ] = KEY_4,
514 [ 0x52 ] = KEY_5,
515 [ 0x5a ] = KEY_6,
516 [ 0x6a ] = KEY_7,
517 [ 0x72 ] = KEY_8,
518 [ 0x7a ] = KEY_9,
519 [ 0x0e ] = KEY_0,
520
521 [ 0x02 ] = KEY_POWER,
522 [ 0x22 ] = KEY_VIDEO,
523 [ 0x42 ] = KEY_AUDIO,
524 [ 0x62 ] = KEY_ZOOM,
525 [ 0x0a ] = KEY_TV,
526 [ 0x12 ] = KEY_CD,
527 [ 0x1a ] = KEY_TEXT,
528
529 [ 0x16 ] = KEY_SUBTITLE,
530 [ 0x1e ] = KEY_REWIND,
531 [ 0x06 ] = KEY_PRINT,
532
533 [ 0x2e ] = KEY_SEARCH,
534 [ 0x36 ] = KEY_SLEEP,
535 [ 0x3e ] = KEY_SHUFFLE,
536 [ 0x26 ] = KEY_MUTE,
537
538 [ 0x4e ] = KEY_RECORD,
539 [ 0x56 ] = KEY_PAUSE,
540 [ 0x5e ] = KEY_STOP,
541 [ 0x46 ] = KEY_PLAY,
542
543 [ 0x6e ] = KEY_RED,
544 [ 0x0b ] = KEY_GREEN,
545 [ 0x66 ] = KEY_YELLOW,
546 [ 0x03 ] = KEY_BLUE,
547
548 [ 0x76 ] = KEY_LEFT,
549 [ 0x7e ] = KEY_RIGHT,
550 [ 0x13 ] = KEY_DOWN,
551 [ 0x1b ] = KEY_UP,
552};
553
554EXPORT_SYMBOL_GPL(ir_codes_avertv_303);
555
556/* ---------------------------------------------------------------------- */
557
558/* DigitalNow DNTV Live! DVB-T Pro Remote */
559IR_KEYTAB_TYPE ir_codes_dntv_live_dvbt_pro[IR_KEYTAB_SIZE] = {
560 [ 0x16 ] = KEY_POWER,
561 [ 0x5b ] = KEY_HOME,
562
563 [ 0x55 ] = KEY_TV, /* live tv */
564 [ 0x58 ] = KEY_TUNER, /* digital Radio */
565 [ 0x5a ] = KEY_RADIO, /* FM radio */
566 [ 0x59 ] = KEY_DVD, /* dvd menu */
567 [ 0x03 ] = KEY_1,
568 [ 0x01 ] = KEY_2,
569 [ 0x06 ] = KEY_3,
570 [ 0x09 ] = KEY_4,
571 [ 0x1d ] = KEY_5,
572 [ 0x1f ] = KEY_6,
573 [ 0x0d ] = KEY_7,
574 [ 0x19 ] = KEY_8,
575 [ 0x1b ] = KEY_9,
576 [ 0x0c ] = KEY_CANCEL,
577 [ 0x15 ] = KEY_0,
578 [ 0x4a ] = KEY_CLEAR,
579 [ 0x13 ] = KEY_BACK,
580 [ 0x00 ] = KEY_TAB,
581 [ 0x4b ] = KEY_UP,
582 [ 0x4e ] = KEY_LEFT,
583 [ 0x4f ] = KEY_OK,
584 [ 0x52 ] = KEY_RIGHT,
585 [ 0x51 ] = KEY_DOWN,
586 [ 0x1e ] = KEY_VOLUMEUP,
587 [ 0x0a ] = KEY_VOLUMEDOWN,
588 [ 0x02 ] = KEY_CHANNELDOWN,
589 [ 0x05 ] = KEY_CHANNELUP,
590 [ 0x11 ] = KEY_RECORD,
591 [ 0x14 ] = KEY_PLAY,
592 [ 0x4c ] = KEY_PAUSE,
593 [ 0x1a ] = KEY_STOP,
594 [ 0x40 ] = KEY_REWIND,
595 [ 0x12 ] = KEY_FASTFORWARD,
596 [ 0x41 ] = KEY_PREVIOUSSONG, /* replay |< */
597 [ 0x42 ] = KEY_NEXTSONG, /* skip >| */
598 [ 0x54 ] = KEY_CAMERA, /* capture */
599 [ 0x50 ] = KEY_LANGUAGE, /* sap */
600 [ 0x47 ] = KEY_TV2, /* pip */
601 [ 0x4d ] = KEY_SCREEN,
602 [ 0x43 ] = KEY_SUBTITLE,
603 [ 0x10 ] = KEY_MUTE,
604 [ 0x49 ] = KEY_AUDIO, /* l/r */
605 [ 0x07 ] = KEY_SLEEP,
606 [ 0x08 ] = KEY_VIDEO, /* a/v */
607 [ 0x0e ] = KEY_PREVIOUS, /* recall */
608 [ 0x45 ] = KEY_ZOOM, /* zoom + */
609 [ 0x46 ] = KEY_ANGLE, /* zoom - */
610 [ 0x56 ] = KEY_RED,
611 [ 0x57 ] = KEY_GREEN,
612 [ 0x5c ] = KEY_YELLOW,
613 [ 0x5d ] = KEY_BLUE,
614};
615
616EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvbt_pro);
617
618IR_KEYTAB_TYPE ir_codes_em_terratec[IR_KEYTAB_SIZE] = {
619 [ 0x01 ] = KEY_CHANNEL,
620 [ 0x02 ] = KEY_SELECT,
621 [ 0x03 ] = KEY_MUTE,
622 [ 0x04 ] = KEY_POWER,
623 [ 0x05 ] = KEY_1,
624 [ 0x06 ] = KEY_2,
625 [ 0x07 ] = KEY_3,
626 [ 0x08 ] = KEY_CHANNELUP,
627 [ 0x09 ] = KEY_4,
628 [ 0x0a ] = KEY_5,
629 [ 0x0b ] = KEY_6,
630 [ 0x0c ] = KEY_CHANNELDOWN,
631 [ 0x0d ] = KEY_7,
632 [ 0x0e ] = KEY_8,
633 [ 0x0f ] = KEY_9,
634 [ 0x10 ] = KEY_VOLUMEUP,
635 [ 0x11 ] = KEY_0,
636 [ 0x12 ] = KEY_MENU,
637 [ 0x13 ] = KEY_PRINT,
638 [ 0x14 ] = KEY_VOLUMEDOWN,
639 [ 0x16 ] = KEY_PAUSE,
640 [ 0x18 ] = KEY_RECORD,
641 [ 0x19 ] = KEY_REWIND,
642 [ 0x1a ] = KEY_PLAY,
643 [ 0x1b ] = KEY_FORWARD,
644 [ 0x1c ] = KEY_BACKSPACE,
645 [ 0x1e ] = KEY_STOP,
646 [ 0x40 ] = KEY_ZOOM,
647};
648
649EXPORT_SYMBOL_GPL(ir_codes_em_terratec);
650
Sylvain Pascheb93eedb2006-03-25 23:14:42 -0300651IR_KEYTAB_TYPE ir_codes_pinnacle_grey[IR_KEYTAB_SIZE] = {
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200652 [ 0x3a ] = KEY_0,
653 [ 0x31 ] = KEY_1,
654 [ 0x32 ] = KEY_2,
655 [ 0x33 ] = KEY_3,
656 [ 0x34 ] = KEY_4,
657 [ 0x35 ] = KEY_5,
658 [ 0x36 ] = KEY_6,
659 [ 0x37 ] = KEY_7,
660 [ 0x38 ] = KEY_8,
661 [ 0x39 ] = KEY_9,
662
663 [ 0x2f ] = KEY_POWER,
664
665 [ 0x2e ] = KEY_P,
666 [ 0x1f ] = KEY_L,
667 [ 0x2b ] = KEY_I,
668
Emil Georgieva6210b72007-03-04 07:03:17 -0300669 [ 0x2d ] = KEY_SCREEN,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200670 [ 0x1e ] = KEY_ZOOM,
671 [ 0x1b ] = KEY_VOLUMEUP,
672 [ 0x0f ] = KEY_VOLUMEDOWN,
673 [ 0x17 ] = KEY_CHANNELUP,
674 [ 0x1c ] = KEY_CHANNELDOWN,
675 [ 0x25 ] = KEY_INFO,
676
677 [ 0x3c ] = KEY_MUTE,
678
679 [ 0x3d ] = KEY_LEFT,
680 [ 0x3b ] = KEY_RIGHT,
681
682 [ 0x3f ] = KEY_UP,
683 [ 0x3e ] = KEY_DOWN,
Emil Georgieva6210b72007-03-04 07:03:17 -0300684 [ 0x1a ] = KEY_ENTER,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200685
686 [ 0x1d ] = KEY_MENU,
Emil Georgieva6210b72007-03-04 07:03:17 -0300687 [ 0x19 ] = KEY_AGAIN,
688 [ 0x16 ] = KEY_PREVIOUSSONG,
689 [ 0x13 ] = KEY_NEXTSONG,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200690 [ 0x15 ] = KEY_PAUSE,
691 [ 0x0e ] = KEY_REWIND,
692 [ 0x0d ] = KEY_PLAY,
693 [ 0x0b ] = KEY_STOP,
694 [ 0x07 ] = KEY_FORWARD,
695 [ 0x27 ] = KEY_RECORD,
696 [ 0x26 ] = KEY_TUNER,
697 [ 0x29 ] = KEY_TEXT,
698 [ 0x2a ] = KEY_MEDIA,
699 [ 0x18 ] = KEY_EPG,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200700};
701
Sylvain Pascheb93eedb2006-03-25 23:14:42 -0300702EXPORT_SYMBOL_GPL(ir_codes_pinnacle_grey);
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200703
704IR_KEYTAB_TYPE ir_codes_flyvideo[IR_KEYTAB_SIZE] = {
705 [ 0x0f ] = KEY_0,
706 [ 0x03 ] = KEY_1,
707 [ 0x04 ] = KEY_2,
708 [ 0x05 ] = KEY_3,
709 [ 0x07 ] = KEY_4,
710 [ 0x08 ] = KEY_5,
711 [ 0x09 ] = KEY_6,
712 [ 0x0b ] = KEY_7,
713 [ 0x0c ] = KEY_8,
714 [ 0x0d ] = KEY_9,
715
716 [ 0x0e ] = KEY_MODE, // Air/Cable
717 [ 0x11 ] = KEY_VIDEO, // Video
718 [ 0x15 ] = KEY_AUDIO, // Audio
719 [ 0x00 ] = KEY_POWER, // Power
720 [ 0x18 ] = KEY_TUNER, // AV Source
721 [ 0x02 ] = KEY_ZOOM, // Fullscreen
722 [ 0x1a ] = KEY_LANGUAGE, // Stereo
723 [ 0x1b ] = KEY_MUTE, // Mute
724 [ 0x14 ] = KEY_VOLUMEUP, // Volume +
725 [ 0x17 ] = KEY_VOLUMEDOWN, // Volume -
726 [ 0x12 ] = KEY_CHANNELUP, // Channel +
727 [ 0x13 ] = KEY_CHANNELDOWN, // Channel -
728 [ 0x06 ] = KEY_AGAIN, // Recall
729 [ 0x10 ] = KEY_ENTER, // Enter
730};
731
732EXPORT_SYMBOL_GPL(ir_codes_flyvideo);
733
734IR_KEYTAB_TYPE ir_codes_flydvb[IR_KEYTAB_SIZE] = {
735 [ 0x01 ] = KEY_ZOOM, // Full Screen
736 [ 0x00 ] = KEY_POWER, // Power
737
738 [ 0x03 ] = KEY_1,
739 [ 0x04 ] = KEY_2,
740 [ 0x05 ] = KEY_3,
741 [ 0x07 ] = KEY_4,
742 [ 0x08 ] = KEY_5,
743 [ 0x09 ] = KEY_6,
744 [ 0x0b ] = KEY_7,
745 [ 0x0c ] = KEY_8,
746 [ 0x0d ] = KEY_9,
747 [ 0x06 ] = KEY_AGAIN, // Recall
748 [ 0x0f ] = KEY_0,
749 [ 0x10 ] = KEY_MUTE, // Mute
750 [ 0x02 ] = KEY_RADIO, // TV/Radio
751 [ 0x1b ] = KEY_LANGUAGE, // SAP (Second Audio Program)
752
753 [ 0x14 ] = KEY_VOLUMEUP, // VOL+
754 [ 0x17 ] = KEY_VOLUMEDOWN, // VOL-
755 [ 0x12 ] = KEY_CHANNELUP, // CH+
756 [ 0x13 ] = KEY_CHANNELDOWN, // CH-
757 [ 0x1d ] = KEY_ENTER, // Enter
758
759 [ 0x1a ] = KEY_MODE, // PIP
760 [ 0x18 ] = KEY_TUNER, // Source
761
762 [ 0x1e ] = KEY_RECORD, // Record/Pause
763 [ 0x15 ] = KEY_ANGLE, // Swap (no label on key)
764 [ 0x1c ] = KEY_PAUSE, // Timeshift/Pause
765 [ 0x19 ] = KEY_BACK, // Rewind <<
766 [ 0x0a ] = KEY_PLAYPAUSE, // Play/Pause
767 [ 0x1f ] = KEY_FORWARD, // Forward >>
768 [ 0x16 ] = KEY_PREVIOUS, // Back |<<
769 [ 0x11 ] = KEY_STOP, // Stop
770 [ 0x0e ] = KEY_NEXT, // End >>|
771};
772
773EXPORT_SYMBOL_GPL(ir_codes_flydvb);
774
775IR_KEYTAB_TYPE ir_codes_cinergy[IR_KEYTAB_SIZE] = {
776 [ 0x00 ] = KEY_0,
777 [ 0x01 ] = KEY_1,
778 [ 0x02 ] = KEY_2,
779 [ 0x03 ] = KEY_3,
780 [ 0x04 ] = KEY_4,
781 [ 0x05 ] = KEY_5,
782 [ 0x06 ] = KEY_6,
783 [ 0x07 ] = KEY_7,
784 [ 0x08 ] = KEY_8,
785 [ 0x09 ] = KEY_9,
786
787 [ 0x0a ] = KEY_POWER,
788 [ 0x0b ] = KEY_PROG1, // app
789 [ 0x0c ] = KEY_ZOOM, // zoom/fullscreen
790 [ 0x0d ] = KEY_CHANNELUP, // channel
791 [ 0x0e ] = KEY_CHANNELDOWN, // channel-
792 [ 0x0f ] = KEY_VOLUMEUP,
793 [ 0x10 ] = KEY_VOLUMEDOWN,
794 [ 0x11 ] = KEY_TUNER, // AV
795 [ 0x12 ] = KEY_NUMLOCK, // -/--
796 [ 0x13 ] = KEY_AUDIO, // audio
797 [ 0x14 ] = KEY_MUTE,
798 [ 0x15 ] = KEY_UP,
799 [ 0x16 ] = KEY_DOWN,
800 [ 0x17 ] = KEY_LEFT,
801 [ 0x18 ] = KEY_RIGHT,
802 [ 0x19 ] = BTN_LEFT,
803 [ 0x1a ] = BTN_RIGHT,
804 [ 0x1b ] = KEY_WWW, // text
805 [ 0x1c ] = KEY_REWIND,
806 [ 0x1d ] = KEY_FORWARD,
807 [ 0x1e ] = KEY_RECORD,
808 [ 0x1f ] = KEY_PLAY,
809 [ 0x20 ] = KEY_PREVIOUSSONG,
810 [ 0x21 ] = KEY_NEXTSONG,
811 [ 0x22 ] = KEY_PAUSE,
812 [ 0x23 ] = KEY_STOP,
813};
814
815EXPORT_SYMBOL_GPL(ir_codes_cinergy);
816
817/* Alfons Geser <a.geser@cox.net>
818 * updates from Job D. R. Borges <jobdrb@ig.com.br> */
819IR_KEYTAB_TYPE ir_codes_eztv[IR_KEYTAB_SIZE] = {
820 [ 0x12 ] = KEY_POWER,
821 [ 0x01 ] = KEY_TV, // DVR
822 [ 0x15 ] = KEY_DVD, // DVD
823 [ 0x17 ] = KEY_AUDIO, // music
824 // DVR mode / DVD mode / music mode
825
826 [ 0x1b ] = KEY_MUTE, // mute
827 [ 0x02 ] = KEY_LANGUAGE, // MTS/SAP / audio / autoseek
828 [ 0x1e ] = KEY_SUBTITLE, // closed captioning / subtitle / seek
829 [ 0x16 ] = KEY_ZOOM, // full screen
830 [ 0x1c ] = KEY_VIDEO, // video source / eject / delall
831 [ 0x1d ] = KEY_RESTART, // playback / angle / del
832 [ 0x2f ] = KEY_SEARCH, // scan / menu / playlist
833 [ 0x30 ] = KEY_CHANNEL, // CH surfing / bookmark / memo
834
835 [ 0x31 ] = KEY_HELP, // help
836 [ 0x32 ] = KEY_MODE, // num/memo
837 [ 0x33 ] = KEY_ESC, // cancel
838
839 [ 0x0c ] = KEY_UP, // up
840 [ 0x10 ] = KEY_DOWN, // down
841 [ 0x08 ] = KEY_LEFT, // left
842 [ 0x04 ] = KEY_RIGHT, // right
843 [ 0x03 ] = KEY_SELECT, // select
844
845 [ 0x1f ] = KEY_REWIND, // rewind
846 [ 0x20 ] = KEY_PLAYPAUSE, // play/pause
847 [ 0x29 ] = KEY_FORWARD, // forward
848 [ 0x14 ] = KEY_AGAIN, // repeat
849 [ 0x2b ] = KEY_RECORD, // recording
850 [ 0x2c ] = KEY_STOP, // stop
851 [ 0x2d ] = KEY_PLAY, // play
852 [ 0x2e ] = KEY_SHUFFLE, // snapshot / shuffle
853
854 [ 0x00 ] = KEY_0,
855 [ 0x05 ] = KEY_1,
856 [ 0x06 ] = KEY_2,
857 [ 0x07 ] = KEY_3,
858 [ 0x09 ] = KEY_4,
859 [ 0x0a ] = KEY_5,
860 [ 0x0b ] = KEY_6,
861 [ 0x0d ] = KEY_7,
862 [ 0x0e ] = KEY_8,
863 [ 0x0f ] = KEY_9,
864
865 [ 0x2a ] = KEY_VOLUMEUP,
866 [ 0x11 ] = KEY_VOLUMEDOWN,
867 [ 0x18 ] = KEY_CHANNELUP, // CH.tracking up
868 [ 0x19 ] = KEY_CHANNELDOWN, // CH.tracking down
869
870 [ 0x13 ] = KEY_ENTER, // enter
871 [ 0x21 ] = KEY_DOT, // . (decimal dot)
872};
873
874EXPORT_SYMBOL_GPL(ir_codes_eztv);
875
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200876/* Alex Hermann <gaaf@gmx.net> */
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200877IR_KEYTAB_TYPE ir_codes_avermedia[IR_KEYTAB_SIZE] = {
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200878 [ 0x28 ] = KEY_1,
879 [ 0x18 ] = KEY_2,
880 [ 0x38 ] = KEY_3,
881 [ 0x24 ] = KEY_4,
882 [ 0x14 ] = KEY_5,
883 [ 0x34 ] = KEY_6,
884 [ 0x2c ] = KEY_7,
885 [ 0x1c ] = KEY_8,
886 [ 0x3c ] = KEY_9,
887 [ 0x22 ] = KEY_0,
888
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200889 [ 0x20 ] = KEY_TV, /* TV/FM */
890 [ 0x10 ] = KEY_CD, /* CD */
891 [ 0x30 ] = KEY_TEXT, /* TELETEXT */
892 [ 0x00 ] = KEY_POWER, /* POWER */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200893
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200894 [ 0x08 ] = KEY_VIDEO, /* VIDEO */
895 [ 0x04 ] = KEY_AUDIO, /* AUDIO */
896 [ 0x0c ] = KEY_ZOOM, /* FULL SCREEN */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200897
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200898 [ 0x12 ] = KEY_SUBTITLE, /* DISPLAY */
899 [ 0x32 ] = KEY_REWIND, /* LOOP */
900 [ 0x02 ] = KEY_PRINT, /* PREVIEW */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200901
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200902 [ 0x2a ] = KEY_SEARCH, /* AUTOSCAN */
903 [ 0x1a ] = KEY_SLEEP, /* FREEZE */
904 [ 0x3a ] = KEY_SHUFFLE, /* SNAPSHOT */
905 [ 0x0a ] = KEY_MUTE, /* MUTE */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200906
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200907 [ 0x26 ] = KEY_RECORD, /* RECORD */
908 [ 0x16 ] = KEY_PAUSE, /* PAUSE */
909 [ 0x36 ] = KEY_STOP, /* STOP */
910 [ 0x06 ] = KEY_PLAY, /* PLAY */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200911
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200912 [ 0x2e ] = KEY_RED, /* RED */
913 [ 0x21 ] = KEY_GREEN, /* GREEN */
914 [ 0x0e ] = KEY_YELLOW, /* YELLOW */
915 [ 0x01 ] = KEY_BLUE, /* BLUE */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200916
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200917 [ 0x1e ] = KEY_VOLUMEDOWN, /* VOLUME- */
918 [ 0x3e ] = KEY_VOLUMEUP, /* VOLUME+ */
919 [ 0x11 ] = KEY_CHANNELDOWN, /* CHANNEL/PAGE- */
920 [ 0x31 ] = KEY_CHANNELUP /* CHANNEL/PAGE+ */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200921};
922
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200923EXPORT_SYMBOL_GPL(ir_codes_avermedia);
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200924
925IR_KEYTAB_TYPE ir_codes_videomate_tv_pvr[IR_KEYTAB_SIZE] = {
926 [ 0x14 ] = KEY_MUTE,
927 [ 0x24 ] = KEY_ZOOM,
928
929 [ 0x01 ] = KEY_DVD,
930 [ 0x23 ] = KEY_RADIO,
931 [ 0x00 ] = KEY_TV,
932
933 [ 0x0a ] = KEY_REWIND,
934 [ 0x08 ] = KEY_PLAYPAUSE,
935 [ 0x0f ] = KEY_FORWARD,
936
937 [ 0x02 ] = KEY_PREVIOUS,
938 [ 0x07 ] = KEY_STOP,
939 [ 0x06 ] = KEY_NEXT,
940
941 [ 0x0c ] = KEY_UP,
942 [ 0x0e ] = KEY_DOWN,
943 [ 0x0b ] = KEY_LEFT,
944 [ 0x0d ] = KEY_RIGHT,
945 [ 0x11 ] = KEY_OK,
946
947 [ 0x03 ] = KEY_MENU,
948 [ 0x09 ] = KEY_SETUP,
949 [ 0x05 ] = KEY_VIDEO,
950 [ 0x22 ] = KEY_CHANNEL,
951
952 [ 0x12 ] = KEY_VOLUMEUP,
953 [ 0x15 ] = KEY_VOLUMEDOWN,
954 [ 0x10 ] = KEY_CHANNELUP,
955 [ 0x13 ] = KEY_CHANNELDOWN,
956
957 [ 0x04 ] = KEY_RECORD,
958
959 [ 0x16 ] = KEY_1,
960 [ 0x17 ] = KEY_2,
961 [ 0x18 ] = KEY_3,
962 [ 0x19 ] = KEY_4,
963 [ 0x1a ] = KEY_5,
964 [ 0x1b ] = KEY_6,
965 [ 0x1c ] = KEY_7,
966 [ 0x1d ] = KEY_8,
967 [ 0x1e ] = KEY_9,
968 [ 0x1f ] = KEY_0,
969
970 [ 0x20 ] = KEY_LANGUAGE,
971 [ 0x21 ] = KEY_SLEEP,
972};
973
974EXPORT_SYMBOL_GPL(ir_codes_videomate_tv_pvr);
975
976/* Michael Tokarev <mjt@tls.msk.ru>
977 http://www.corpit.ru/mjt/beholdTV/remote_control.jpg
978 keytable is used by MANLI MTV00[ 0x0c ] and BeholdTV 40[13] at
979 least, and probably other cards too.
980 The "ascii-art picture" below (in comments, first row
981 is the keycode in hex, and subsequent row(s) shows
982 the button labels (several variants when appropriate)
983 helps to descide which keycodes to assign to the buttons.
984 */
985IR_KEYTAB_TYPE ir_codes_manli[IR_KEYTAB_SIZE] = {
986
987 /* 0x1c 0x12 *
988 * FUNCTION POWER *
989 * FM (|) *
990 * */
991 [ 0x1c ] = KEY_RADIO, /*XXX*/
992 [ 0x12 ] = KEY_POWER,
993
994 /* 0x01 0x02 0x03 *
995 * 1 2 3 *
996 * *
997 * 0x04 0x05 0x06 *
998 * 4 5 6 *
999 * *
1000 * 0x07 0x08 0x09 *
1001 * 7 8 9 *
1002 * */
1003 [ 0x01 ] = KEY_1,
1004 [ 0x02 ] = KEY_2,
1005 [ 0x03 ] = KEY_3,
1006 [ 0x04 ] = KEY_4,
1007 [ 0x05 ] = KEY_5,
1008 [ 0x06 ] = KEY_6,
1009 [ 0x07 ] = KEY_7,
1010 [ 0x08 ] = KEY_8,
1011 [ 0x09 ] = KEY_9,
1012
1013 /* 0x0a 0x00 0x17 *
1014 * RECALL 0 +100 *
1015 * PLUS *
1016 * */
1017 [ 0x0a ] = KEY_AGAIN, /*XXX KEY_REWIND? */
1018 [ 0x00 ] = KEY_0,
1019 [ 0x17 ] = KEY_DIGITS, /*XXX*/
1020
1021 /* 0x14 0x10 *
1022 * MENU INFO *
1023 * OSD */
1024 [ 0x14 ] = KEY_MENU,
1025 [ 0x10 ] = KEY_INFO,
1026
1027 /* 0x0b *
1028 * Up *
1029 * *
1030 * 0x18 0x16 0x0c *
1031 * Left Ok Right *
1032 * *
1033 * 0x015 *
1034 * Down *
1035 * */
1036 [ 0x0b ] = KEY_UP, /*XXX KEY_SCROLLUP? */
1037 [ 0x18 ] = KEY_LEFT, /*XXX KEY_BACK? */
1038 [ 0x16 ] = KEY_OK, /*XXX KEY_SELECT? KEY_ENTER? */
1039 [ 0x0c ] = KEY_RIGHT, /*XXX KEY_FORWARD? */
1040 [ 0x15 ] = KEY_DOWN, /*XXX KEY_SCROLLDOWN? */
1041
1042 /* 0x11 0x0d *
1043 * TV/AV MODE *
1044 * SOURCE STEREO *
1045 * */
1046 [ 0x11 ] = KEY_TV, /*XXX*/
1047 [ 0x0d ] = KEY_MODE, /*XXX there's no KEY_STEREO */
1048
1049 /* 0x0f 0x1b 0x1a *
1050 * AUDIO Vol+ Chan+ *
1051 * TIMESHIFT??? *
1052 * *
1053 * 0x0e 0x1f 0x1e *
1054 * SLEEP Vol- Chan- *
1055 * */
1056 [ 0x0f ] = KEY_AUDIO,
1057 [ 0x1b ] = KEY_VOLUMEUP,
1058 [ 0x1a ] = KEY_CHANNELUP,
1059 [ 0x0e ] = KEY_SLEEP, /*XXX maybe KEY_PAUSE */
1060 [ 0x1f ] = KEY_VOLUMEDOWN,
1061 [ 0x1e ] = KEY_CHANNELDOWN,
1062
1063 /* 0x13 0x19 *
1064 * MUTE SNAPSHOT*
1065 * */
1066 [ 0x13 ] = KEY_MUTE,
1067 [ 0x19 ] = KEY_RECORD, /*XXX*/
1068
1069 // 0x1d unused ?
1070};
1071
1072EXPORT_SYMBOL_GPL(ir_codes_manli);
1073
1074/* Mike Baikov <mike@baikov.com> */
1075IR_KEYTAB_TYPE ir_codes_gotview7135[IR_KEYTAB_SIZE] = {
1076
Pedro0938e312007-10-17 17:58:40 -03001077 [ 0x11 ] = KEY_POWER,
1078 [ 0x35 ] = KEY_TV,
1079 [ 0x1b ] = KEY_0,
1080 [ 0x29 ] = KEY_1,
1081 [ 0x19 ] = KEY_2,
1082 [ 0x39 ] = KEY_3,
1083 [ 0x1f ] = KEY_4,
1084 [ 0x2c ] = KEY_5,
1085 [ 0x21 ] = KEY_6,
1086 [ 0x24 ] = KEY_7,
1087 [ 0x18 ] = KEY_8,
1088 [ 0x2b ] = KEY_9,
1089 [ 0x3b ] = KEY_AGAIN, /* LOOP */
1090 [ 0x06 ] = KEY_AUDIO,
1091 [ 0x31 ] = KEY_PRINT, /* PREVIEW */
1092 [ 0x3e ] = KEY_VIDEO,
1093 [ 0x10 ] = KEY_CHANNELUP,
1094 [ 0x20 ] = KEY_CHANNELDOWN,
1095 [ 0x0c ] = KEY_VOLUMEDOWN,
1096 [ 0x28 ] = KEY_VOLUMEUP,
1097 [ 0x08 ] = KEY_MUTE,
1098 [ 0x26 ] = KEY_SEARCH, /*SCAN*/
1099 [ 0x3f ] = KEY_SHUFFLE, /* SNAPSHOT */
1100 [ 0x12 ] = KEY_RECORD,
1101 [ 0x32 ] = KEY_STOP,
1102 [ 0x3c ] = KEY_PLAY,
1103 [ 0x1d ] = KEY_REWIND,
1104 [ 0x2d ] = KEY_PAUSE,
1105 [ 0x0d ] = KEY_FORWARD,
1106 [ 0x05 ] = KEY_ZOOM, /*FULL*/
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001107
Pedro0938e312007-10-17 17:58:40 -03001108 [ 0x2a ] = KEY_F21, /* LIVE TIMESHIFT */
1109 [ 0x0e ] = KEY_F22, /* MIN TIMESHIFT */
1110 [ 0x1e ] = KEY_F23, /* TIMESHIFT */
1111 [ 0x38 ] = KEY_F24, /* NORMAL TIMESHIFT */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001112};
1113
1114EXPORT_SYMBOL_GPL(ir_codes_gotview7135);
1115
1116IR_KEYTAB_TYPE ir_codes_purpletv[IR_KEYTAB_SIZE] = {
1117 [ 0x03 ] = KEY_POWER,
1118 [ 0x6f ] = KEY_MUTE,
1119 [ 0x10 ] = KEY_BACKSPACE, /* Recall */
1120
1121 [ 0x11 ] = KEY_0,
1122 [ 0x04 ] = KEY_1,
1123 [ 0x05 ] = KEY_2,
1124 [ 0x06 ] = KEY_3,
1125 [ 0x08 ] = KEY_4,
1126 [ 0x09 ] = KEY_5,
1127 [ 0x0a ] = KEY_6,
1128 [ 0x0c ] = KEY_7,
1129 [ 0x0d ] = KEY_8,
1130 [ 0x0e ] = KEY_9,
1131 [ 0x12 ] = KEY_DOT, /* 100+ */
1132
1133 [ 0x07 ] = KEY_VOLUMEUP,
1134 [ 0x0b ] = KEY_VOLUMEDOWN,
1135 [ 0x1a ] = KEY_KPPLUS,
1136 [ 0x18 ] = KEY_KPMINUS,
1137 [ 0x15 ] = KEY_UP,
1138 [ 0x1d ] = KEY_DOWN,
1139 [ 0x0f ] = KEY_CHANNELUP,
1140 [ 0x13 ] = KEY_CHANNELDOWN,
1141 [ 0x48 ] = KEY_ZOOM,
1142
1143 [ 0x1b ] = KEY_VIDEO, /* Video source */
1144 [ 0x49 ] = KEY_LANGUAGE, /* MTS Select */
1145 [ 0x19 ] = KEY_SEARCH, /* Auto Scan */
1146
1147 [ 0x4b ] = KEY_RECORD,
1148 [ 0x46 ] = KEY_PLAY,
1149 [ 0x45 ] = KEY_PAUSE, /* Pause */
1150 [ 0x44 ] = KEY_STOP,
1151 [ 0x40 ] = KEY_FORWARD, /* Forward ? */
1152 [ 0x42 ] = KEY_REWIND, /* Backward ? */
1153
1154};
1155
1156EXPORT_SYMBOL_GPL(ir_codes_purpletv);
1157
1158/* Mapping for the 28 key remote control as seen at
1159 http://www.sednacomputer.com/photo/cardbus-tv.jpg
Mauro Lacye80faad2008-04-22 14:45:58 -03001160 Pavel Mihaylov <bin@bash.info>
1161 Also for the remote bundled with Kozumi KTV-01C card */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001162IR_KEYTAB_TYPE ir_codes_pctv_sedna[IR_KEYTAB_SIZE] = {
1163 [ 0x00 ] = KEY_0,
1164 [ 0x01 ] = KEY_1,
1165 [ 0x02 ] = KEY_2,
1166 [ 0x03 ] = KEY_3,
1167 [ 0x04 ] = KEY_4,
1168 [ 0x05 ] = KEY_5,
1169 [ 0x06 ] = KEY_6,
1170 [ 0x07 ] = KEY_7,
1171 [ 0x08 ] = KEY_8,
1172 [ 0x09 ] = KEY_9,
1173
1174 [ 0x0a ] = KEY_AGAIN, /* Recall */
1175 [ 0x0b ] = KEY_CHANNELUP,
1176 [ 0x0c ] = KEY_VOLUMEUP,
1177 [ 0x0d ] = KEY_MODE, /* Stereo */
1178 [ 0x0e ] = KEY_STOP,
1179 [ 0x0f ] = KEY_PREVIOUSSONG,
1180 [ 0x10 ] = KEY_ZOOM,
1181 [ 0x11 ] = KEY_TUNER, /* Source */
1182 [ 0x12 ] = KEY_POWER,
1183 [ 0x13 ] = KEY_MUTE,
1184 [ 0x15 ] = KEY_CHANNELDOWN,
1185 [ 0x18 ] = KEY_VOLUMEDOWN,
1186 [ 0x19 ] = KEY_SHUFFLE, /* Snapshot */
1187 [ 0x1a ] = KEY_NEXTSONG,
1188 [ 0x1b ] = KEY_TEXT, /* Time Shift */
1189 [ 0x1c ] = KEY_RADIO, /* FM Radio */
1190 [ 0x1d ] = KEY_RECORD,
1191 [ 0x1e ] = KEY_PAUSE,
Mauro Lacye80faad2008-04-22 14:45:58 -03001192 /* additional codes for Kozumi's remote */
1193 [0x14] = KEY_INFO, /* OSD */
1194 [0x16] = KEY_OK, /* OK */
1195 [0x17] = KEY_DIGITS, /* Plus */
1196 [0x1f] = KEY_PLAY, /* Play */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001197};
1198
1199EXPORT_SYMBOL_GPL(ir_codes_pctv_sedna);
1200
1201/* Mark Phalan <phalanm@o2.ie> */
1202IR_KEYTAB_TYPE ir_codes_pv951[IR_KEYTAB_SIZE] = {
1203 [ 0x00 ] = KEY_0,
1204 [ 0x01 ] = KEY_1,
1205 [ 0x02 ] = KEY_2,
1206 [ 0x03 ] = KEY_3,
1207 [ 0x04 ] = KEY_4,
1208 [ 0x05 ] = KEY_5,
1209 [ 0x06 ] = KEY_6,
1210 [ 0x07 ] = KEY_7,
1211 [ 0x08 ] = KEY_8,
1212 [ 0x09 ] = KEY_9,
1213
1214 [ 0x12 ] = KEY_POWER,
1215 [ 0x10 ] = KEY_MUTE,
1216 [ 0x1f ] = KEY_VOLUMEDOWN,
1217 [ 0x1b ] = KEY_VOLUMEUP,
1218 [ 0x1a ] = KEY_CHANNELUP,
1219 [ 0x1e ] = KEY_CHANNELDOWN,
1220 [ 0x0e ] = KEY_PAGEUP,
1221 [ 0x1d ] = KEY_PAGEDOWN,
1222 [ 0x13 ] = KEY_SOUND,
1223
1224 [ 0x18 ] = KEY_KPPLUSMINUS, /* CH +/- */
1225 [ 0x16 ] = KEY_SUBTITLE, /* CC */
1226 [ 0x0d ] = KEY_TEXT, /* TTX */
1227 [ 0x0b ] = KEY_TV, /* AIR/CBL */
1228 [ 0x11 ] = KEY_PC, /* PC/TV */
1229 [ 0x17 ] = KEY_OK, /* CH RTN */
1230 [ 0x19 ] = KEY_MODE, /* FUNC */
1231 [ 0x0c ] = KEY_SEARCH, /* AUTOSCAN */
1232
1233 /* Not sure what to do with these ones! */
1234 [ 0x0f ] = KEY_SELECT, /* SOURCE */
1235 [ 0x0a ] = KEY_KPPLUS, /* +100 */
1236 [ 0x14 ] = KEY_EQUAL, /* SYNC */
1237 [ 0x1c ] = KEY_MEDIA, /* PC/TV */
1238};
1239
1240EXPORT_SYMBOL_GPL(ir_codes_pv951);
1241
1242/* generic RC5 keytable */
1243/* see http://users.pandora.be/nenya/electronics/rc5/codes00.htm */
1244/* used by old (black) Hauppauge remotes */
1245IR_KEYTAB_TYPE ir_codes_rc5_tv[IR_KEYTAB_SIZE] = {
1246 /* Keys 0 to 9 */
1247 [ 0x00 ] = KEY_0,
1248 [ 0x01 ] = KEY_1,
1249 [ 0x02 ] = KEY_2,
1250 [ 0x03 ] = KEY_3,
1251 [ 0x04 ] = KEY_4,
1252 [ 0x05 ] = KEY_5,
1253 [ 0x06 ] = KEY_6,
1254 [ 0x07 ] = KEY_7,
1255 [ 0x08 ] = KEY_8,
1256 [ 0x09 ] = KEY_9,
1257
1258 [ 0x0b ] = KEY_CHANNEL, /* channel / program (japan: 11) */
1259 [ 0x0c ] = KEY_POWER, /* standby */
1260 [ 0x0d ] = KEY_MUTE, /* mute / demute */
1261 [ 0x0f ] = KEY_TV, /* display */
1262 [ 0x10 ] = KEY_VOLUMEUP,
1263 [ 0x11 ] = KEY_VOLUMEDOWN,
1264 [ 0x12 ] = KEY_BRIGHTNESSUP,
1265 [ 0x13 ] = KEY_BRIGHTNESSDOWN,
1266 [ 0x1e ] = KEY_SEARCH, /* search + */
1267 [ 0x20 ] = KEY_CHANNELUP, /* channel / program + */
1268 [ 0x21 ] = KEY_CHANNELDOWN, /* channel / program - */
1269 [ 0x22 ] = KEY_CHANNEL, /* alt / channel */
1270 [ 0x23 ] = KEY_LANGUAGE, /* 1st / 2nd language */
1271 [ 0x26 ] = KEY_SLEEP, /* sleeptimer */
1272 [ 0x2e ] = KEY_MENU, /* 2nd controls (USA: menu) */
1273 [ 0x30 ] = KEY_PAUSE,
1274 [ 0x32 ] = KEY_REWIND,
1275 [ 0x33 ] = KEY_GOTO,
1276 [ 0x35 ] = KEY_PLAY,
1277 [ 0x36 ] = KEY_STOP,
1278 [ 0x37 ] = KEY_RECORD, /* recording */
1279 [ 0x3c ] = KEY_TEXT, /* teletext submode (Japan: 12) */
1280 [ 0x3d ] = KEY_SUSPEND, /* system standby */
1281
1282};
1283
1284EXPORT_SYMBOL_GPL(ir_codes_rc5_tv);
1285
1286/* Table for Leadtek Winfast Remote Controls - used by both bttv and cx88 */
1287IR_KEYTAB_TYPE ir_codes_winfast[IR_KEYTAB_SIZE] = {
1288 /* Keys 0 to 9 */
1289 [ 0x12 ] = KEY_0,
1290 [ 0x05 ] = KEY_1,
1291 [ 0x06 ] = KEY_2,
1292 [ 0x07 ] = KEY_3,
1293 [ 0x09 ] = KEY_4,
1294 [ 0x0a ] = KEY_5,
1295 [ 0x0b ] = KEY_6,
1296 [ 0x0d ] = KEY_7,
1297 [ 0x0e ] = KEY_8,
1298 [ 0x0f ] = KEY_9,
1299
1300 [ 0x00 ] = KEY_POWER,
Malcolm Valentine2de873e2006-05-29 13:56:24 -03001301 [ 0x1b ] = KEY_AUDIO, /* Audio Source */
1302 [ 0x02 ] = KEY_TUNER, /* TV/FM, not on Y0400052 */
1303 [ 0x1e ] = KEY_VIDEO, /* Video Source */
1304 [ 0x16 ] = KEY_INFO, /* Display information */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001305 [ 0x04 ] = KEY_VOLUMEUP,
1306 [ 0x08 ] = KEY_VOLUMEDOWN,
1307 [ 0x0c ] = KEY_CHANNELUP,
1308 [ 0x10 ] = KEY_CHANNELDOWN,
1309 [ 0x03 ] = KEY_ZOOM, /* fullscreen */
Malcolm Valentine2de873e2006-05-29 13:56:24 -03001310 [ 0x1f ] = KEY_TEXT, /* closed caption/teletext */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001311 [ 0x20 ] = KEY_SLEEP,
Malcolm Valentine2de873e2006-05-29 13:56:24 -03001312 [ 0x29 ] = KEY_CLEAR, /* boss key */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001313 [ 0x14 ] = KEY_MUTE,
1314 [ 0x2b ] = KEY_RED,
1315 [ 0x2c ] = KEY_GREEN,
1316 [ 0x2d ] = KEY_YELLOW,
1317 [ 0x2e ] = KEY_BLUE,
Malcolm Valentine2de873e2006-05-29 13:56:24 -03001318 [ 0x18 ] = KEY_KPPLUS, /* fine tune + , not on Y040052 */
1319 [ 0x19 ] = KEY_KPMINUS, /* fine tune - , not on Y040052 */
1320 [ 0x2a ] = KEY_MEDIA, /* PIP (Picture in picture */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001321 [ 0x21 ] = KEY_DOT,
1322 [ 0x13 ] = KEY_ENTER,
Malcolm Valentine2de873e2006-05-29 13:56:24 -03001323 [ 0x11 ] = KEY_LAST, /* Recall (last channel */
1324 [ 0x22 ] = KEY_PREVIOUS,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001325 [ 0x23 ] = KEY_PLAYPAUSE,
1326 [ 0x24 ] = KEY_NEXT,
Malcolm Valentine2de873e2006-05-29 13:56:24 -03001327 [ 0x25 ] = KEY_ARCHIVE, /* Time Shifting */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001328 [ 0x26 ] = KEY_STOP,
Malcolm Valentine2de873e2006-05-29 13:56:24 -03001329 [ 0x27 ] = KEY_RECORD,
1330 [ 0x28 ] = KEY_SAVE, /* Screenshot */
1331 [ 0x2f ] = KEY_MENU,
1332 [ 0x30 ] = KEY_CANCEL,
1333 [ 0x31 ] = KEY_CHANNEL, /* Channel Surf */
1334 [ 0x32 ] = KEY_SUBTITLE,
1335 [ 0x33 ] = KEY_LANGUAGE,
1336 [ 0x34 ] = KEY_REWIND,
1337 [ 0x35 ] = KEY_FASTFORWARD,
1338 [ 0x36 ] = KEY_TV,
1339 [ 0x37 ] = KEY_RADIO, /* FM */
Michel Lespinasse102df6a2007-11-26 18:57:10 -03001340 [ 0x38 ] = KEY_DVD,
1341
1342 [ 0x3e ] = KEY_F21, /* MCE +VOL, on Y04G0033 */
1343 [ 0x3a ] = KEY_F22, /* MCE -VOL, on Y04G0033 */
1344 [ 0x3b ] = KEY_F23, /* MCE +CH, on Y04G0033 */
1345 [ 0x3f ] = KEY_F24 /* MCE -CH, on Y04G0033 */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001346};
1347
1348EXPORT_SYMBOL_GPL(ir_codes_winfast);
1349
Sylvain Pascheb93eedb2006-03-25 23:14:42 -03001350IR_KEYTAB_TYPE ir_codes_pinnacle_color[IR_KEYTAB_SIZE] = {
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001351 [ 0x59 ] = KEY_MUTE,
1352 [ 0x4a ] = KEY_POWER,
1353
1354 [ 0x18 ] = KEY_TEXT,
1355 [ 0x26 ] = KEY_TV,
1356 [ 0x3d ] = KEY_PRINT,
1357
1358 [ 0x48 ] = KEY_RED,
1359 [ 0x04 ] = KEY_GREEN,
1360 [ 0x11 ] = KEY_YELLOW,
1361 [ 0x00 ] = KEY_BLUE,
1362
1363 [ 0x2d ] = KEY_VOLUMEUP,
1364 [ 0x1e ] = KEY_VOLUMEDOWN,
1365
1366 [ 0x49 ] = KEY_MENU,
1367
1368 [ 0x16 ] = KEY_CHANNELUP,
1369 [ 0x17 ] = KEY_CHANNELDOWN,
1370
1371 [ 0x20 ] = KEY_UP,
1372 [ 0x21 ] = KEY_DOWN,
1373 [ 0x22 ] = KEY_LEFT,
1374 [ 0x23 ] = KEY_RIGHT,
1375 [ 0x0d ] = KEY_SELECT,
1376
1377
1378
1379 [ 0x08 ] = KEY_BACK,
1380 [ 0x07 ] = KEY_REFRESH,
1381
1382 [ 0x2f ] = KEY_ZOOM,
1383 [ 0x29 ] = KEY_RECORD,
1384
1385 [ 0x4b ] = KEY_PAUSE,
1386 [ 0x4d ] = KEY_REWIND,
1387 [ 0x2e ] = KEY_PLAY,
1388 [ 0x4e ] = KEY_FORWARD,
1389 [ 0x53 ] = KEY_PREVIOUS,
1390 [ 0x4c ] = KEY_STOP,
1391 [ 0x54 ] = KEY_NEXT,
1392
1393 [ 0x69 ] = KEY_0,
1394 [ 0x6a ] = KEY_1,
1395 [ 0x6b ] = KEY_2,
1396 [ 0x6c ] = KEY_3,
1397 [ 0x6d ] = KEY_4,
1398 [ 0x6e ] = KEY_5,
1399 [ 0x6f ] = KEY_6,
1400 [ 0x70 ] = KEY_7,
1401 [ 0x71 ] = KEY_8,
1402 [ 0x72 ] = KEY_9,
1403
1404 [ 0x74 ] = KEY_CHANNEL,
1405 [ 0x0a ] = KEY_BACKSPACE,
1406};
1407
Sylvain Pascheb93eedb2006-03-25 23:14:42 -03001408EXPORT_SYMBOL_GPL(ir_codes_pinnacle_color);
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001409
1410/* Hauppauge: the newer, gray remotes (seems there are multiple
1411 * slightly different versions), shipped with cx88+ivtv cards.
1412 * almost rc5 coding, but some non-standard keys */
1413IR_KEYTAB_TYPE ir_codes_hauppauge_new[IR_KEYTAB_SIZE] = {
1414 /* Keys 0 to 9 */
1415 [ 0x00 ] = KEY_0,
1416 [ 0x01 ] = KEY_1,
1417 [ 0x02 ] = KEY_2,
1418 [ 0x03 ] = KEY_3,
1419 [ 0x04 ] = KEY_4,
1420 [ 0x05 ] = KEY_5,
1421 [ 0x06 ] = KEY_6,
1422 [ 0x07 ] = KEY_7,
1423 [ 0x08 ] = KEY_8,
1424 [ 0x09 ] = KEY_9,
1425
1426 [ 0x0a ] = KEY_TEXT, /* keypad asterisk as well */
1427 [ 0x0b ] = KEY_RED, /* red button */
1428 [ 0x0c ] = KEY_RADIO,
1429 [ 0x0d ] = KEY_MENU,
1430 [ 0x0e ] = KEY_SUBTITLE, /* also the # key */
1431 [ 0x0f ] = KEY_MUTE,
1432 [ 0x10 ] = KEY_VOLUMEUP,
1433 [ 0x11 ] = KEY_VOLUMEDOWN,
1434 [ 0x12 ] = KEY_PREVIOUS, /* previous channel */
1435 [ 0x14 ] = KEY_UP,
1436 [ 0x15 ] = KEY_DOWN,
1437 [ 0x16 ] = KEY_LEFT,
1438 [ 0x17 ] = KEY_RIGHT,
1439 [ 0x18 ] = KEY_VIDEO, /* Videos */
1440 [ 0x19 ] = KEY_AUDIO, /* Music */
1441 /* 0x1a: Pictures - presume this means
1442 "Multimedia Home Platform" -
1443 no "PICTURES" key in input.h
1444 */
1445 [ 0x1a ] = KEY_MHP,
1446
1447 [ 0x1b ] = KEY_EPG, /* Guide */
1448 [ 0x1c ] = KEY_TV,
1449 [ 0x1e ] = KEY_NEXTSONG, /* skip >| */
1450 [ 0x1f ] = KEY_EXIT, /* back/exit */
1451 [ 0x20 ] = KEY_CHANNELUP, /* channel / program + */
1452 [ 0x21 ] = KEY_CHANNELDOWN, /* channel / program - */
1453 [ 0x22 ] = KEY_CHANNEL, /* source (old black remote) */
1454 [ 0x24 ] = KEY_PREVIOUSSONG, /* replay |< */
1455 [ 0x25 ] = KEY_ENTER, /* OK */
1456 [ 0x26 ] = KEY_SLEEP, /* minimize (old black remote) */
1457 [ 0x29 ] = KEY_BLUE, /* blue key */
1458 [ 0x2e ] = KEY_GREEN, /* green button */
1459 [ 0x30 ] = KEY_PAUSE, /* pause */
1460 [ 0x32 ] = KEY_REWIND, /* backward << */
1461 [ 0x34 ] = KEY_FASTFORWARD, /* forward >> */
1462 [ 0x35 ] = KEY_PLAY,
1463 [ 0x36 ] = KEY_STOP,
1464 [ 0x37 ] = KEY_RECORD, /* recording */
1465 [ 0x38 ] = KEY_YELLOW, /* yellow key */
1466 [ 0x3b ] = KEY_SELECT, /* top right button */
1467 [ 0x3c ] = KEY_ZOOM, /* full */
1468 [ 0x3d ] = KEY_POWER, /* system power (green button) */
1469};
1470
1471EXPORT_SYMBOL_GPL(ir_codes_hauppauge_new);
Ricardo Cerqueira680543c2006-05-22 07:44:02 -03001472
1473IR_KEYTAB_TYPE ir_codes_npgtech[IR_KEYTAB_SIZE] = {
1474 [ 0x1d ] = KEY_SWITCHVIDEOMODE, /* switch inputs */
1475 [ 0x2a ] = KEY_FRONT,
1476
1477 [ 0x3e ] = KEY_1,
1478 [ 0x02 ] = KEY_2,
1479 [ 0x06 ] = KEY_3,
1480 [ 0x0a ] = KEY_4,
1481 [ 0x0e ] = KEY_5,
1482 [ 0x12 ] = KEY_6,
1483 [ 0x16 ] = KEY_7,
1484 [ 0x1a ] = KEY_8,
1485 [ 0x1e ] = KEY_9,
1486 [ 0x3a ] = KEY_0,
1487 [ 0x22 ] = KEY_NUMLOCK, /* -/-- */
1488 [ 0x20 ] = KEY_REFRESH,
1489
1490 [ 0x03 ] = KEY_BRIGHTNESSDOWN,
1491 [ 0x28 ] = KEY_AUDIO,
1492 [ 0x3c ] = KEY_UP,
1493 [ 0x3f ] = KEY_LEFT,
1494 [ 0x2e ] = KEY_MUTE,
1495 [ 0x3b ] = KEY_RIGHT,
1496 [ 0x00 ] = KEY_DOWN,
1497 [ 0x07 ] = KEY_BRIGHTNESSUP,
1498 [ 0x2c ] = KEY_TEXT,
1499
1500 [ 0x37 ] = KEY_RECORD,
1501 [ 0x17 ] = KEY_PLAY,
1502 [ 0x13 ] = KEY_PAUSE,
1503 [ 0x26 ] = KEY_STOP,
1504 [ 0x18 ] = KEY_FASTFORWARD,
1505 [ 0x14 ] = KEY_REWIND,
1506 [ 0x33 ] = KEY_ZOOM,
1507 [ 0x32 ] = KEY_KEYBOARD,
1508 [ 0x30 ] = KEY_GOTO, /* Pointing arrow */
1509 [ 0x36 ] = KEY_MACRO, /* Maximize/Minimize (yellow) */
1510 [ 0x0b ] = KEY_RADIO,
1511 [ 0x10 ] = KEY_POWER,
1512
1513};
1514
1515EXPORT_SYMBOL_GPL(ir_codes_npgtech);
Peter Naullsd1009bd2006-08-08 09:10:05 -03001516
1517/* Norwood Micro (non-Pro) TV Tuner
1518 By Peter Naulls <peter@chocky.org>
1519 Key comments are the functions given in the manual */
1520IR_KEYTAB_TYPE ir_codes_norwood[IR_KEYTAB_SIZE] = {
1521 /* Keys 0 to 9 */
1522 [ 0x20 ] = KEY_0,
1523 [ 0x21 ] = KEY_1,
1524 [ 0x22 ] = KEY_2,
1525 [ 0x23 ] = KEY_3,
1526 [ 0x24 ] = KEY_4,
1527 [ 0x25 ] = KEY_5,
1528 [ 0x26 ] = KEY_6,
1529 [ 0x27 ] = KEY_7,
1530 [ 0x28 ] = KEY_8,
1531 [ 0x29 ] = KEY_9,
1532
1533 [ 0x78 ] = KEY_TUNER, /* Video Source */
1534 [ 0x2c ] = KEY_EXIT, /* Open/Close software */
1535 [ 0x2a ] = KEY_SELECT, /* 2 Digit Select */
1536 [ 0x69 ] = KEY_AGAIN, /* Recall */
1537
1538 [ 0x32 ] = KEY_BRIGHTNESSUP, /* Brightness increase */
1539 [ 0x33 ] = KEY_BRIGHTNESSDOWN, /* Brightness decrease */
1540 [ 0x6b ] = KEY_KPPLUS, /* (not named >>>>>) */
1541 [ 0x6c ] = KEY_KPMINUS, /* (not named <<<<<) */
1542
1543 [ 0x2d ] = KEY_MUTE, /* Mute */
1544 [ 0x30 ] = KEY_VOLUMEUP, /* Volume up */
1545 [ 0x31 ] = KEY_VOLUMEDOWN, /* Volume down */
1546 [ 0x60 ] = KEY_CHANNELUP, /* Channel up */
1547 [ 0x61 ] = KEY_CHANNELDOWN, /* Channel down */
1548
1549 [ 0x3f ] = KEY_RECORD, /* Record */
1550 [ 0x37 ] = KEY_PLAY, /* Play */
1551 [ 0x36 ] = KEY_PAUSE, /* Pause */
1552 [ 0x2b ] = KEY_STOP, /* Stop */
1553 [ 0x67 ] = KEY_FASTFORWARD, /* Foward */
1554 [ 0x66 ] = KEY_REWIND, /* Rewind */
1555 [ 0x3e ] = KEY_SEARCH, /* Auto Scan */
1556 [ 0x2e ] = KEY_CAMERA, /* Capture Video */
1557 [ 0x6d ] = KEY_MENU, /* Show/Hide Control */
1558 [ 0x2f ] = KEY_ZOOM, /* Full Screen */
1559 [ 0x34 ] = KEY_RADIO, /* FM */
1560 [ 0x65 ] = KEY_POWER, /* Computer power */
1561};
1562
1563EXPORT_SYMBOL_GPL(ir_codes_norwood);
David Hardeman2520fff2006-12-02 21:16:05 -02001564
1565/* From reading the following remotes:
1566 * Zenith Universal 7 / TV Mode 807 / VCR Mode 837
1567 * Hauppauge (from NOVA-CI-s box product)
1568 * This is a "middle of the road" approach, differences are noted
1569 */
1570IR_KEYTAB_TYPE ir_codes_budget_ci_old[IR_KEYTAB_SIZE] = {
1571 [ 0x00 ] = KEY_0,
1572 [ 0x01 ] = KEY_1,
1573 [ 0x02 ] = KEY_2,
1574 [ 0x03 ] = KEY_3,
1575 [ 0x04 ] = KEY_4,
1576 [ 0x05 ] = KEY_5,
1577 [ 0x06 ] = KEY_6,
1578 [ 0x07 ] = KEY_7,
1579 [ 0x08 ] = KEY_8,
1580 [ 0x09 ] = KEY_9,
1581 [ 0x0a ] = KEY_ENTER,
1582 [ 0x0b ] = KEY_RED,
1583 [ 0x0c ] = KEY_POWER, /* RADIO on Hauppauge */
1584 [ 0x0d ] = KEY_MUTE,
1585 [ 0x0f ] = KEY_A, /* TV on Hauppauge */
1586 [ 0x10 ] = KEY_VOLUMEUP,
1587 [ 0x11 ] = KEY_VOLUMEDOWN,
1588 [ 0x14 ] = KEY_B,
1589 [ 0x1c ] = KEY_UP,
1590 [ 0x1d ] = KEY_DOWN,
1591 [ 0x1e ] = KEY_OPTION, /* RESERVED on Hauppauge */
1592 [ 0x1f ] = KEY_BREAK,
1593 [ 0x20 ] = KEY_CHANNELUP,
1594 [ 0x21 ] = KEY_CHANNELDOWN,
1595 [ 0x22 ] = KEY_PREVIOUS, /* Prev. Ch on Zenith, SOURCE on Hauppauge */
1596 [ 0x24 ] = KEY_RESTART,
1597 [ 0x25 ] = KEY_OK,
1598 [ 0x26 ] = KEY_CYCLEWINDOWS, /* MINIMIZE on Hauppauge */
1599 [ 0x28 ] = KEY_ENTER, /* VCR mode on Zenith */
1600 [ 0x29 ] = KEY_PAUSE,
1601 [ 0x2b ] = KEY_RIGHT,
1602 [ 0x2c ] = KEY_LEFT,
1603 [ 0x2e ] = KEY_MENU, /* FULL SCREEN on Hauppauge */
1604 [ 0x30 ] = KEY_SLOW,
1605 [ 0x31 ] = KEY_PREVIOUS, /* VCR mode on Zenith */
1606 [ 0x32 ] = KEY_REWIND,
1607 [ 0x34 ] = KEY_FASTFORWARD,
1608 [ 0x35 ] = KEY_PLAY,
1609 [ 0x36 ] = KEY_STOP,
1610 [ 0x37 ] = KEY_RECORD,
1611 [ 0x38 ] = KEY_TUNER, /* TV/VCR on Zenith */
1612 [ 0x3a ] = KEY_C,
1613 [ 0x3c ] = KEY_EXIT,
1614 [ 0x3d ] = KEY_POWER2,
1615 [ 0x3e ] = KEY_TUNER,
1616};
1617
1618EXPORT_SYMBOL_GPL(ir_codes_budget_ci_old);
Hermann Pitton91607232006-12-07 21:45:28 -03001619
1620/*
1621 * Marc Fargas <telenieko@telenieko.com>
1622 * this is the remote control that comes with the asus p7131
1623 * which has a label saying is "Model PC-39"
1624 */
1625IR_KEYTAB_TYPE ir_codes_asus_pc39[IR_KEYTAB_SIZE] = {
1626 /* Keys 0 to 9 */
1627 [ 0x15 ] = KEY_0,
1628 [ 0x29 ] = KEY_1,
1629 [ 0x2d ] = KEY_2,
1630 [ 0x2b ] = KEY_3,
1631 [ 0x09 ] = KEY_4,
1632 [ 0x0d ] = KEY_5,
1633 [ 0x0b ] = KEY_6,
1634 [ 0x31 ] = KEY_7,
1635 [ 0x35 ] = KEY_8,
1636 [ 0x33 ] = KEY_9,
1637
1638 [ 0x3e ] = KEY_RADIO, /* radio */
1639 [ 0x03 ] = KEY_MENU, /* dvd/menu */
1640 [ 0x2a ] = KEY_VOLUMEUP,
1641 [ 0x19 ] = KEY_VOLUMEDOWN,
1642 [ 0x37 ] = KEY_UP,
1643 [ 0x3b ] = KEY_DOWN,
1644 [ 0x27 ] = KEY_LEFT,
1645 [ 0x2f ] = KEY_RIGHT,
1646 [ 0x25 ] = KEY_VIDEO, /* video */
1647 [ 0x39 ] = KEY_AUDIO, /* music */
1648
1649 [ 0x21 ] = KEY_TV, /* tv */
1650 [ 0x1d ] = KEY_EXIT, /* back */
1651 [ 0x0a ] = KEY_CHANNELUP, /* channel / program + */
1652 [ 0x1b ] = KEY_CHANNELDOWN, /* channel / program - */
1653 [ 0x1a ] = KEY_ENTER, /* enter */
1654
1655 [ 0x06 ] = KEY_PAUSE, /* play/pause */
1656 [ 0x1e ] = KEY_PREVIOUS, /* rew */
1657 [ 0x26 ] = KEY_NEXT, /* forward */
1658 [ 0x0e ] = KEY_REWIND, /* backward << */
1659 [ 0x3a ] = KEY_FASTFORWARD, /* forward >> */
1660 [ 0x36 ] = KEY_STOP,
1661 [ 0x2e ] = KEY_RECORD, /* recording */
1662 [ 0x16 ] = KEY_POWER, /* the button that reads "close" */
1663
1664 [ 0x11 ] = KEY_ZOOM, /* full screen */
1665 [ 0x13 ] = KEY_MACRO, /* recall */
1666 [ 0x23 ] = KEY_HOME, /* home */
1667 [ 0x05 ] = KEY_PVR, /* picture */
1668 [ 0x3d ] = KEY_MUTE, /* mute */
1669 [ 0x01 ] = KEY_DVD, /* dvd */
1670};
1671
1672EXPORT_SYMBOL_GPL(ir_codes_asus_pc39);
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001673
1674
1675/* Encore ENLTV-FM - black plastic, white front cover with white glowing buttons
1676 Juan Pablo Sormani <sorman@gmail.com> */
1677IR_KEYTAB_TYPE ir_codes_encore_enltv[IR_KEYTAB_SIZE] = {
1678
1679 /* Power button does nothing, neither in Windows app,
1680 although it sends data (used for BIOS wakeup?) */
1681 [ 0x0d ] = KEY_MUTE,
1682
1683 [ 0x1e ] = KEY_TV,
1684 [ 0x00 ] = KEY_VIDEO,
1685 [ 0x01 ] = KEY_AUDIO, /* music */
1686 [ 0x02 ] = KEY_MHP, /* picture */
1687
1688 [ 0x1f ] = KEY_1,
1689 [ 0x03 ] = KEY_2,
1690 [ 0x04 ] = KEY_3,
1691 [ 0x05 ] = KEY_4,
1692 [ 0x1c ] = KEY_5,
1693 [ 0x06 ] = KEY_6,
1694 [ 0x07 ] = KEY_7,
1695 [ 0x08 ] = KEY_8,
1696 [ 0x1d ] = KEY_9,
1697 [ 0x0a ] = KEY_0,
1698
1699 [ 0x09 ] = KEY_LIST, /* -/-- */
1700 [ 0x0b ] = KEY_LAST, /* recall */
1701
1702 [ 0x14 ] = KEY_HOME, /* win start menu */
1703 [ 0x15 ] = KEY_EXIT, /* exit */
1704 [ 0x16 ] = KEY_UP,
1705 [ 0x12 ] = KEY_DOWN,
1706 [ 0x0c ] = KEY_RIGHT,
1707 [ 0x17 ] = KEY_LEFT,
1708
1709 [ 0x18 ] = KEY_ENTER, /* OK */
1710
1711 [ 0x0e ] = KEY_ESC,
1712 [ 0x13 ] = KEY_D, /* desktop */
1713 [ 0x11 ] = KEY_TAB,
1714 [ 0x19 ] = KEY_SWITCHVIDEOMODE, /* switch */
1715
1716 [ 0x1a ] = KEY_MENU,
1717 [ 0x1b ] = KEY_ZOOM, /* fullscreen */
1718 [ 0x44 ] = KEY_TIME, /* time shift */
1719 [ 0x40 ] = KEY_MODE, /* source */
1720
1721 [ 0x5a ] = KEY_RECORD,
1722 [ 0x42 ] = KEY_PLAY, /* play/pause */
1723 [ 0x45 ] = KEY_STOP,
1724 [ 0x43 ] = KEY_CAMERA, /* camera icon */
1725
1726 [ 0x48 ] = KEY_REWIND,
1727 [ 0x4a ] = KEY_FASTFORWARD,
1728 [ 0x49 ] = KEY_PREVIOUS,
1729 [ 0x4b ] = KEY_NEXT,
1730
1731 [ 0x4c ] = KEY_FAVORITES, /* tv wall */
1732 [ 0x4d ] = KEY_SOUND, /* DVD sound */
1733 [ 0x4e ] = KEY_LANGUAGE, /* DVD lang */
1734 [ 0x4f ] = KEY_TEXT, /* DVD text */
1735
1736 [ 0x50 ] = KEY_SLEEP, /* shutdown */
1737 [ 0x51 ] = KEY_MODE, /* stereo > main */
1738 [ 0x52 ] = KEY_SELECT, /* stereo > sap */
1739 [ 0x53 ] = KEY_PROG1, /* teletext */
1740
1741
1742 [ 0x59 ] = KEY_RED, /* AP1 */
1743 [ 0x41 ] = KEY_GREEN, /* AP2 */
1744 [ 0x47 ] = KEY_YELLOW, /* AP3 */
1745 [ 0x57 ] = KEY_BLUE, /* AP4 */
1746
1747
1748};
1749
1750EXPORT_SYMBOL_GPL(ir_codes_encore_enltv);
Ville-Pekka Vainioae1942c2007-01-12 14:06:21 -03001751
Ville-Pekka Vainio28aedb82007-04-14 15:38:23 -03001752/* for the Technotrend 1500 bundled remotes (grey and black): */
Ville-Pekka Vainioae1942c2007-01-12 14:06:21 -03001753IR_KEYTAB_TYPE ir_codes_tt_1500[IR_KEYTAB_SIZE] = {
1754 [ 0x01 ] = KEY_POWER,
1755 [ 0x02 ] = KEY_SHUFFLE, /* ? double-arrow key */
1756 [ 0x03 ] = KEY_1,
1757 [ 0x04 ] = KEY_2,
1758 [ 0x05 ] = KEY_3,
1759 [ 0x06 ] = KEY_4,
1760 [ 0x07 ] = KEY_5,
1761 [ 0x08 ] = KEY_6,
1762 [ 0x09 ] = KEY_7,
1763 [ 0x0a ] = KEY_8,
1764 [ 0x0b ] = KEY_9,
1765 [ 0x0c ] = KEY_0,
1766 [ 0x0d ] = KEY_UP,
1767 [ 0x0e ] = KEY_LEFT,
1768 [ 0x0f ] = KEY_OK,
1769 [ 0x10 ] = KEY_RIGHT,
1770 [ 0x11 ] = KEY_DOWN,
1771 [ 0x12 ] = KEY_INFO,
1772 [ 0x13 ] = KEY_EXIT,
1773 [ 0x14 ] = KEY_RED,
1774 [ 0x15 ] = KEY_GREEN,
1775 [ 0x16 ] = KEY_YELLOW,
1776 [ 0x17 ] = KEY_BLUE,
1777 [ 0x18 ] = KEY_MUTE,
1778 [ 0x19 ] = KEY_TEXT,
1779 [ 0x1a ] = KEY_MODE, /* ? TV/Radio */
1780 [ 0x21 ] = KEY_OPTION,
1781 [ 0x22 ] = KEY_EPG,
1782 [ 0x23 ] = KEY_CHANNELUP,
1783 [ 0x24 ] = KEY_CHANNELDOWN,
1784 [ 0x25 ] = KEY_VOLUMEUP,
1785 [ 0x26 ] = KEY_VOLUMEDOWN,
1786 [ 0x27 ] = KEY_SETUP,
Ville-Pekka Vainio28aedb82007-04-14 15:38:23 -03001787 [ 0x3a ] = KEY_RECORD, /* these keys are only in the black remote */
1788 [ 0x3b ] = KEY_PLAY,
1789 [ 0x3c ] = KEY_STOP,
1790 [ 0x3d ] = KEY_REWIND,
1791 [ 0x3e ] = KEY_PAUSE,
1792 [ 0x3f ] = KEY_FORWARD,
Ville-Pekka Vainioae1942c2007-01-12 14:06:21 -03001793};
1794
1795EXPORT_SYMBOL_GPL(ir_codes_tt_1500);
Chaogui Zhangd54d6982007-08-24 01:02:32 -03001796
Michael Krufky3c443582007-08-24 01:07:12 -03001797/* DViCO FUSION HDTV MCE remote */
1798IR_KEYTAB_TYPE ir_codes_fusionhdtv_mce[IR_KEYTAB_SIZE] = {
Chaogui Zhangd54d6982007-08-24 01:02:32 -03001799
1800 [ 0x0b ] = KEY_1,
1801 [ 0x17 ] = KEY_2,
1802 [ 0x1b ] = KEY_3,
1803 [ 0x07 ] = KEY_4,
1804 [ 0x50 ] = KEY_5,
1805 [ 0x54 ] = KEY_6,
1806 [ 0x48 ] = KEY_7,
1807 [ 0x4c ] = KEY_8,
1808 [ 0x58 ] = KEY_9,
1809 [ 0x03 ] = KEY_0,
1810
1811 [ 0x5e ] = KEY_OK,
1812 [ 0x51 ] = KEY_UP,
1813 [ 0x53 ] = KEY_DOWN,
1814 [ 0x5b ] = KEY_LEFT,
1815 [ 0x5f ] = KEY_RIGHT,
1816
1817 [ 0x02 ] = KEY_TV, /* Labeled DTV on remote */
1818 [ 0x0e ] = KEY_MP3,
1819 [ 0x1a ] = KEY_DVD,
Michael Krufky3c443582007-08-24 01:07:12 -03001820 [ 0x1e ] = KEY_FAVORITES, /* Labeled CPF on remote */
Chaogui Zhangd54d6982007-08-24 01:02:32 -03001821 [ 0x16 ] = KEY_SETUP,
1822 [ 0x46 ] = KEY_POWER2, /* TV On/Off button on remote */
1823 [ 0x0a ] = KEY_EPG, /* Labeled Guide on remote */
1824
1825 [ 0x49 ] = KEY_BACK,
1826 [ 0x59 ] = KEY_INFO, /* Labeled MORE on remote */
1827 [ 0x4d ] = KEY_MENU, /* Labeled DVDMENU on remote */
1828 [ 0x55 ] = KEY_CYCLEWINDOWS, /* Labeled ALT-TAB on remote */
Michael Krufky3c443582007-08-24 01:07:12 -03001829
1830 [ 0x0f ] = KEY_PREVIOUSSONG, /* Labeled |<< REPLAY on remote */
1831 [ 0x12 ] = KEY_NEXTSONG, /* Labeled >>| SKIP on remote */
1832 [ 0x42 ] = KEY_ENTER, /* Labeled START with a green
Chaogui Zhangd54d6982007-08-24 01:02:32 -03001833 * MS windows logo on remote */
1834
1835 [ 0x15 ] = KEY_VOLUMEUP,
1836 [ 0x05 ] = KEY_VOLUMEDOWN,
1837 [ 0x11 ] = KEY_CHANNELUP,
1838 [ 0x09 ] = KEY_CHANNELDOWN,
1839
Michael Krufky3c443582007-08-24 01:07:12 -03001840 [ 0x52 ] = KEY_CAMERA,
1841 [ 0x5a ] = KEY_TUNER,
1842 [ 0x19 ] = KEY_OPEN,
Chaogui Zhangd54d6982007-08-24 01:02:32 -03001843
1844 [ 0x13 ] = KEY_MODE, /* 4:3 16:9 select */
1845 [ 0x1f ] = KEY_ZOOM,
1846
1847 [ 0x43 ] = KEY_REWIND,
1848 [ 0x47 ] = KEY_PLAYPAUSE,
Michael Krufky3c443582007-08-24 01:07:12 -03001849 [ 0x4f ] = KEY_FASTFORWARD,
Chaogui Zhangd54d6982007-08-24 01:02:32 -03001850 [ 0x57 ] = KEY_MUTE,
1851 [ 0x0d ] = KEY_STOP,
1852 [ 0x01 ] = KEY_RECORD,
1853 [ 0x4e ] = KEY_POWER,
1854};
1855
Michael Krufky3c443582007-08-24 01:07:12 -03001856EXPORT_SYMBOL_GPL(ir_codes_fusionhdtv_mce);
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03001857
Steven Toth91211062008-01-22 01:00:33 -03001858/* Pinnacle PCTV HD 800i mini remote */
1859IR_KEYTAB_TYPE ir_codes_pinnacle_pctv_hd[IR_KEYTAB_SIZE] = {
1860
1861 [0x0f] = KEY_1,
1862 [0x15] = KEY_2,
1863 [0x10] = KEY_3,
1864 [0x18] = KEY_4,
1865 [0x1b] = KEY_5,
1866 [0x1e] = KEY_6,
1867 [0x11] = KEY_7,
1868 [0x21] = KEY_8,
1869 [0x12] = KEY_9,
1870 [0x27] = KEY_0,
1871
1872 [0x24] = KEY_ZOOM,
1873 [0x2a] = KEY_SUBTITLE,
1874
1875 [0x00] = KEY_MUTE,
1876 [0x01] = KEY_ENTER, /* Pinnacle Logo */
1877 [0x39] = KEY_POWER,
1878
1879 [0x03] = KEY_VOLUMEUP,
1880 [0x09] = KEY_VOLUMEDOWN,
1881 [0x06] = KEY_CHANNELUP,
1882 [0x0c] = KEY_CHANNELDOWN,
1883
1884 [0x2d] = KEY_REWIND,
1885 [0x30] = KEY_PLAYPAUSE,
1886 [0x33] = KEY_FASTFORWARD,
1887 [0x3c] = KEY_STOP,
1888 [0x36] = KEY_RECORD,
1889 [0x3f] = KEY_EPG, /* Labeled "?" */
1890};
1891EXPORT_SYMBOL_GPL(ir_codes_pinnacle_pctv_hd);
1892
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03001893/*
1894 * Igor Kuznetsov <igk72@ya.ru>
1895 * Andrey J. Melnikov <temnota@kmv.ru>
1896 *
1897 * Keytable is used by BeholdTV 60x series, M6 series at
1898 * least, and probably other cards too.
1899 * The "ascii-art picture" below (in comments, first row
1900 * is the keycode in hex, and subsequent row(s) shows
1901 * the button labels (several variants when appropriate)
1902 * helps to descide which keycodes to assign to the buttons.
1903 */
1904IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE] = {
1905
1906 /* 0x1c 0x12 *
1907 * TV/FM POWER *
1908 * */
1909 [ 0x1c ] = KEY_TUNER, /*XXX KEY_TV KEY_RADIO */
1910 [ 0x12 ] = KEY_POWER,
1911
1912 /* 0x01 0x02 0x03 *
1913 * 1 2 3 *
1914 * *
1915 * 0x04 0x05 0x06 *
1916 * 4 5 6 *
1917 * *
1918 * 0x07 0x08 0x09 *
1919 * 7 8 9 *
1920 * */
1921 [ 0x01 ] = KEY_1,
1922 [ 0x02 ] = KEY_2,
1923 [ 0x03 ] = KEY_3,
1924 [ 0x04 ] = KEY_4,
1925 [ 0x05 ] = KEY_5,
1926 [ 0x06 ] = KEY_6,
1927 [ 0x07 ] = KEY_7,
1928 [ 0x08 ] = KEY_8,
1929 [ 0x09 ] = KEY_9,
1930
1931 /* 0x0a 0x00 0x17 *
1932 * RECALL 0 MODE *
1933 * */
1934 [ 0x0a ] = KEY_AGAIN,
1935 [ 0x00 ] = KEY_0,
1936 [ 0x17 ] = KEY_MODE,
1937
1938 /* 0x14 0x10 *
1939 * ASPECT FULLSCREEN *
1940 * */
1941 [ 0x14 ] = KEY_SCREEN,
1942 [ 0x10 ] = KEY_ZOOM,
1943
1944 /* 0x0b *
1945 * Up *
1946 * *
1947 * 0x18 0x16 0x0c *
1948 * Left Ok Right *
1949 * *
1950 * 0x015 *
1951 * Down *
1952 * */
1953 [ 0x0b ] = KEY_CHANNELUP, /*XXX KEY_UP */
1954 [ 0x18 ] = KEY_VOLUMEDOWN, /*XXX KEY_LEFT */
1955 [ 0x16 ] = KEY_OK, /*XXX KEY_ENTER */
1956 [ 0x0c ] = KEY_VOLUMEUP, /*XXX KEY_RIGHT */
1957 [ 0x15 ] = KEY_CHANNELDOWN, /*XXX KEY_DOWN */
1958
1959 /* 0x11 0x0d *
1960 * MUTE INFO *
1961 * */
1962 [ 0x11 ] = KEY_MUTE,
1963 [ 0x0d ] = KEY_INFO,
1964
1965 /* 0x0f 0x1b 0x1a *
1966 * RECORD PLAY/PAUSE STOP *
1967 * *
1968 * 0x0e 0x1f 0x1e *
1969 *TELETEXT AUDIO SOURCE *
1970 * RED YELLOW *
1971 * */
1972 [ 0x0f ] = KEY_RECORD,
1973 [ 0x1b ] = KEY_PLAYPAUSE,
1974 [ 0x1a ] = KEY_STOP,
1975 [ 0x0e ] = KEY_TEXT,
1976 [ 0x1f ] = KEY_RED, /*XXX KEY_AUDIO */
1977 [ 0x1e ] = KEY_YELLOW, /*XXX KEY_SOURCE */
1978
1979 /* 0x1d 0x13 0x19 *
1980 * SLEEP PREVIEW DVB *
1981 * GREEN BLUE *
1982 * */
1983 [ 0x1d ] = KEY_SLEEP,
1984 [ 0x13 ] = KEY_GREEN,
1985 [ 0x19 ] = KEY_BLUE, /*XXX KEY_SAT */
1986
1987 /* 0x58 0x5c *
1988 * FREEZE SNAPSHOT *
1989 * */
1990 [ 0x58 ] = KEY_SLOW,
1991 [ 0x5c ] = KEY_SAVE,
1992
1993};
1994
1995EXPORT_SYMBOL_GPL(ir_codes_behold);
Adrian Pardinif0ba3562008-02-11 12:40:53 -03001996
1997/*
1998 * Remote control for the Genius TVGO A11MCE
1999 * Adrian Pardini <pardo.bsso@gmail.com>
2000 */
2001IR_KEYTAB_TYPE ir_codes_genius_tvgo_a11mce[IR_KEYTAB_SIZE] = {
2002 /* Keys 0 to 9 */
2003 [0x48] = KEY_0,
2004 [0x09] = KEY_1,
2005 [0x1d] = KEY_2,
2006 [0x1f] = KEY_3,
2007 [0x19] = KEY_4,
2008 [0x1b] = KEY_5,
2009 [0x11] = KEY_6,
2010 [0x17] = KEY_7,
2011 [0x12] = KEY_8,
2012 [0x16] = KEY_9,
2013
2014 [0x54] = KEY_RECORD, /* recording */
2015 [0x06] = KEY_MUTE, /* mute */
2016 [0x10] = KEY_POWER,
2017 [0x40] = KEY_LAST, /* recall */
2018 [0x4c] = KEY_CHANNELUP, /* channel / program + */
2019 [0x00] = KEY_CHANNELDOWN, /* channel / program - */
2020 [0x0d] = KEY_VOLUMEUP,
2021 [0x15] = KEY_VOLUMEDOWN,
2022 [0x4d] = KEY_OK, /* also labeled as Pause */
2023 [0x1c] = KEY_ZOOM, /* full screen and Stop*/
2024 [0x02] = KEY_MODE, /* AV Source or Rewind*/
2025 [0x04] = KEY_LIST, /* -/-- */
2026 /* small arrows above numbers */
2027 [0x1a] = KEY_NEXT, /* also Fast Forward */
2028 [0x0e] = KEY_PREVIOUS, /* also Rewind */
2029 /* these are in a rather non standard layout and have
2030 an alternate name written */
2031 [0x1e] = KEY_UP, /* Video Setting */
2032 [0x0a] = KEY_DOWN, /* Video Default */
2033 [0x05] = KEY_LEFT, /* Snapshot */
2034 [0x0c] = KEY_RIGHT, /* Hide Panel */
2035 /* Four buttons without label */
2036 [0x49] = KEY_RED,
2037 [0x0b] = KEY_GREEN,
2038 [0x13] = KEY_YELLOW,
2039 [0x50] = KEY_BLUE,
2040};
2041EXPORT_SYMBOL_GPL(ir_codes_genius_tvgo_a11mce);