blob: cbd1184b5219becd3723ccc14fc4eb42d33c36f5 [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>
23#include <linux/moduleparam.h>
24
25#include <linux/input.h>
26#include <media/ir-common.h>
27
28/* empty keytable, can be used as placeholder for not-yet created keytables */
29IR_KEYTAB_TYPE ir_codes_empty[IR_KEYTAB_SIZE] = {
30 [ 0x2a ] = KEY_COFFEE,
31};
32
33EXPORT_SYMBOL_GPL(ir_codes_empty);
34
Michal Majchrowiczb04c1ba2006-09-13 16:42:42 -030035/* Michal Majchrowicz <mmajchrowicz@gmail.com> */
36IR_KEYTAB_TYPE ir_codes_proteus_2309[IR_KEYTAB_SIZE] = {
37 /* numeric */
38 [ 0x00 ] = KEY_0,
39 [ 0x01 ] = KEY_1,
40 [ 0x02 ] = KEY_2,
41 [ 0x03 ] = KEY_3,
42 [ 0x04 ] = KEY_4,
43 [ 0x05 ] = KEY_5,
44 [ 0x06 ] = KEY_6,
45 [ 0x07 ] = KEY_7,
46 [ 0x08 ] = KEY_8,
47 [ 0x09 ] = KEY_9,
48
49 [ 0x5c ] = KEY_POWER, /* power */
50 [ 0x20 ] = KEY_F, /* full screen */
51 [ 0x0f ] = KEY_BACKSPACE, /* recall */
52 [ 0x1b ] = KEY_ENTER, /* mute */
53 [ 0x41 ] = KEY_RECORD, /* record */
54 [ 0x43 ] = KEY_STOP, /* stop */
55 [ 0x16 ] = KEY_S,
56 [ 0x1a ] = KEY_Q, /* off */
57 [ 0x2e ] = KEY_RED,
58 [ 0x1f ] = KEY_DOWN, /* channel - */
59 [ 0x1c ] = KEY_UP, /* channel + */
60 [ 0x10 ] = KEY_LEFT, /* volume - */
61 [ 0x1e ] = KEY_RIGHT, /* volume + */
62 [ 0x14 ] = KEY_F1,
63};
64
65EXPORT_SYMBOL_GPL(ir_codes_proteus_2309);
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -020066/* Matt Jesson <dvb@jesson.eclipse.co.uk */
67IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE] = {
68 [ 0x28 ] = KEY_0, //'0' / 'enter'
69 [ 0x22 ] = KEY_1, //'1'
70 [ 0x12 ] = KEY_2, //'2' / 'up arrow'
71 [ 0x32 ] = KEY_3, //'3'
72 [ 0x24 ] = KEY_4, //'4' / 'left arrow'
73 [ 0x14 ] = KEY_5, //'5'
74 [ 0x34 ] = KEY_6, //'6' / 'right arrow'
75 [ 0x26 ] = KEY_7, //'7'
76 [ 0x16 ] = KEY_8, //'8' / 'down arrow'
77 [ 0x36 ] = KEY_9, //'9'
78
79 [ 0x20 ] = KEY_LIST, // 'source'
80 [ 0x10 ] = KEY_TEXT, // 'teletext'
81 [ 0x00 ] = KEY_POWER, // 'power'
82 [ 0x04 ] = KEY_AUDIO, // 'audio'
83 [ 0x06 ] = KEY_ZOOM, // 'full screen'
84 [ 0x18 ] = KEY_VIDEO, // 'display'
85 [ 0x38 ] = KEY_SEARCH, // 'loop'
86 [ 0x08 ] = KEY_INFO, // 'preview'
87 [ 0x2a ] = KEY_REWIND, // 'backward <<'
88 [ 0x1a ] = KEY_FASTFORWARD, // 'forward >>'
89 [ 0x3a ] = KEY_RECORD, // 'capture'
90 [ 0x0a ] = KEY_MUTE, // 'mute'
91 [ 0x2c ] = KEY_RECORD, // 'record'
92 [ 0x1c ] = KEY_PAUSE, // 'pause'
93 [ 0x3c ] = KEY_STOP, // 'stop'
94 [ 0x0c ] = KEY_PLAY, // 'play'
95 [ 0x2e ] = KEY_RED, // 'red'
96 [ 0x01 ] = KEY_BLUE, // 'blue' / 'cancel'
97 [ 0x0e ] = KEY_YELLOW, // 'yellow' / 'ok'
98 [ 0x21 ] = KEY_GREEN, // 'green'
99 [ 0x11 ] = KEY_CHANNELDOWN, // 'channel -'
100 [ 0x31 ] = KEY_CHANNELUP, // 'channel +'
101 [ 0x1e ] = KEY_VOLUMEDOWN, // 'volume -'
102 [ 0x3e ] = KEY_VOLUMEUP, // 'volume +'
103};
104
105EXPORT_SYMBOL_GPL(ir_codes_avermedia_dvbt);
106
107/* Attila Kondoros <attila.kondoros@chello.hu> */
108IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE] = {
109
110 [ 0x01 ] = KEY_1,
111 [ 0x02 ] = KEY_2,
112 [ 0x03 ] = KEY_3,
113 [ 0x04 ] = KEY_4,
114 [ 0x05 ] = KEY_5,
115 [ 0x06 ] = KEY_6,
116 [ 0x07 ] = KEY_7,
117 [ 0x08 ] = KEY_8,
118 [ 0x09 ] = KEY_9,
119 [ 0x00 ] = KEY_0,
120 [ 0x17 ] = KEY_LAST, // +100
121 [ 0x0a ] = KEY_LIST, // recall
122
123
124 [ 0x1c ] = KEY_TUNER, // TV/FM
125 [ 0x15 ] = KEY_SEARCH, // scan
126 [ 0x12 ] = KEY_POWER, // power
127 [ 0x1f ] = KEY_VOLUMEDOWN, // vol up
128 [ 0x1b ] = KEY_VOLUMEUP, // vol down
129 [ 0x1e ] = KEY_CHANNELDOWN, // chn up
130 [ 0x1a ] = KEY_CHANNELUP, // chn down
131
132 [ 0x11 ] = KEY_VIDEO, // video
133 [ 0x0f ] = KEY_ZOOM, // full screen
134 [ 0x13 ] = KEY_MUTE, // mute/unmute
135 [ 0x10 ] = KEY_TEXT, // min
136
137 [ 0x0d ] = KEY_STOP, // freeze
138 [ 0x0e ] = KEY_RECORD, // record
139 [ 0x1d ] = KEY_PLAYPAUSE, // stop
140 [ 0x19 ] = KEY_PLAY, // play
141
142 [ 0x16 ] = KEY_GOTO, // osd
143 [ 0x14 ] = KEY_REFRESH, // default
144 [ 0x0c ] = KEY_KPPLUS, // fine tune >>>>
145 [ 0x18 ] = KEY_KPMINUS // fine tune <<<<
146};
147
148EXPORT_SYMBOL_GPL(ir_codes_apac_viewcomp);
149
150/* ---------------------------------------------------------------------- */
151
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200152IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE] = {
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200153
154 [ 0x1e ] = KEY_POWER, // power
155 [ 0x07 ] = KEY_MEDIA, // source
156 [ 0x1c ] = KEY_SEARCH, // scan
157
158/* FIXME: duplicate keycodes?
159 *
160 * These four keys seem to share the same GPIO as CH+, CH-, <<< and >>>
161 * The GPIO values are
162 * 6397fb for both "Scan <" and "CH -",
163 * 639ffb for "Scan >" and "CH+",
164 * 6384fb for "Tune <" and "<<<",
165 * 638cfb for "Tune >" and ">>>", regardless of the mask.
166 *
167 * [ 0x17 ] = KEY_BACK, // fm scan <<
168 * [ 0x1f ] = KEY_FORWARD, // fm scan >>
169 *
170 * [ 0x04 ] = KEY_LEFT, // fm tuning <
171 * [ 0x0c ] = KEY_RIGHT, // fm tuning >
172 *
173 * For now, these four keys are disabled. Pressing them will generate
174 * the CH+/CH-/<<</>>> events
175 */
176
177 [ 0x03 ] = KEY_TUNER, // TV/FM
178
179 [ 0x00 ] = KEY_RECORD,
180 [ 0x08 ] = KEY_STOP,
181 [ 0x11 ] = KEY_PLAY,
182
183 [ 0x1a ] = KEY_PLAYPAUSE, // freeze
184 [ 0x19 ] = KEY_ZOOM, // zoom
185 [ 0x0f ] = KEY_TEXT, // min
186
187 [ 0x01 ] = KEY_1,
188 [ 0x0b ] = KEY_2,
189 [ 0x1b ] = KEY_3,
190 [ 0x05 ] = KEY_4,
191 [ 0x09 ] = KEY_5,
192 [ 0x15 ] = KEY_6,
193 [ 0x06 ] = KEY_7,
194 [ 0x0a ] = KEY_8,
195 [ 0x12 ] = KEY_9,
196 [ 0x02 ] = KEY_0,
197 [ 0x10 ] = KEY_LAST, // +100
198 [ 0x13 ] = KEY_LIST, // recall
199
200 [ 0x1f ] = KEY_CHANNELUP, // chn down
201 [ 0x17 ] = KEY_CHANNELDOWN, // chn up
202 [ 0x16 ] = KEY_VOLUMEUP, // vol down
203 [ 0x14 ] = KEY_VOLUMEDOWN, // vol up
204
205 [ 0x04 ] = KEY_KPMINUS, // <<<
206 [ 0x0e ] = KEY_SETUP, // function
207 [ 0x0c ] = KEY_KPPLUS, // >>>
208
209 [ 0x0d ] = KEY_GOTO, // mts
210 [ 0x1d ] = KEY_REFRESH, // reset
211 [ 0x18 ] = KEY_MUTE // mute/unmute
212};
213
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200214EXPORT_SYMBOL_GPL(ir_codes_pixelview);
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200215
216IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE] = {
217 [ 0x00 ] = KEY_0,
218 [ 0x01 ] = KEY_1,
219 [ 0x02 ] = KEY_2,
220 [ 0x03 ] = KEY_3,
221 [ 0x04 ] = KEY_4,
222 [ 0x05 ] = KEY_5,
223 [ 0x06 ] = KEY_6,
224 [ 0x07 ] = KEY_7,
225 [ 0x08 ] = KEY_8,
226 [ 0x09 ] = KEY_9,
227 [ 0x0a ] = KEY_TV,
228 [ 0x0b ] = KEY_AUX,
229 [ 0x0c ] = KEY_DVD,
230 [ 0x0d ] = KEY_POWER,
231 [ 0x0e ] = KEY_MHP, /* labelled 'Picture' */
232 [ 0x0f ] = KEY_AUDIO,
233 [ 0x10 ] = KEY_INFO,
234 [ 0x11 ] = KEY_F13, /* 16:9 */
235 [ 0x12 ] = KEY_F14, /* 14:9 */
236 [ 0x13 ] = KEY_EPG,
237 [ 0x14 ] = KEY_EXIT,
238 [ 0x15 ] = KEY_MENU,
239 [ 0x16 ] = KEY_UP,
240 [ 0x17 ] = KEY_DOWN,
241 [ 0x18 ] = KEY_LEFT,
242 [ 0x19 ] = KEY_RIGHT,
243 [ 0x1a ] = KEY_ENTER,
244 [ 0x1b ] = KEY_CHANNELUP,
245 [ 0x1c ] = KEY_CHANNELDOWN,
246 [ 0x1d ] = KEY_VOLUMEUP,
247 [ 0x1e ] = KEY_VOLUMEDOWN,
248 [ 0x1f ] = KEY_RED,
249 [ 0x20 ] = KEY_GREEN,
250 [ 0x21 ] = KEY_YELLOW,
251 [ 0x22 ] = KEY_BLUE,
252 [ 0x23 ] = KEY_SUBTITLE,
253 [ 0x24 ] = KEY_F15, /* AD */
254 [ 0x25 ] = KEY_TEXT,
255 [ 0x26 ] = KEY_MUTE,
256 [ 0x27 ] = KEY_REWIND,
257 [ 0x28 ] = KEY_STOP,
258 [ 0x29 ] = KEY_PLAY,
259 [ 0x2a ] = KEY_FASTFORWARD,
260 [ 0x2b ] = KEY_F16, /* chapter */
261 [ 0x2c ] = KEY_PAUSE,
262 [ 0x2d ] = KEY_PLAY,
263 [ 0x2e ] = KEY_RECORD,
264 [ 0x2f ] = KEY_F17, /* picture in picture */
265 [ 0x30 ] = KEY_KPPLUS, /* zoom in */
266 [ 0x31 ] = KEY_KPMINUS, /* zoom out */
267 [ 0x32 ] = KEY_F18, /* capture */
268 [ 0x33 ] = KEY_F19, /* web */
269 [ 0x34 ] = KEY_EMAIL,
270 [ 0x35 ] = KEY_PHONE,
271 [ 0x36 ] = KEY_PC
272};
273
274EXPORT_SYMBOL_GPL(ir_codes_nebula);
275
276/* DigitalNow DNTV Live DVB-T Remote */
277IR_KEYTAB_TYPE ir_codes_dntv_live_dvb_t[IR_KEYTAB_SIZE] = {
278 [ 0x00 ] = KEY_ESC, /* 'go up a level?' */
279 /* Keys 0 to 9 */
280 [ 0x0a ] = KEY_0,
281 [ 0x01 ] = KEY_1,
282 [ 0x02 ] = KEY_2,
283 [ 0x03 ] = KEY_3,
284 [ 0x04 ] = KEY_4,
285 [ 0x05 ] = KEY_5,
286 [ 0x06 ] = KEY_6,
287 [ 0x07 ] = KEY_7,
288 [ 0x08 ] = KEY_8,
289 [ 0x09 ] = KEY_9,
290
291 [ 0x0b ] = KEY_TUNER, /* tv/fm */
292 [ 0x0c ] = KEY_SEARCH, /* scan */
293 [ 0x0d ] = KEY_STOP,
294 [ 0x0e ] = KEY_PAUSE,
295 [ 0x0f ] = KEY_LIST, /* source */
296
297 [ 0x10 ] = KEY_MUTE,
298 [ 0x11 ] = KEY_REWIND, /* backward << */
299 [ 0x12 ] = KEY_POWER,
300 [ 0x13 ] = KEY_S, /* snap */
301 [ 0x14 ] = KEY_AUDIO, /* stereo */
302 [ 0x15 ] = KEY_CLEAR, /* reset */
303 [ 0x16 ] = KEY_PLAY,
304 [ 0x17 ] = KEY_ENTER,
305 [ 0x18 ] = KEY_ZOOM, /* full screen */
306 [ 0x19 ] = KEY_FASTFORWARD, /* forward >> */
307 [ 0x1a ] = KEY_CHANNELUP,
308 [ 0x1b ] = KEY_VOLUMEUP,
309 [ 0x1c ] = KEY_INFO, /* preview */
310 [ 0x1d ] = KEY_RECORD, /* record */
311 [ 0x1e ] = KEY_CHANNELDOWN,
312 [ 0x1f ] = KEY_VOLUMEDOWN,
313};
314
315EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvb_t);
316
317/* ---------------------------------------------------------------------- */
318
319/* IO-DATA BCTV7E Remote */
320IR_KEYTAB_TYPE ir_codes_iodata_bctv7e[IR_KEYTAB_SIZE] = {
321 [ 0x40 ] = KEY_TV,
322 [ 0x20 ] = KEY_RADIO, /* FM */
323 [ 0x60 ] = KEY_EPG,
324 [ 0x00 ] = KEY_POWER,
325
326 /* Keys 0 to 9 */
327 [ 0x44 ] = KEY_0, /* 10 */
328 [ 0x50 ] = KEY_1,
329 [ 0x30 ] = KEY_2,
330 [ 0x70 ] = KEY_3,
331 [ 0x48 ] = KEY_4,
332 [ 0x28 ] = KEY_5,
333 [ 0x68 ] = KEY_6,
334 [ 0x58 ] = KEY_7,
335 [ 0x38 ] = KEY_8,
336 [ 0x78 ] = KEY_9,
337
338 [ 0x10 ] = KEY_L, /* Live */
339 [ 0x08 ] = KEY_T, /* Time Shift */
340
341 [ 0x18 ] = KEY_PLAYPAUSE, /* Play */
342
343 [ 0x24 ] = KEY_ENTER, /* 11 */
344 [ 0x64 ] = KEY_ESC, /* 12 */
345 [ 0x04 ] = KEY_M, /* Multi */
346
347 [ 0x54 ] = KEY_VIDEO,
348 [ 0x34 ] = KEY_CHANNELUP,
349 [ 0x74 ] = KEY_VOLUMEUP,
350 [ 0x14 ] = KEY_MUTE,
351
352 [ 0x4c ] = KEY_S, /* SVIDEO */
353 [ 0x2c ] = KEY_CHANNELDOWN,
354 [ 0x6c ] = KEY_VOLUMEDOWN,
355 [ 0x0c ] = KEY_ZOOM,
356
357 [ 0x5c ] = KEY_PAUSE,
358 [ 0x3c ] = KEY_C, /* || (red) */
359 [ 0x7c ] = KEY_RECORD, /* recording */
360 [ 0x1c ] = KEY_STOP,
361
362 [ 0x41 ] = KEY_REWIND, /* backward << */
363 [ 0x21 ] = KEY_PLAY,
364 [ 0x61 ] = KEY_FASTFORWARD, /* forward >> */
365 [ 0x01 ] = KEY_NEXT, /* skip >| */
366};
367
368EXPORT_SYMBOL_GPL(ir_codes_iodata_bctv7e);
369
370/* ---------------------------------------------------------------------- */
371
372/* ADS Tech Instant TV DVB-T PCI Remote */
373IR_KEYTAB_TYPE ir_codes_adstech_dvb_t_pci[IR_KEYTAB_SIZE] = {
374 /* Keys 0 to 9 */
375 [ 0x4d ] = KEY_0,
376 [ 0x57 ] = KEY_1,
377 [ 0x4f ] = KEY_2,
378 [ 0x53 ] = KEY_3,
379 [ 0x56 ] = KEY_4,
380 [ 0x4e ] = KEY_5,
381 [ 0x5e ] = KEY_6,
382 [ 0x54 ] = KEY_7,
383 [ 0x4c ] = KEY_8,
384 [ 0x5c ] = KEY_9,
385
386 [ 0x5b ] = KEY_POWER,
387 [ 0x5f ] = KEY_MUTE,
388 [ 0x55 ] = KEY_GOTO,
389 [ 0x5d ] = KEY_SEARCH,
390 [ 0x17 ] = KEY_EPG, /* Guide */
391 [ 0x1f ] = KEY_MENU,
392 [ 0x0f ] = KEY_UP,
393 [ 0x46 ] = KEY_DOWN,
394 [ 0x16 ] = KEY_LEFT,
395 [ 0x1e ] = KEY_RIGHT,
396 [ 0x0e ] = KEY_SELECT, /* Enter */
397 [ 0x5a ] = KEY_INFO,
398 [ 0x52 ] = KEY_EXIT,
399 [ 0x59 ] = KEY_PREVIOUS,
400 [ 0x51 ] = KEY_NEXT,
401 [ 0x58 ] = KEY_REWIND,
402 [ 0x50 ] = KEY_FORWARD,
403 [ 0x44 ] = KEY_PLAYPAUSE,
404 [ 0x07 ] = KEY_STOP,
405 [ 0x1b ] = KEY_RECORD,
406 [ 0x13 ] = KEY_TUNER, /* Live */
407 [ 0x0a ] = KEY_A,
408 [ 0x12 ] = KEY_B,
409 [ 0x03 ] = KEY_PROG1, /* 1 */
410 [ 0x01 ] = KEY_PROG2, /* 2 */
411 [ 0x00 ] = KEY_PROG3, /* 3 */
412 [ 0x06 ] = KEY_DVD,
413 [ 0x48 ] = KEY_AUX, /* Photo */
414 [ 0x40 ] = KEY_VIDEO,
415 [ 0x19 ] = KEY_AUDIO, /* Music */
416 [ 0x0b ] = KEY_CHANNELUP,
417 [ 0x08 ] = KEY_CHANNELDOWN,
418 [ 0x15 ] = KEY_VOLUMEUP,
419 [ 0x1c ] = KEY_VOLUMEDOWN,
420};
421
422EXPORT_SYMBOL_GPL(ir_codes_adstech_dvb_t_pci);
423
424/* ---------------------------------------------------------------------- */
425
426/* MSI TV@nywhere remote */
427IR_KEYTAB_TYPE ir_codes_msi_tvanywhere[IR_KEYTAB_SIZE] = {
428 /* Keys 0 to 9 */
429 [ 0x00 ] = KEY_0,
430 [ 0x01 ] = KEY_1,
431 [ 0x02 ] = KEY_2,
432 [ 0x03 ] = KEY_3,
433 [ 0x04 ] = KEY_4,
434 [ 0x05 ] = KEY_5,
435 [ 0x06 ] = KEY_6,
436 [ 0x07 ] = KEY_7,
437 [ 0x08 ] = KEY_8,
438 [ 0x09 ] = KEY_9,
439
440 [ 0x0c ] = KEY_MUTE,
441 [ 0x0f ] = KEY_SCREEN, /* Full Screen */
442 [ 0x10 ] = KEY_F, /* Funtion */
443 [ 0x11 ] = KEY_T, /* Time shift */
444 [ 0x12 ] = KEY_POWER,
445 [ 0x13 ] = KEY_MEDIA, /* MTS */
446 [ 0x14 ] = KEY_SLOW,
447 [ 0x16 ] = KEY_REWIND, /* backward << */
448 [ 0x17 ] = KEY_ENTER, /* Return */
449 [ 0x18 ] = KEY_FASTFORWARD, /* forward >> */
450 [ 0x1a ] = KEY_CHANNELUP,
451 [ 0x1b ] = KEY_VOLUMEUP,
452 [ 0x1e ] = KEY_CHANNELDOWN,
453 [ 0x1f ] = KEY_VOLUMEDOWN,
454};
455
456EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere);
457
458/* ---------------------------------------------------------------------- */
459
460/* Cinergy 1400 DVB-T */
461IR_KEYTAB_TYPE ir_codes_cinergy_1400[IR_KEYTAB_SIZE] = {
462 [ 0x01 ] = KEY_POWER,
463 [ 0x02 ] = KEY_1,
464 [ 0x03 ] = KEY_2,
465 [ 0x04 ] = KEY_3,
466 [ 0x05 ] = KEY_4,
467 [ 0x06 ] = KEY_5,
468 [ 0x07 ] = KEY_6,
469 [ 0x08 ] = KEY_7,
470 [ 0x09 ] = KEY_8,
471 [ 0x0a ] = KEY_9,
472 [ 0x0c ] = KEY_0,
473
474 [ 0x0b ] = KEY_VIDEO,
475 [ 0x0d ] = KEY_REFRESH,
476 [ 0x0e ] = KEY_SELECT,
477 [ 0x0f ] = KEY_EPG,
478 [ 0x10 ] = KEY_UP,
479 [ 0x11 ] = KEY_LEFT,
480 [ 0x12 ] = KEY_OK,
481 [ 0x13 ] = KEY_RIGHT,
482 [ 0x14 ] = KEY_DOWN,
483 [ 0x15 ] = KEY_TEXT,
484 [ 0x16 ] = KEY_INFO,
485
486 [ 0x17 ] = KEY_RED,
487 [ 0x18 ] = KEY_GREEN,
488 [ 0x19 ] = KEY_YELLOW,
489 [ 0x1a ] = KEY_BLUE,
490
491 [ 0x1b ] = KEY_CHANNELUP,
492 [ 0x1c ] = KEY_VOLUMEUP,
493 [ 0x1d ] = KEY_MUTE,
494 [ 0x1e ] = KEY_VOLUMEDOWN,
495 [ 0x1f ] = KEY_CHANNELDOWN,
496
497 [ 0x40 ] = KEY_PAUSE,
498 [ 0x4c ] = KEY_PLAY,
499 [ 0x58 ] = KEY_RECORD,
500 [ 0x54 ] = KEY_PREVIOUS,
501 [ 0x48 ] = KEY_STOP,
502 [ 0x5c ] = KEY_NEXT,
503};
504
505EXPORT_SYMBOL_GPL(ir_codes_cinergy_1400);
506
507/* ---------------------------------------------------------------------- */
508
509/* AVERTV STUDIO 303 Remote */
510IR_KEYTAB_TYPE ir_codes_avertv_303[IR_KEYTAB_SIZE] = {
511 [ 0x2a ] = KEY_1,
512 [ 0x32 ] = KEY_2,
513 [ 0x3a ] = KEY_3,
514 [ 0x4a ] = KEY_4,
515 [ 0x52 ] = KEY_5,
516 [ 0x5a ] = KEY_6,
517 [ 0x6a ] = KEY_7,
518 [ 0x72 ] = KEY_8,
519 [ 0x7a ] = KEY_9,
520 [ 0x0e ] = KEY_0,
521
522 [ 0x02 ] = KEY_POWER,
523 [ 0x22 ] = KEY_VIDEO,
524 [ 0x42 ] = KEY_AUDIO,
525 [ 0x62 ] = KEY_ZOOM,
526 [ 0x0a ] = KEY_TV,
527 [ 0x12 ] = KEY_CD,
528 [ 0x1a ] = KEY_TEXT,
529
530 [ 0x16 ] = KEY_SUBTITLE,
531 [ 0x1e ] = KEY_REWIND,
532 [ 0x06 ] = KEY_PRINT,
533
534 [ 0x2e ] = KEY_SEARCH,
535 [ 0x36 ] = KEY_SLEEP,
536 [ 0x3e ] = KEY_SHUFFLE,
537 [ 0x26 ] = KEY_MUTE,
538
539 [ 0x4e ] = KEY_RECORD,
540 [ 0x56 ] = KEY_PAUSE,
541 [ 0x5e ] = KEY_STOP,
542 [ 0x46 ] = KEY_PLAY,
543
544 [ 0x6e ] = KEY_RED,
545 [ 0x0b ] = KEY_GREEN,
546 [ 0x66 ] = KEY_YELLOW,
547 [ 0x03 ] = KEY_BLUE,
548
549 [ 0x76 ] = KEY_LEFT,
550 [ 0x7e ] = KEY_RIGHT,
551 [ 0x13 ] = KEY_DOWN,
552 [ 0x1b ] = KEY_UP,
553};
554
555EXPORT_SYMBOL_GPL(ir_codes_avertv_303);
556
557/* ---------------------------------------------------------------------- */
558
559/* DigitalNow DNTV Live! DVB-T Pro Remote */
560IR_KEYTAB_TYPE ir_codes_dntv_live_dvbt_pro[IR_KEYTAB_SIZE] = {
561 [ 0x16 ] = KEY_POWER,
562 [ 0x5b ] = KEY_HOME,
563
564 [ 0x55 ] = KEY_TV, /* live tv */
565 [ 0x58 ] = KEY_TUNER, /* digital Radio */
566 [ 0x5a ] = KEY_RADIO, /* FM radio */
567 [ 0x59 ] = KEY_DVD, /* dvd menu */
568 [ 0x03 ] = KEY_1,
569 [ 0x01 ] = KEY_2,
570 [ 0x06 ] = KEY_3,
571 [ 0x09 ] = KEY_4,
572 [ 0x1d ] = KEY_5,
573 [ 0x1f ] = KEY_6,
574 [ 0x0d ] = KEY_7,
575 [ 0x19 ] = KEY_8,
576 [ 0x1b ] = KEY_9,
577 [ 0x0c ] = KEY_CANCEL,
578 [ 0x15 ] = KEY_0,
579 [ 0x4a ] = KEY_CLEAR,
580 [ 0x13 ] = KEY_BACK,
581 [ 0x00 ] = KEY_TAB,
582 [ 0x4b ] = KEY_UP,
583 [ 0x4e ] = KEY_LEFT,
584 [ 0x4f ] = KEY_OK,
585 [ 0x52 ] = KEY_RIGHT,
586 [ 0x51 ] = KEY_DOWN,
587 [ 0x1e ] = KEY_VOLUMEUP,
588 [ 0x0a ] = KEY_VOLUMEDOWN,
589 [ 0x02 ] = KEY_CHANNELDOWN,
590 [ 0x05 ] = KEY_CHANNELUP,
591 [ 0x11 ] = KEY_RECORD,
592 [ 0x14 ] = KEY_PLAY,
593 [ 0x4c ] = KEY_PAUSE,
594 [ 0x1a ] = KEY_STOP,
595 [ 0x40 ] = KEY_REWIND,
596 [ 0x12 ] = KEY_FASTFORWARD,
597 [ 0x41 ] = KEY_PREVIOUSSONG, /* replay |< */
598 [ 0x42 ] = KEY_NEXTSONG, /* skip >| */
599 [ 0x54 ] = KEY_CAMERA, /* capture */
600 [ 0x50 ] = KEY_LANGUAGE, /* sap */
601 [ 0x47 ] = KEY_TV2, /* pip */
602 [ 0x4d ] = KEY_SCREEN,
603 [ 0x43 ] = KEY_SUBTITLE,
604 [ 0x10 ] = KEY_MUTE,
605 [ 0x49 ] = KEY_AUDIO, /* l/r */
606 [ 0x07 ] = KEY_SLEEP,
607 [ 0x08 ] = KEY_VIDEO, /* a/v */
608 [ 0x0e ] = KEY_PREVIOUS, /* recall */
609 [ 0x45 ] = KEY_ZOOM, /* zoom + */
610 [ 0x46 ] = KEY_ANGLE, /* zoom - */
611 [ 0x56 ] = KEY_RED,
612 [ 0x57 ] = KEY_GREEN,
613 [ 0x5c ] = KEY_YELLOW,
614 [ 0x5d ] = KEY_BLUE,
615};
616
617EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvbt_pro);
618
619IR_KEYTAB_TYPE ir_codes_em_terratec[IR_KEYTAB_SIZE] = {
620 [ 0x01 ] = KEY_CHANNEL,
621 [ 0x02 ] = KEY_SELECT,
622 [ 0x03 ] = KEY_MUTE,
623 [ 0x04 ] = KEY_POWER,
624 [ 0x05 ] = KEY_1,
625 [ 0x06 ] = KEY_2,
626 [ 0x07 ] = KEY_3,
627 [ 0x08 ] = KEY_CHANNELUP,
628 [ 0x09 ] = KEY_4,
629 [ 0x0a ] = KEY_5,
630 [ 0x0b ] = KEY_6,
631 [ 0x0c ] = KEY_CHANNELDOWN,
632 [ 0x0d ] = KEY_7,
633 [ 0x0e ] = KEY_8,
634 [ 0x0f ] = KEY_9,
635 [ 0x10 ] = KEY_VOLUMEUP,
636 [ 0x11 ] = KEY_0,
637 [ 0x12 ] = KEY_MENU,
638 [ 0x13 ] = KEY_PRINT,
639 [ 0x14 ] = KEY_VOLUMEDOWN,
640 [ 0x16 ] = KEY_PAUSE,
641 [ 0x18 ] = KEY_RECORD,
642 [ 0x19 ] = KEY_REWIND,
643 [ 0x1a ] = KEY_PLAY,
644 [ 0x1b ] = KEY_FORWARD,
645 [ 0x1c ] = KEY_BACKSPACE,
646 [ 0x1e ] = KEY_STOP,
647 [ 0x40 ] = KEY_ZOOM,
648};
649
650EXPORT_SYMBOL_GPL(ir_codes_em_terratec);
651
Sylvain Pascheb93eedb2006-03-25 23:14:42 -0300652IR_KEYTAB_TYPE ir_codes_pinnacle_grey[IR_KEYTAB_SIZE] = {
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200653 [ 0x3a ] = KEY_0,
654 [ 0x31 ] = KEY_1,
655 [ 0x32 ] = KEY_2,
656 [ 0x33 ] = KEY_3,
657 [ 0x34 ] = KEY_4,
658 [ 0x35 ] = KEY_5,
659 [ 0x36 ] = KEY_6,
660 [ 0x37 ] = KEY_7,
661 [ 0x38 ] = KEY_8,
662 [ 0x39 ] = KEY_9,
663
664 [ 0x2f ] = KEY_POWER,
665
666 [ 0x2e ] = KEY_P,
667 [ 0x1f ] = KEY_L,
668 [ 0x2b ] = KEY_I,
669
Emil Georgieva6210b72007-03-04 07:03:17 -0300670 [ 0x2d ] = KEY_SCREEN,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200671 [ 0x1e ] = KEY_ZOOM,
672 [ 0x1b ] = KEY_VOLUMEUP,
673 [ 0x0f ] = KEY_VOLUMEDOWN,
674 [ 0x17 ] = KEY_CHANNELUP,
675 [ 0x1c ] = KEY_CHANNELDOWN,
676 [ 0x25 ] = KEY_INFO,
677
678 [ 0x3c ] = KEY_MUTE,
679
680 [ 0x3d ] = KEY_LEFT,
681 [ 0x3b ] = KEY_RIGHT,
682
683 [ 0x3f ] = KEY_UP,
684 [ 0x3e ] = KEY_DOWN,
Emil Georgieva6210b72007-03-04 07:03:17 -0300685 [ 0x1a ] = KEY_ENTER,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200686
687 [ 0x1d ] = KEY_MENU,
Emil Georgieva6210b72007-03-04 07:03:17 -0300688 [ 0x19 ] = KEY_AGAIN,
689 [ 0x16 ] = KEY_PREVIOUSSONG,
690 [ 0x13 ] = KEY_NEXTSONG,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200691 [ 0x15 ] = KEY_PAUSE,
692 [ 0x0e ] = KEY_REWIND,
693 [ 0x0d ] = KEY_PLAY,
694 [ 0x0b ] = KEY_STOP,
695 [ 0x07 ] = KEY_FORWARD,
696 [ 0x27 ] = KEY_RECORD,
697 [ 0x26 ] = KEY_TUNER,
698 [ 0x29 ] = KEY_TEXT,
699 [ 0x2a ] = KEY_MEDIA,
700 [ 0x18 ] = KEY_EPG,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200701};
702
Sylvain Pascheb93eedb2006-03-25 23:14:42 -0300703EXPORT_SYMBOL_GPL(ir_codes_pinnacle_grey);
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200704
705IR_KEYTAB_TYPE ir_codes_flyvideo[IR_KEYTAB_SIZE] = {
706 [ 0x0f ] = KEY_0,
707 [ 0x03 ] = KEY_1,
708 [ 0x04 ] = KEY_2,
709 [ 0x05 ] = KEY_3,
710 [ 0x07 ] = KEY_4,
711 [ 0x08 ] = KEY_5,
712 [ 0x09 ] = KEY_6,
713 [ 0x0b ] = KEY_7,
714 [ 0x0c ] = KEY_8,
715 [ 0x0d ] = KEY_9,
716
717 [ 0x0e ] = KEY_MODE, // Air/Cable
718 [ 0x11 ] = KEY_VIDEO, // Video
719 [ 0x15 ] = KEY_AUDIO, // Audio
720 [ 0x00 ] = KEY_POWER, // Power
721 [ 0x18 ] = KEY_TUNER, // AV Source
722 [ 0x02 ] = KEY_ZOOM, // Fullscreen
723 [ 0x1a ] = KEY_LANGUAGE, // Stereo
724 [ 0x1b ] = KEY_MUTE, // Mute
725 [ 0x14 ] = KEY_VOLUMEUP, // Volume +
726 [ 0x17 ] = KEY_VOLUMEDOWN, // Volume -
727 [ 0x12 ] = KEY_CHANNELUP, // Channel +
728 [ 0x13 ] = KEY_CHANNELDOWN, // Channel -
729 [ 0x06 ] = KEY_AGAIN, // Recall
730 [ 0x10 ] = KEY_ENTER, // Enter
731};
732
733EXPORT_SYMBOL_GPL(ir_codes_flyvideo);
734
735IR_KEYTAB_TYPE ir_codes_flydvb[IR_KEYTAB_SIZE] = {
736 [ 0x01 ] = KEY_ZOOM, // Full Screen
737 [ 0x00 ] = KEY_POWER, // Power
738
739 [ 0x03 ] = KEY_1,
740 [ 0x04 ] = KEY_2,
741 [ 0x05 ] = KEY_3,
742 [ 0x07 ] = KEY_4,
743 [ 0x08 ] = KEY_5,
744 [ 0x09 ] = KEY_6,
745 [ 0x0b ] = KEY_7,
746 [ 0x0c ] = KEY_8,
747 [ 0x0d ] = KEY_9,
748 [ 0x06 ] = KEY_AGAIN, // Recall
749 [ 0x0f ] = KEY_0,
750 [ 0x10 ] = KEY_MUTE, // Mute
751 [ 0x02 ] = KEY_RADIO, // TV/Radio
752 [ 0x1b ] = KEY_LANGUAGE, // SAP (Second Audio Program)
753
754 [ 0x14 ] = KEY_VOLUMEUP, // VOL+
755 [ 0x17 ] = KEY_VOLUMEDOWN, // VOL-
756 [ 0x12 ] = KEY_CHANNELUP, // CH+
757 [ 0x13 ] = KEY_CHANNELDOWN, // CH-
758 [ 0x1d ] = KEY_ENTER, // Enter
759
760 [ 0x1a ] = KEY_MODE, // PIP
761 [ 0x18 ] = KEY_TUNER, // Source
762
763 [ 0x1e ] = KEY_RECORD, // Record/Pause
764 [ 0x15 ] = KEY_ANGLE, // Swap (no label on key)
765 [ 0x1c ] = KEY_PAUSE, // Timeshift/Pause
766 [ 0x19 ] = KEY_BACK, // Rewind <<
767 [ 0x0a ] = KEY_PLAYPAUSE, // Play/Pause
768 [ 0x1f ] = KEY_FORWARD, // Forward >>
769 [ 0x16 ] = KEY_PREVIOUS, // Back |<<
770 [ 0x11 ] = KEY_STOP, // Stop
771 [ 0x0e ] = KEY_NEXT, // End >>|
772};
773
774EXPORT_SYMBOL_GPL(ir_codes_flydvb);
775
776IR_KEYTAB_TYPE ir_codes_cinergy[IR_KEYTAB_SIZE] = {
777 [ 0x00 ] = KEY_0,
778 [ 0x01 ] = KEY_1,
779 [ 0x02 ] = KEY_2,
780 [ 0x03 ] = KEY_3,
781 [ 0x04 ] = KEY_4,
782 [ 0x05 ] = KEY_5,
783 [ 0x06 ] = KEY_6,
784 [ 0x07 ] = KEY_7,
785 [ 0x08 ] = KEY_8,
786 [ 0x09 ] = KEY_9,
787
788 [ 0x0a ] = KEY_POWER,
789 [ 0x0b ] = KEY_PROG1, // app
790 [ 0x0c ] = KEY_ZOOM, // zoom/fullscreen
791 [ 0x0d ] = KEY_CHANNELUP, // channel
792 [ 0x0e ] = KEY_CHANNELDOWN, // channel-
793 [ 0x0f ] = KEY_VOLUMEUP,
794 [ 0x10 ] = KEY_VOLUMEDOWN,
795 [ 0x11 ] = KEY_TUNER, // AV
796 [ 0x12 ] = KEY_NUMLOCK, // -/--
797 [ 0x13 ] = KEY_AUDIO, // audio
798 [ 0x14 ] = KEY_MUTE,
799 [ 0x15 ] = KEY_UP,
800 [ 0x16 ] = KEY_DOWN,
801 [ 0x17 ] = KEY_LEFT,
802 [ 0x18 ] = KEY_RIGHT,
803 [ 0x19 ] = BTN_LEFT,
804 [ 0x1a ] = BTN_RIGHT,
805 [ 0x1b ] = KEY_WWW, // text
806 [ 0x1c ] = KEY_REWIND,
807 [ 0x1d ] = KEY_FORWARD,
808 [ 0x1e ] = KEY_RECORD,
809 [ 0x1f ] = KEY_PLAY,
810 [ 0x20 ] = KEY_PREVIOUSSONG,
811 [ 0x21 ] = KEY_NEXTSONG,
812 [ 0x22 ] = KEY_PAUSE,
813 [ 0x23 ] = KEY_STOP,
814};
815
816EXPORT_SYMBOL_GPL(ir_codes_cinergy);
817
818/* Alfons Geser <a.geser@cox.net>
819 * updates from Job D. R. Borges <jobdrb@ig.com.br> */
820IR_KEYTAB_TYPE ir_codes_eztv[IR_KEYTAB_SIZE] = {
821 [ 0x12 ] = KEY_POWER,
822 [ 0x01 ] = KEY_TV, // DVR
823 [ 0x15 ] = KEY_DVD, // DVD
824 [ 0x17 ] = KEY_AUDIO, // music
825 // DVR mode / DVD mode / music mode
826
827 [ 0x1b ] = KEY_MUTE, // mute
828 [ 0x02 ] = KEY_LANGUAGE, // MTS/SAP / audio / autoseek
829 [ 0x1e ] = KEY_SUBTITLE, // closed captioning / subtitle / seek
830 [ 0x16 ] = KEY_ZOOM, // full screen
831 [ 0x1c ] = KEY_VIDEO, // video source / eject / delall
832 [ 0x1d ] = KEY_RESTART, // playback / angle / del
833 [ 0x2f ] = KEY_SEARCH, // scan / menu / playlist
834 [ 0x30 ] = KEY_CHANNEL, // CH surfing / bookmark / memo
835
836 [ 0x31 ] = KEY_HELP, // help
837 [ 0x32 ] = KEY_MODE, // num/memo
838 [ 0x33 ] = KEY_ESC, // cancel
839
840 [ 0x0c ] = KEY_UP, // up
841 [ 0x10 ] = KEY_DOWN, // down
842 [ 0x08 ] = KEY_LEFT, // left
843 [ 0x04 ] = KEY_RIGHT, // right
844 [ 0x03 ] = KEY_SELECT, // select
845
846 [ 0x1f ] = KEY_REWIND, // rewind
847 [ 0x20 ] = KEY_PLAYPAUSE, // play/pause
848 [ 0x29 ] = KEY_FORWARD, // forward
849 [ 0x14 ] = KEY_AGAIN, // repeat
850 [ 0x2b ] = KEY_RECORD, // recording
851 [ 0x2c ] = KEY_STOP, // stop
852 [ 0x2d ] = KEY_PLAY, // play
853 [ 0x2e ] = KEY_SHUFFLE, // snapshot / shuffle
854
855 [ 0x00 ] = KEY_0,
856 [ 0x05 ] = KEY_1,
857 [ 0x06 ] = KEY_2,
858 [ 0x07 ] = KEY_3,
859 [ 0x09 ] = KEY_4,
860 [ 0x0a ] = KEY_5,
861 [ 0x0b ] = KEY_6,
862 [ 0x0d ] = KEY_7,
863 [ 0x0e ] = KEY_8,
864 [ 0x0f ] = KEY_9,
865
866 [ 0x2a ] = KEY_VOLUMEUP,
867 [ 0x11 ] = KEY_VOLUMEDOWN,
868 [ 0x18 ] = KEY_CHANNELUP, // CH.tracking up
869 [ 0x19 ] = KEY_CHANNELDOWN, // CH.tracking down
870
871 [ 0x13 ] = KEY_ENTER, // enter
872 [ 0x21 ] = KEY_DOT, // . (decimal dot)
873};
874
875EXPORT_SYMBOL_GPL(ir_codes_eztv);
876
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200877/* Alex Hermann <gaaf@gmx.net> */
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200878IR_KEYTAB_TYPE ir_codes_avermedia[IR_KEYTAB_SIZE] = {
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200879 [ 0x28 ] = KEY_1,
880 [ 0x18 ] = KEY_2,
881 [ 0x38 ] = KEY_3,
882 [ 0x24 ] = KEY_4,
883 [ 0x14 ] = KEY_5,
884 [ 0x34 ] = KEY_6,
885 [ 0x2c ] = KEY_7,
886 [ 0x1c ] = KEY_8,
887 [ 0x3c ] = KEY_9,
888 [ 0x22 ] = KEY_0,
889
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200890 [ 0x20 ] = KEY_TV, /* TV/FM */
891 [ 0x10 ] = KEY_CD, /* CD */
892 [ 0x30 ] = KEY_TEXT, /* TELETEXT */
893 [ 0x00 ] = KEY_POWER, /* POWER */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200894
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200895 [ 0x08 ] = KEY_VIDEO, /* VIDEO */
896 [ 0x04 ] = KEY_AUDIO, /* AUDIO */
897 [ 0x0c ] = KEY_ZOOM, /* FULL SCREEN */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200898
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200899 [ 0x12 ] = KEY_SUBTITLE, /* DISPLAY */
900 [ 0x32 ] = KEY_REWIND, /* LOOP */
901 [ 0x02 ] = KEY_PRINT, /* PREVIEW */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200902
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200903 [ 0x2a ] = KEY_SEARCH, /* AUTOSCAN */
904 [ 0x1a ] = KEY_SLEEP, /* FREEZE */
905 [ 0x3a ] = KEY_SHUFFLE, /* SNAPSHOT */
906 [ 0x0a ] = KEY_MUTE, /* MUTE */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200907
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200908 [ 0x26 ] = KEY_RECORD, /* RECORD */
909 [ 0x16 ] = KEY_PAUSE, /* PAUSE */
910 [ 0x36 ] = KEY_STOP, /* STOP */
911 [ 0x06 ] = KEY_PLAY, /* PLAY */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200912
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200913 [ 0x2e ] = KEY_RED, /* RED */
914 [ 0x21 ] = KEY_GREEN, /* GREEN */
915 [ 0x0e ] = KEY_YELLOW, /* YELLOW */
916 [ 0x01 ] = KEY_BLUE, /* BLUE */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200917
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200918 [ 0x1e ] = KEY_VOLUMEDOWN, /* VOLUME- */
919 [ 0x3e ] = KEY_VOLUMEUP, /* VOLUME+ */
920 [ 0x11 ] = KEY_CHANNELDOWN, /* CHANNEL/PAGE- */
921 [ 0x31 ] = KEY_CHANNELUP /* CHANNEL/PAGE+ */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200922};
923
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200924EXPORT_SYMBOL_GPL(ir_codes_avermedia);
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200925
926IR_KEYTAB_TYPE ir_codes_videomate_tv_pvr[IR_KEYTAB_SIZE] = {
927 [ 0x14 ] = KEY_MUTE,
928 [ 0x24 ] = KEY_ZOOM,
929
930 [ 0x01 ] = KEY_DVD,
931 [ 0x23 ] = KEY_RADIO,
932 [ 0x00 ] = KEY_TV,
933
934 [ 0x0a ] = KEY_REWIND,
935 [ 0x08 ] = KEY_PLAYPAUSE,
936 [ 0x0f ] = KEY_FORWARD,
937
938 [ 0x02 ] = KEY_PREVIOUS,
939 [ 0x07 ] = KEY_STOP,
940 [ 0x06 ] = KEY_NEXT,
941
942 [ 0x0c ] = KEY_UP,
943 [ 0x0e ] = KEY_DOWN,
944 [ 0x0b ] = KEY_LEFT,
945 [ 0x0d ] = KEY_RIGHT,
946 [ 0x11 ] = KEY_OK,
947
948 [ 0x03 ] = KEY_MENU,
949 [ 0x09 ] = KEY_SETUP,
950 [ 0x05 ] = KEY_VIDEO,
951 [ 0x22 ] = KEY_CHANNEL,
952
953 [ 0x12 ] = KEY_VOLUMEUP,
954 [ 0x15 ] = KEY_VOLUMEDOWN,
955 [ 0x10 ] = KEY_CHANNELUP,
956 [ 0x13 ] = KEY_CHANNELDOWN,
957
958 [ 0x04 ] = KEY_RECORD,
959
960 [ 0x16 ] = KEY_1,
961 [ 0x17 ] = KEY_2,
962 [ 0x18 ] = KEY_3,
963 [ 0x19 ] = KEY_4,
964 [ 0x1a ] = KEY_5,
965 [ 0x1b ] = KEY_6,
966 [ 0x1c ] = KEY_7,
967 [ 0x1d ] = KEY_8,
968 [ 0x1e ] = KEY_9,
969 [ 0x1f ] = KEY_0,
970
971 [ 0x20 ] = KEY_LANGUAGE,
972 [ 0x21 ] = KEY_SLEEP,
973};
974
975EXPORT_SYMBOL_GPL(ir_codes_videomate_tv_pvr);
976
977/* Michael Tokarev <mjt@tls.msk.ru>
978 http://www.corpit.ru/mjt/beholdTV/remote_control.jpg
979 keytable is used by MANLI MTV00[ 0x0c ] and BeholdTV 40[13] at
980 least, and probably other cards too.
981 The "ascii-art picture" below (in comments, first row
982 is the keycode in hex, and subsequent row(s) shows
983 the button labels (several variants when appropriate)
984 helps to descide which keycodes to assign to the buttons.
985 */
986IR_KEYTAB_TYPE ir_codes_manli[IR_KEYTAB_SIZE] = {
987
988 /* 0x1c 0x12 *
989 * FUNCTION POWER *
990 * FM (|) *
991 * */
992 [ 0x1c ] = KEY_RADIO, /*XXX*/
993 [ 0x12 ] = KEY_POWER,
994
995 /* 0x01 0x02 0x03 *
996 * 1 2 3 *
997 * *
998 * 0x04 0x05 0x06 *
999 * 4 5 6 *
1000 * *
1001 * 0x07 0x08 0x09 *
1002 * 7 8 9 *
1003 * */
1004 [ 0x01 ] = KEY_1,
1005 [ 0x02 ] = KEY_2,
1006 [ 0x03 ] = KEY_3,
1007 [ 0x04 ] = KEY_4,
1008 [ 0x05 ] = KEY_5,
1009 [ 0x06 ] = KEY_6,
1010 [ 0x07 ] = KEY_7,
1011 [ 0x08 ] = KEY_8,
1012 [ 0x09 ] = KEY_9,
1013
1014 /* 0x0a 0x00 0x17 *
1015 * RECALL 0 +100 *
1016 * PLUS *
1017 * */
1018 [ 0x0a ] = KEY_AGAIN, /*XXX KEY_REWIND? */
1019 [ 0x00 ] = KEY_0,
1020 [ 0x17 ] = KEY_DIGITS, /*XXX*/
1021
1022 /* 0x14 0x10 *
1023 * MENU INFO *
1024 * OSD */
1025 [ 0x14 ] = KEY_MENU,
1026 [ 0x10 ] = KEY_INFO,
1027
1028 /* 0x0b *
1029 * Up *
1030 * *
1031 * 0x18 0x16 0x0c *
1032 * Left Ok Right *
1033 * *
1034 * 0x015 *
1035 * Down *
1036 * */
1037 [ 0x0b ] = KEY_UP, /*XXX KEY_SCROLLUP? */
1038 [ 0x18 ] = KEY_LEFT, /*XXX KEY_BACK? */
1039 [ 0x16 ] = KEY_OK, /*XXX KEY_SELECT? KEY_ENTER? */
1040 [ 0x0c ] = KEY_RIGHT, /*XXX KEY_FORWARD? */
1041 [ 0x15 ] = KEY_DOWN, /*XXX KEY_SCROLLDOWN? */
1042
1043 /* 0x11 0x0d *
1044 * TV/AV MODE *
1045 * SOURCE STEREO *
1046 * */
1047 [ 0x11 ] = KEY_TV, /*XXX*/
1048 [ 0x0d ] = KEY_MODE, /*XXX there's no KEY_STEREO */
1049
1050 /* 0x0f 0x1b 0x1a *
1051 * AUDIO Vol+ Chan+ *
1052 * TIMESHIFT??? *
1053 * *
1054 * 0x0e 0x1f 0x1e *
1055 * SLEEP Vol- Chan- *
1056 * */
1057 [ 0x0f ] = KEY_AUDIO,
1058 [ 0x1b ] = KEY_VOLUMEUP,
1059 [ 0x1a ] = KEY_CHANNELUP,
1060 [ 0x0e ] = KEY_SLEEP, /*XXX maybe KEY_PAUSE */
1061 [ 0x1f ] = KEY_VOLUMEDOWN,
1062 [ 0x1e ] = KEY_CHANNELDOWN,
1063
1064 /* 0x13 0x19 *
1065 * MUTE SNAPSHOT*
1066 * */
1067 [ 0x13 ] = KEY_MUTE,
1068 [ 0x19 ] = KEY_RECORD, /*XXX*/
1069
1070 // 0x1d unused ?
1071};
1072
1073EXPORT_SYMBOL_GPL(ir_codes_manli);
1074
1075/* Mike Baikov <mike@baikov.com> */
1076IR_KEYTAB_TYPE ir_codes_gotview7135[IR_KEYTAB_SIZE] = {
1077
1078 [ 0x21 ] = KEY_POWER,
1079 [ 0x69 ] = KEY_TV,
1080 [ 0x33 ] = KEY_0,
1081 [ 0x51 ] = KEY_1,
1082 [ 0x31 ] = KEY_2,
1083 [ 0x71 ] = KEY_3,
1084 [ 0x3b ] = KEY_4,
1085 [ 0x58 ] = KEY_5,
1086 [ 0x41 ] = KEY_6,
1087 [ 0x48 ] = KEY_7,
1088 [ 0x30 ] = KEY_8,
1089 [ 0x53 ] = KEY_9,
1090 [ 0x73 ] = KEY_AGAIN, /* LOOP */
1091 [ 0x0a ] = KEY_AUDIO,
1092 [ 0x61 ] = KEY_PRINT, /* PREVIEW */
1093 [ 0x7a ] = KEY_VIDEO,
1094 [ 0x20 ] = KEY_CHANNELUP,
1095 [ 0x40 ] = KEY_CHANNELDOWN,
1096 [ 0x18 ] = KEY_VOLUMEDOWN,
1097 [ 0x50 ] = KEY_VOLUMEUP,
1098 [ 0x10 ] = KEY_MUTE,
1099 [ 0x4a ] = KEY_SEARCH,
1100 [ 0x7b ] = KEY_SHUFFLE, /* SNAPSHOT */
1101 [ 0x22 ] = KEY_RECORD,
1102 [ 0x62 ] = KEY_STOP,
1103 [ 0x78 ] = KEY_PLAY,
1104 [ 0x39 ] = KEY_REWIND,
1105 [ 0x59 ] = KEY_PAUSE,
1106 [ 0x19 ] = KEY_FORWARD,
1107 [ 0x09 ] = KEY_ZOOM,
1108
1109 [ 0x52 ] = KEY_F21, /* LIVE TIMESHIFT */
1110 [ 0x1a ] = KEY_F22, /* MIN TIMESHIFT */
1111 [ 0x3a ] = KEY_F23, /* TIMESHIFT */
1112 [ 0x70 ] = KEY_F24, /* NORMAL TIMESHIFT */
1113};
1114
1115EXPORT_SYMBOL_GPL(ir_codes_gotview7135);
1116
1117IR_KEYTAB_TYPE ir_codes_purpletv[IR_KEYTAB_SIZE] = {
1118 [ 0x03 ] = KEY_POWER,
1119 [ 0x6f ] = KEY_MUTE,
1120 [ 0x10 ] = KEY_BACKSPACE, /* Recall */
1121
1122 [ 0x11 ] = KEY_0,
1123 [ 0x04 ] = KEY_1,
1124 [ 0x05 ] = KEY_2,
1125 [ 0x06 ] = KEY_3,
1126 [ 0x08 ] = KEY_4,
1127 [ 0x09 ] = KEY_5,
1128 [ 0x0a ] = KEY_6,
1129 [ 0x0c ] = KEY_7,
1130 [ 0x0d ] = KEY_8,
1131 [ 0x0e ] = KEY_9,
1132 [ 0x12 ] = KEY_DOT, /* 100+ */
1133
1134 [ 0x07 ] = KEY_VOLUMEUP,
1135 [ 0x0b ] = KEY_VOLUMEDOWN,
1136 [ 0x1a ] = KEY_KPPLUS,
1137 [ 0x18 ] = KEY_KPMINUS,
1138 [ 0x15 ] = KEY_UP,
1139 [ 0x1d ] = KEY_DOWN,
1140 [ 0x0f ] = KEY_CHANNELUP,
1141 [ 0x13 ] = KEY_CHANNELDOWN,
1142 [ 0x48 ] = KEY_ZOOM,
1143
1144 [ 0x1b ] = KEY_VIDEO, /* Video source */
1145 [ 0x49 ] = KEY_LANGUAGE, /* MTS Select */
1146 [ 0x19 ] = KEY_SEARCH, /* Auto Scan */
1147
1148 [ 0x4b ] = KEY_RECORD,
1149 [ 0x46 ] = KEY_PLAY,
1150 [ 0x45 ] = KEY_PAUSE, /* Pause */
1151 [ 0x44 ] = KEY_STOP,
1152 [ 0x40 ] = KEY_FORWARD, /* Forward ? */
1153 [ 0x42 ] = KEY_REWIND, /* Backward ? */
1154
1155};
1156
1157EXPORT_SYMBOL_GPL(ir_codes_purpletv);
1158
1159/* Mapping for the 28 key remote control as seen at
1160 http://www.sednacomputer.com/photo/cardbus-tv.jpg
1161 Pavel Mihaylov <bin@bash.info> */
1162IR_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,
1192};
1193
1194EXPORT_SYMBOL_GPL(ir_codes_pctv_sedna);
1195
1196/* Mark Phalan <phalanm@o2.ie> */
1197IR_KEYTAB_TYPE ir_codes_pv951[IR_KEYTAB_SIZE] = {
1198 [ 0x00 ] = KEY_0,
1199 [ 0x01 ] = KEY_1,
1200 [ 0x02 ] = KEY_2,
1201 [ 0x03 ] = KEY_3,
1202 [ 0x04 ] = KEY_4,
1203 [ 0x05 ] = KEY_5,
1204 [ 0x06 ] = KEY_6,
1205 [ 0x07 ] = KEY_7,
1206 [ 0x08 ] = KEY_8,
1207 [ 0x09 ] = KEY_9,
1208
1209 [ 0x12 ] = KEY_POWER,
1210 [ 0x10 ] = KEY_MUTE,
1211 [ 0x1f ] = KEY_VOLUMEDOWN,
1212 [ 0x1b ] = KEY_VOLUMEUP,
1213 [ 0x1a ] = KEY_CHANNELUP,
1214 [ 0x1e ] = KEY_CHANNELDOWN,
1215 [ 0x0e ] = KEY_PAGEUP,
1216 [ 0x1d ] = KEY_PAGEDOWN,
1217 [ 0x13 ] = KEY_SOUND,
1218
1219 [ 0x18 ] = KEY_KPPLUSMINUS, /* CH +/- */
1220 [ 0x16 ] = KEY_SUBTITLE, /* CC */
1221 [ 0x0d ] = KEY_TEXT, /* TTX */
1222 [ 0x0b ] = KEY_TV, /* AIR/CBL */
1223 [ 0x11 ] = KEY_PC, /* PC/TV */
1224 [ 0x17 ] = KEY_OK, /* CH RTN */
1225 [ 0x19 ] = KEY_MODE, /* FUNC */
1226 [ 0x0c ] = KEY_SEARCH, /* AUTOSCAN */
1227
1228 /* Not sure what to do with these ones! */
1229 [ 0x0f ] = KEY_SELECT, /* SOURCE */
1230 [ 0x0a ] = KEY_KPPLUS, /* +100 */
1231 [ 0x14 ] = KEY_EQUAL, /* SYNC */
1232 [ 0x1c ] = KEY_MEDIA, /* PC/TV */
1233};
1234
1235EXPORT_SYMBOL_GPL(ir_codes_pv951);
1236
1237/* generic RC5 keytable */
1238/* see http://users.pandora.be/nenya/electronics/rc5/codes00.htm */
1239/* used by old (black) Hauppauge remotes */
1240IR_KEYTAB_TYPE ir_codes_rc5_tv[IR_KEYTAB_SIZE] = {
1241 /* Keys 0 to 9 */
1242 [ 0x00 ] = KEY_0,
1243 [ 0x01 ] = KEY_1,
1244 [ 0x02 ] = KEY_2,
1245 [ 0x03 ] = KEY_3,
1246 [ 0x04 ] = KEY_4,
1247 [ 0x05 ] = KEY_5,
1248 [ 0x06 ] = KEY_6,
1249 [ 0x07 ] = KEY_7,
1250 [ 0x08 ] = KEY_8,
1251 [ 0x09 ] = KEY_9,
1252
1253 [ 0x0b ] = KEY_CHANNEL, /* channel / program (japan: 11) */
1254 [ 0x0c ] = KEY_POWER, /* standby */
1255 [ 0x0d ] = KEY_MUTE, /* mute / demute */
1256 [ 0x0f ] = KEY_TV, /* display */
1257 [ 0x10 ] = KEY_VOLUMEUP,
1258 [ 0x11 ] = KEY_VOLUMEDOWN,
1259 [ 0x12 ] = KEY_BRIGHTNESSUP,
1260 [ 0x13 ] = KEY_BRIGHTNESSDOWN,
1261 [ 0x1e ] = KEY_SEARCH, /* search + */
1262 [ 0x20 ] = KEY_CHANNELUP, /* channel / program + */
1263 [ 0x21 ] = KEY_CHANNELDOWN, /* channel / program - */
1264 [ 0x22 ] = KEY_CHANNEL, /* alt / channel */
1265 [ 0x23 ] = KEY_LANGUAGE, /* 1st / 2nd language */
1266 [ 0x26 ] = KEY_SLEEP, /* sleeptimer */
1267 [ 0x2e ] = KEY_MENU, /* 2nd controls (USA: menu) */
1268 [ 0x30 ] = KEY_PAUSE,
1269 [ 0x32 ] = KEY_REWIND,
1270 [ 0x33 ] = KEY_GOTO,
1271 [ 0x35 ] = KEY_PLAY,
1272 [ 0x36 ] = KEY_STOP,
1273 [ 0x37 ] = KEY_RECORD, /* recording */
1274 [ 0x3c ] = KEY_TEXT, /* teletext submode (Japan: 12) */
1275 [ 0x3d ] = KEY_SUSPEND, /* system standby */
1276
1277};
1278
1279EXPORT_SYMBOL_GPL(ir_codes_rc5_tv);
1280
1281/* Table for Leadtek Winfast Remote Controls - used by both bttv and cx88 */
1282IR_KEYTAB_TYPE ir_codes_winfast[IR_KEYTAB_SIZE] = {
1283 /* Keys 0 to 9 */
1284 [ 0x12 ] = KEY_0,
1285 [ 0x05 ] = KEY_1,
1286 [ 0x06 ] = KEY_2,
1287 [ 0x07 ] = KEY_3,
1288 [ 0x09 ] = KEY_4,
1289 [ 0x0a ] = KEY_5,
1290 [ 0x0b ] = KEY_6,
1291 [ 0x0d ] = KEY_7,
1292 [ 0x0e ] = KEY_8,
1293 [ 0x0f ] = KEY_9,
1294
1295 [ 0x00 ] = KEY_POWER,
Malcolm Valentine2de873e2006-05-29 13:56:24 -03001296 [ 0x1b ] = KEY_AUDIO, /* Audio Source */
1297 [ 0x02 ] = KEY_TUNER, /* TV/FM, not on Y0400052 */
1298 [ 0x1e ] = KEY_VIDEO, /* Video Source */
1299 [ 0x16 ] = KEY_INFO, /* Display information */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001300 [ 0x04 ] = KEY_VOLUMEUP,
1301 [ 0x08 ] = KEY_VOLUMEDOWN,
1302 [ 0x0c ] = KEY_CHANNELUP,
1303 [ 0x10 ] = KEY_CHANNELDOWN,
1304 [ 0x03 ] = KEY_ZOOM, /* fullscreen */
Malcolm Valentine2de873e2006-05-29 13:56:24 -03001305 [ 0x1f ] = KEY_TEXT, /* closed caption/teletext */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001306 [ 0x20 ] = KEY_SLEEP,
Malcolm Valentine2de873e2006-05-29 13:56:24 -03001307 [ 0x29 ] = KEY_CLEAR, /* boss key */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001308 [ 0x14 ] = KEY_MUTE,
1309 [ 0x2b ] = KEY_RED,
1310 [ 0x2c ] = KEY_GREEN,
1311 [ 0x2d ] = KEY_YELLOW,
1312 [ 0x2e ] = KEY_BLUE,
Malcolm Valentine2de873e2006-05-29 13:56:24 -03001313 [ 0x18 ] = KEY_KPPLUS, /* fine tune + , not on Y040052 */
1314 [ 0x19 ] = KEY_KPMINUS, /* fine tune - , not on Y040052 */
1315 [ 0x2a ] = KEY_MEDIA, /* PIP (Picture in picture */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001316 [ 0x21 ] = KEY_DOT,
1317 [ 0x13 ] = KEY_ENTER,
Malcolm Valentine2de873e2006-05-29 13:56:24 -03001318 [ 0x11 ] = KEY_LAST, /* Recall (last channel */
1319 [ 0x22 ] = KEY_PREVIOUS,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001320 [ 0x23 ] = KEY_PLAYPAUSE,
1321 [ 0x24 ] = KEY_NEXT,
Malcolm Valentine2de873e2006-05-29 13:56:24 -03001322 [ 0x25 ] = KEY_ARCHIVE, /* Time Shifting */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001323 [ 0x26 ] = KEY_STOP,
Malcolm Valentine2de873e2006-05-29 13:56:24 -03001324 [ 0x27 ] = KEY_RECORD,
1325 [ 0x28 ] = KEY_SAVE, /* Screenshot */
1326 [ 0x2f ] = KEY_MENU,
1327 [ 0x30 ] = KEY_CANCEL,
1328 [ 0x31 ] = KEY_CHANNEL, /* Channel Surf */
1329 [ 0x32 ] = KEY_SUBTITLE,
1330 [ 0x33 ] = KEY_LANGUAGE,
1331 [ 0x34 ] = KEY_REWIND,
1332 [ 0x35 ] = KEY_FASTFORWARD,
1333 [ 0x36 ] = KEY_TV,
1334 [ 0x37 ] = KEY_RADIO, /* FM */
1335 [ 0x38 ] = KEY_DVD
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001336};
1337
1338EXPORT_SYMBOL_GPL(ir_codes_winfast);
1339
Sylvain Pascheb93eedb2006-03-25 23:14:42 -03001340IR_KEYTAB_TYPE ir_codes_pinnacle_color[IR_KEYTAB_SIZE] = {
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001341 [ 0x59 ] = KEY_MUTE,
1342 [ 0x4a ] = KEY_POWER,
1343
1344 [ 0x18 ] = KEY_TEXT,
1345 [ 0x26 ] = KEY_TV,
1346 [ 0x3d ] = KEY_PRINT,
1347
1348 [ 0x48 ] = KEY_RED,
1349 [ 0x04 ] = KEY_GREEN,
1350 [ 0x11 ] = KEY_YELLOW,
1351 [ 0x00 ] = KEY_BLUE,
1352
1353 [ 0x2d ] = KEY_VOLUMEUP,
1354 [ 0x1e ] = KEY_VOLUMEDOWN,
1355
1356 [ 0x49 ] = KEY_MENU,
1357
1358 [ 0x16 ] = KEY_CHANNELUP,
1359 [ 0x17 ] = KEY_CHANNELDOWN,
1360
1361 [ 0x20 ] = KEY_UP,
1362 [ 0x21 ] = KEY_DOWN,
1363 [ 0x22 ] = KEY_LEFT,
1364 [ 0x23 ] = KEY_RIGHT,
1365 [ 0x0d ] = KEY_SELECT,
1366
1367
1368
1369 [ 0x08 ] = KEY_BACK,
1370 [ 0x07 ] = KEY_REFRESH,
1371
1372 [ 0x2f ] = KEY_ZOOM,
1373 [ 0x29 ] = KEY_RECORD,
1374
1375 [ 0x4b ] = KEY_PAUSE,
1376 [ 0x4d ] = KEY_REWIND,
1377 [ 0x2e ] = KEY_PLAY,
1378 [ 0x4e ] = KEY_FORWARD,
1379 [ 0x53 ] = KEY_PREVIOUS,
1380 [ 0x4c ] = KEY_STOP,
1381 [ 0x54 ] = KEY_NEXT,
1382
1383 [ 0x69 ] = KEY_0,
1384 [ 0x6a ] = KEY_1,
1385 [ 0x6b ] = KEY_2,
1386 [ 0x6c ] = KEY_3,
1387 [ 0x6d ] = KEY_4,
1388 [ 0x6e ] = KEY_5,
1389 [ 0x6f ] = KEY_6,
1390 [ 0x70 ] = KEY_7,
1391 [ 0x71 ] = KEY_8,
1392 [ 0x72 ] = KEY_9,
1393
1394 [ 0x74 ] = KEY_CHANNEL,
1395 [ 0x0a ] = KEY_BACKSPACE,
1396};
1397
Sylvain Pascheb93eedb2006-03-25 23:14:42 -03001398EXPORT_SYMBOL_GPL(ir_codes_pinnacle_color);
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001399
1400/* Hauppauge: the newer, gray remotes (seems there are multiple
1401 * slightly different versions), shipped with cx88+ivtv cards.
1402 * almost rc5 coding, but some non-standard keys */
1403IR_KEYTAB_TYPE ir_codes_hauppauge_new[IR_KEYTAB_SIZE] = {
1404 /* Keys 0 to 9 */
1405 [ 0x00 ] = KEY_0,
1406 [ 0x01 ] = KEY_1,
1407 [ 0x02 ] = KEY_2,
1408 [ 0x03 ] = KEY_3,
1409 [ 0x04 ] = KEY_4,
1410 [ 0x05 ] = KEY_5,
1411 [ 0x06 ] = KEY_6,
1412 [ 0x07 ] = KEY_7,
1413 [ 0x08 ] = KEY_8,
1414 [ 0x09 ] = KEY_9,
1415
1416 [ 0x0a ] = KEY_TEXT, /* keypad asterisk as well */
1417 [ 0x0b ] = KEY_RED, /* red button */
1418 [ 0x0c ] = KEY_RADIO,
1419 [ 0x0d ] = KEY_MENU,
1420 [ 0x0e ] = KEY_SUBTITLE, /* also the # key */
1421 [ 0x0f ] = KEY_MUTE,
1422 [ 0x10 ] = KEY_VOLUMEUP,
1423 [ 0x11 ] = KEY_VOLUMEDOWN,
1424 [ 0x12 ] = KEY_PREVIOUS, /* previous channel */
1425 [ 0x14 ] = KEY_UP,
1426 [ 0x15 ] = KEY_DOWN,
1427 [ 0x16 ] = KEY_LEFT,
1428 [ 0x17 ] = KEY_RIGHT,
1429 [ 0x18 ] = KEY_VIDEO, /* Videos */
1430 [ 0x19 ] = KEY_AUDIO, /* Music */
1431 /* 0x1a: Pictures - presume this means
1432 "Multimedia Home Platform" -
1433 no "PICTURES" key in input.h
1434 */
1435 [ 0x1a ] = KEY_MHP,
1436
1437 [ 0x1b ] = KEY_EPG, /* Guide */
1438 [ 0x1c ] = KEY_TV,
1439 [ 0x1e ] = KEY_NEXTSONG, /* skip >| */
1440 [ 0x1f ] = KEY_EXIT, /* back/exit */
1441 [ 0x20 ] = KEY_CHANNELUP, /* channel / program + */
1442 [ 0x21 ] = KEY_CHANNELDOWN, /* channel / program - */
1443 [ 0x22 ] = KEY_CHANNEL, /* source (old black remote) */
1444 [ 0x24 ] = KEY_PREVIOUSSONG, /* replay |< */
1445 [ 0x25 ] = KEY_ENTER, /* OK */
1446 [ 0x26 ] = KEY_SLEEP, /* minimize (old black remote) */
1447 [ 0x29 ] = KEY_BLUE, /* blue key */
1448 [ 0x2e ] = KEY_GREEN, /* green button */
1449 [ 0x30 ] = KEY_PAUSE, /* pause */
1450 [ 0x32 ] = KEY_REWIND, /* backward << */
1451 [ 0x34 ] = KEY_FASTFORWARD, /* forward >> */
1452 [ 0x35 ] = KEY_PLAY,
1453 [ 0x36 ] = KEY_STOP,
1454 [ 0x37 ] = KEY_RECORD, /* recording */
1455 [ 0x38 ] = KEY_YELLOW, /* yellow key */
1456 [ 0x3b ] = KEY_SELECT, /* top right button */
1457 [ 0x3c ] = KEY_ZOOM, /* full */
1458 [ 0x3d ] = KEY_POWER, /* system power (green button) */
1459};
1460
1461EXPORT_SYMBOL_GPL(ir_codes_hauppauge_new);
Ricardo Cerqueira680543c2006-05-22 07:44:02 -03001462
1463IR_KEYTAB_TYPE ir_codes_npgtech[IR_KEYTAB_SIZE] = {
1464 [ 0x1d ] = KEY_SWITCHVIDEOMODE, /* switch inputs */
1465 [ 0x2a ] = KEY_FRONT,
1466
1467 [ 0x3e ] = KEY_1,
1468 [ 0x02 ] = KEY_2,
1469 [ 0x06 ] = KEY_3,
1470 [ 0x0a ] = KEY_4,
1471 [ 0x0e ] = KEY_5,
1472 [ 0x12 ] = KEY_6,
1473 [ 0x16 ] = KEY_7,
1474 [ 0x1a ] = KEY_8,
1475 [ 0x1e ] = KEY_9,
1476 [ 0x3a ] = KEY_0,
1477 [ 0x22 ] = KEY_NUMLOCK, /* -/-- */
1478 [ 0x20 ] = KEY_REFRESH,
1479
1480 [ 0x03 ] = KEY_BRIGHTNESSDOWN,
1481 [ 0x28 ] = KEY_AUDIO,
1482 [ 0x3c ] = KEY_UP,
1483 [ 0x3f ] = KEY_LEFT,
1484 [ 0x2e ] = KEY_MUTE,
1485 [ 0x3b ] = KEY_RIGHT,
1486 [ 0x00 ] = KEY_DOWN,
1487 [ 0x07 ] = KEY_BRIGHTNESSUP,
1488 [ 0x2c ] = KEY_TEXT,
1489
1490 [ 0x37 ] = KEY_RECORD,
1491 [ 0x17 ] = KEY_PLAY,
1492 [ 0x13 ] = KEY_PAUSE,
1493 [ 0x26 ] = KEY_STOP,
1494 [ 0x18 ] = KEY_FASTFORWARD,
1495 [ 0x14 ] = KEY_REWIND,
1496 [ 0x33 ] = KEY_ZOOM,
1497 [ 0x32 ] = KEY_KEYBOARD,
1498 [ 0x30 ] = KEY_GOTO, /* Pointing arrow */
1499 [ 0x36 ] = KEY_MACRO, /* Maximize/Minimize (yellow) */
1500 [ 0x0b ] = KEY_RADIO,
1501 [ 0x10 ] = KEY_POWER,
1502
1503};
1504
1505EXPORT_SYMBOL_GPL(ir_codes_npgtech);
Peter Naullsd1009bd2006-08-08 09:10:05 -03001506
1507/* Norwood Micro (non-Pro) TV Tuner
1508 By Peter Naulls <peter@chocky.org>
1509 Key comments are the functions given in the manual */
1510IR_KEYTAB_TYPE ir_codes_norwood[IR_KEYTAB_SIZE] = {
1511 /* Keys 0 to 9 */
1512 [ 0x20 ] = KEY_0,
1513 [ 0x21 ] = KEY_1,
1514 [ 0x22 ] = KEY_2,
1515 [ 0x23 ] = KEY_3,
1516 [ 0x24 ] = KEY_4,
1517 [ 0x25 ] = KEY_5,
1518 [ 0x26 ] = KEY_6,
1519 [ 0x27 ] = KEY_7,
1520 [ 0x28 ] = KEY_8,
1521 [ 0x29 ] = KEY_9,
1522
1523 [ 0x78 ] = KEY_TUNER, /* Video Source */
1524 [ 0x2c ] = KEY_EXIT, /* Open/Close software */
1525 [ 0x2a ] = KEY_SELECT, /* 2 Digit Select */
1526 [ 0x69 ] = KEY_AGAIN, /* Recall */
1527
1528 [ 0x32 ] = KEY_BRIGHTNESSUP, /* Brightness increase */
1529 [ 0x33 ] = KEY_BRIGHTNESSDOWN, /* Brightness decrease */
1530 [ 0x6b ] = KEY_KPPLUS, /* (not named >>>>>) */
1531 [ 0x6c ] = KEY_KPMINUS, /* (not named <<<<<) */
1532
1533 [ 0x2d ] = KEY_MUTE, /* Mute */
1534 [ 0x30 ] = KEY_VOLUMEUP, /* Volume up */
1535 [ 0x31 ] = KEY_VOLUMEDOWN, /* Volume down */
1536 [ 0x60 ] = KEY_CHANNELUP, /* Channel up */
1537 [ 0x61 ] = KEY_CHANNELDOWN, /* Channel down */
1538
1539 [ 0x3f ] = KEY_RECORD, /* Record */
1540 [ 0x37 ] = KEY_PLAY, /* Play */
1541 [ 0x36 ] = KEY_PAUSE, /* Pause */
1542 [ 0x2b ] = KEY_STOP, /* Stop */
1543 [ 0x67 ] = KEY_FASTFORWARD, /* Foward */
1544 [ 0x66 ] = KEY_REWIND, /* Rewind */
1545 [ 0x3e ] = KEY_SEARCH, /* Auto Scan */
1546 [ 0x2e ] = KEY_CAMERA, /* Capture Video */
1547 [ 0x6d ] = KEY_MENU, /* Show/Hide Control */
1548 [ 0x2f ] = KEY_ZOOM, /* Full Screen */
1549 [ 0x34 ] = KEY_RADIO, /* FM */
1550 [ 0x65 ] = KEY_POWER, /* Computer power */
1551};
1552
1553EXPORT_SYMBOL_GPL(ir_codes_norwood);
David Hardeman2520fff2006-12-02 21:16:05 -02001554
1555/* From reading the following remotes:
1556 * Zenith Universal 7 / TV Mode 807 / VCR Mode 837
1557 * Hauppauge (from NOVA-CI-s box product)
1558 * This is a "middle of the road" approach, differences are noted
1559 */
1560IR_KEYTAB_TYPE ir_codes_budget_ci_old[IR_KEYTAB_SIZE] = {
1561 [ 0x00 ] = KEY_0,
1562 [ 0x01 ] = KEY_1,
1563 [ 0x02 ] = KEY_2,
1564 [ 0x03 ] = KEY_3,
1565 [ 0x04 ] = KEY_4,
1566 [ 0x05 ] = KEY_5,
1567 [ 0x06 ] = KEY_6,
1568 [ 0x07 ] = KEY_7,
1569 [ 0x08 ] = KEY_8,
1570 [ 0x09 ] = KEY_9,
1571 [ 0x0a ] = KEY_ENTER,
1572 [ 0x0b ] = KEY_RED,
1573 [ 0x0c ] = KEY_POWER, /* RADIO on Hauppauge */
1574 [ 0x0d ] = KEY_MUTE,
1575 [ 0x0f ] = KEY_A, /* TV on Hauppauge */
1576 [ 0x10 ] = KEY_VOLUMEUP,
1577 [ 0x11 ] = KEY_VOLUMEDOWN,
1578 [ 0x14 ] = KEY_B,
1579 [ 0x1c ] = KEY_UP,
1580 [ 0x1d ] = KEY_DOWN,
1581 [ 0x1e ] = KEY_OPTION, /* RESERVED on Hauppauge */
1582 [ 0x1f ] = KEY_BREAK,
1583 [ 0x20 ] = KEY_CHANNELUP,
1584 [ 0x21 ] = KEY_CHANNELDOWN,
1585 [ 0x22 ] = KEY_PREVIOUS, /* Prev. Ch on Zenith, SOURCE on Hauppauge */
1586 [ 0x24 ] = KEY_RESTART,
1587 [ 0x25 ] = KEY_OK,
1588 [ 0x26 ] = KEY_CYCLEWINDOWS, /* MINIMIZE on Hauppauge */
1589 [ 0x28 ] = KEY_ENTER, /* VCR mode on Zenith */
1590 [ 0x29 ] = KEY_PAUSE,
1591 [ 0x2b ] = KEY_RIGHT,
1592 [ 0x2c ] = KEY_LEFT,
1593 [ 0x2e ] = KEY_MENU, /* FULL SCREEN on Hauppauge */
1594 [ 0x30 ] = KEY_SLOW,
1595 [ 0x31 ] = KEY_PREVIOUS, /* VCR mode on Zenith */
1596 [ 0x32 ] = KEY_REWIND,
1597 [ 0x34 ] = KEY_FASTFORWARD,
1598 [ 0x35 ] = KEY_PLAY,
1599 [ 0x36 ] = KEY_STOP,
1600 [ 0x37 ] = KEY_RECORD,
1601 [ 0x38 ] = KEY_TUNER, /* TV/VCR on Zenith */
1602 [ 0x3a ] = KEY_C,
1603 [ 0x3c ] = KEY_EXIT,
1604 [ 0x3d ] = KEY_POWER2,
1605 [ 0x3e ] = KEY_TUNER,
1606};
1607
1608EXPORT_SYMBOL_GPL(ir_codes_budget_ci_old);
Hermann Pitton91607232006-12-07 21:45:28 -03001609
1610/*
1611 * Marc Fargas <telenieko@telenieko.com>
1612 * this is the remote control that comes with the asus p7131
1613 * which has a label saying is "Model PC-39"
1614 */
1615IR_KEYTAB_TYPE ir_codes_asus_pc39[IR_KEYTAB_SIZE] = {
1616 /* Keys 0 to 9 */
1617 [ 0x15 ] = KEY_0,
1618 [ 0x29 ] = KEY_1,
1619 [ 0x2d ] = KEY_2,
1620 [ 0x2b ] = KEY_3,
1621 [ 0x09 ] = KEY_4,
1622 [ 0x0d ] = KEY_5,
1623 [ 0x0b ] = KEY_6,
1624 [ 0x31 ] = KEY_7,
1625 [ 0x35 ] = KEY_8,
1626 [ 0x33 ] = KEY_9,
1627
1628 [ 0x3e ] = KEY_RADIO, /* radio */
1629 [ 0x03 ] = KEY_MENU, /* dvd/menu */
1630 [ 0x2a ] = KEY_VOLUMEUP,
1631 [ 0x19 ] = KEY_VOLUMEDOWN,
1632 [ 0x37 ] = KEY_UP,
1633 [ 0x3b ] = KEY_DOWN,
1634 [ 0x27 ] = KEY_LEFT,
1635 [ 0x2f ] = KEY_RIGHT,
1636 [ 0x25 ] = KEY_VIDEO, /* video */
1637 [ 0x39 ] = KEY_AUDIO, /* music */
1638
1639 [ 0x21 ] = KEY_TV, /* tv */
1640 [ 0x1d ] = KEY_EXIT, /* back */
1641 [ 0x0a ] = KEY_CHANNELUP, /* channel / program + */
1642 [ 0x1b ] = KEY_CHANNELDOWN, /* channel / program - */
1643 [ 0x1a ] = KEY_ENTER, /* enter */
1644
1645 [ 0x06 ] = KEY_PAUSE, /* play/pause */
1646 [ 0x1e ] = KEY_PREVIOUS, /* rew */
1647 [ 0x26 ] = KEY_NEXT, /* forward */
1648 [ 0x0e ] = KEY_REWIND, /* backward << */
1649 [ 0x3a ] = KEY_FASTFORWARD, /* forward >> */
1650 [ 0x36 ] = KEY_STOP,
1651 [ 0x2e ] = KEY_RECORD, /* recording */
1652 [ 0x16 ] = KEY_POWER, /* the button that reads "close" */
1653
1654 [ 0x11 ] = KEY_ZOOM, /* full screen */
1655 [ 0x13 ] = KEY_MACRO, /* recall */
1656 [ 0x23 ] = KEY_HOME, /* home */
1657 [ 0x05 ] = KEY_PVR, /* picture */
1658 [ 0x3d ] = KEY_MUTE, /* mute */
1659 [ 0x01 ] = KEY_DVD, /* dvd */
1660};
1661
1662EXPORT_SYMBOL_GPL(ir_codes_asus_pc39);
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001663
1664
1665/* Encore ENLTV-FM - black plastic, white front cover with white glowing buttons
1666 Juan Pablo Sormani <sorman@gmail.com> */
1667IR_KEYTAB_TYPE ir_codes_encore_enltv[IR_KEYTAB_SIZE] = {
1668
1669 /* Power button does nothing, neither in Windows app,
1670 although it sends data (used for BIOS wakeup?) */
1671 [ 0x0d ] = KEY_MUTE,
1672
1673 [ 0x1e ] = KEY_TV,
1674 [ 0x00 ] = KEY_VIDEO,
1675 [ 0x01 ] = KEY_AUDIO, /* music */
1676 [ 0x02 ] = KEY_MHP, /* picture */
1677
1678 [ 0x1f ] = KEY_1,
1679 [ 0x03 ] = KEY_2,
1680 [ 0x04 ] = KEY_3,
1681 [ 0x05 ] = KEY_4,
1682 [ 0x1c ] = KEY_5,
1683 [ 0x06 ] = KEY_6,
1684 [ 0x07 ] = KEY_7,
1685 [ 0x08 ] = KEY_8,
1686 [ 0x1d ] = KEY_9,
1687 [ 0x0a ] = KEY_0,
1688
1689 [ 0x09 ] = KEY_LIST, /* -/-- */
1690 [ 0x0b ] = KEY_LAST, /* recall */
1691
1692 [ 0x14 ] = KEY_HOME, /* win start menu */
1693 [ 0x15 ] = KEY_EXIT, /* exit */
1694 [ 0x16 ] = KEY_UP,
1695 [ 0x12 ] = KEY_DOWN,
1696 [ 0x0c ] = KEY_RIGHT,
1697 [ 0x17 ] = KEY_LEFT,
1698
1699 [ 0x18 ] = KEY_ENTER, /* OK */
1700
1701 [ 0x0e ] = KEY_ESC,
1702 [ 0x13 ] = KEY_D, /* desktop */
1703 [ 0x11 ] = KEY_TAB,
1704 [ 0x19 ] = KEY_SWITCHVIDEOMODE, /* switch */
1705
1706 [ 0x1a ] = KEY_MENU,
1707 [ 0x1b ] = KEY_ZOOM, /* fullscreen */
1708 [ 0x44 ] = KEY_TIME, /* time shift */
1709 [ 0x40 ] = KEY_MODE, /* source */
1710
1711 [ 0x5a ] = KEY_RECORD,
1712 [ 0x42 ] = KEY_PLAY, /* play/pause */
1713 [ 0x45 ] = KEY_STOP,
1714 [ 0x43 ] = KEY_CAMERA, /* camera icon */
1715
1716 [ 0x48 ] = KEY_REWIND,
1717 [ 0x4a ] = KEY_FASTFORWARD,
1718 [ 0x49 ] = KEY_PREVIOUS,
1719 [ 0x4b ] = KEY_NEXT,
1720
1721 [ 0x4c ] = KEY_FAVORITES, /* tv wall */
1722 [ 0x4d ] = KEY_SOUND, /* DVD sound */
1723 [ 0x4e ] = KEY_LANGUAGE, /* DVD lang */
1724 [ 0x4f ] = KEY_TEXT, /* DVD text */
1725
1726 [ 0x50 ] = KEY_SLEEP, /* shutdown */
1727 [ 0x51 ] = KEY_MODE, /* stereo > main */
1728 [ 0x52 ] = KEY_SELECT, /* stereo > sap */
1729 [ 0x53 ] = KEY_PROG1, /* teletext */
1730
1731
1732 [ 0x59 ] = KEY_RED, /* AP1 */
1733 [ 0x41 ] = KEY_GREEN, /* AP2 */
1734 [ 0x47 ] = KEY_YELLOW, /* AP3 */
1735 [ 0x57 ] = KEY_BLUE, /* AP4 */
1736
1737
1738};
1739
1740EXPORT_SYMBOL_GPL(ir_codes_encore_enltv);
Ville-Pekka Vainioae1942c2007-01-12 14:06:21 -03001741
Ville-Pekka Vainio28aedb82007-04-14 15:38:23 -03001742/* for the Technotrend 1500 bundled remotes (grey and black): */
Ville-Pekka Vainioae1942c2007-01-12 14:06:21 -03001743IR_KEYTAB_TYPE ir_codes_tt_1500[IR_KEYTAB_SIZE] = {
1744 [ 0x01 ] = KEY_POWER,
1745 [ 0x02 ] = KEY_SHUFFLE, /* ? double-arrow key */
1746 [ 0x03 ] = KEY_1,
1747 [ 0x04 ] = KEY_2,
1748 [ 0x05 ] = KEY_3,
1749 [ 0x06 ] = KEY_4,
1750 [ 0x07 ] = KEY_5,
1751 [ 0x08 ] = KEY_6,
1752 [ 0x09 ] = KEY_7,
1753 [ 0x0a ] = KEY_8,
1754 [ 0x0b ] = KEY_9,
1755 [ 0x0c ] = KEY_0,
1756 [ 0x0d ] = KEY_UP,
1757 [ 0x0e ] = KEY_LEFT,
1758 [ 0x0f ] = KEY_OK,
1759 [ 0x10 ] = KEY_RIGHT,
1760 [ 0x11 ] = KEY_DOWN,
1761 [ 0x12 ] = KEY_INFO,
1762 [ 0x13 ] = KEY_EXIT,
1763 [ 0x14 ] = KEY_RED,
1764 [ 0x15 ] = KEY_GREEN,
1765 [ 0x16 ] = KEY_YELLOW,
1766 [ 0x17 ] = KEY_BLUE,
1767 [ 0x18 ] = KEY_MUTE,
1768 [ 0x19 ] = KEY_TEXT,
1769 [ 0x1a ] = KEY_MODE, /* ? TV/Radio */
1770 [ 0x21 ] = KEY_OPTION,
1771 [ 0x22 ] = KEY_EPG,
1772 [ 0x23 ] = KEY_CHANNELUP,
1773 [ 0x24 ] = KEY_CHANNELDOWN,
1774 [ 0x25 ] = KEY_VOLUMEUP,
1775 [ 0x26 ] = KEY_VOLUMEDOWN,
1776 [ 0x27 ] = KEY_SETUP,
Ville-Pekka Vainio28aedb82007-04-14 15:38:23 -03001777 [ 0x3a ] = KEY_RECORD, /* these keys are only in the black remote */
1778 [ 0x3b ] = KEY_PLAY,
1779 [ 0x3c ] = KEY_STOP,
1780 [ 0x3d ] = KEY_REWIND,
1781 [ 0x3e ] = KEY_PAUSE,
1782 [ 0x3f ] = KEY_FORWARD,
Ville-Pekka Vainioae1942c2007-01-12 14:06:21 -03001783};
1784
1785EXPORT_SYMBOL_GPL(ir_codes_tt_1500);