blob: f51e02fe3655c2942777ebc6dc114c1ffc47d79e [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
670 [ 0x2d ] = KEY_ZOOM,
671 [ 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,
685 [ 0x1a ] = KEY_PAUSE,
686
687 [ 0x1d ] = KEY_MENU,
688 [ 0x19 ] = KEY_PLAY,
689 [ 0x16 ] = KEY_REWIND,
690 [ 0x13 ] = KEY_FORWARD,
691 [ 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,
701 [ 0x27 ] = KEY_RECORD,
702};
703
Sylvain Pascheb93eedb2006-03-25 23:14:42 -0300704EXPORT_SYMBOL_GPL(ir_codes_pinnacle_grey);
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200705
706IR_KEYTAB_TYPE ir_codes_flyvideo[IR_KEYTAB_SIZE] = {
707 [ 0x0f ] = KEY_0,
708 [ 0x03 ] = KEY_1,
709 [ 0x04 ] = KEY_2,
710 [ 0x05 ] = KEY_3,
711 [ 0x07 ] = KEY_4,
712 [ 0x08 ] = KEY_5,
713 [ 0x09 ] = KEY_6,
714 [ 0x0b ] = KEY_7,
715 [ 0x0c ] = KEY_8,
716 [ 0x0d ] = KEY_9,
717
718 [ 0x0e ] = KEY_MODE, // Air/Cable
719 [ 0x11 ] = KEY_VIDEO, // Video
720 [ 0x15 ] = KEY_AUDIO, // Audio
721 [ 0x00 ] = KEY_POWER, // Power
722 [ 0x18 ] = KEY_TUNER, // AV Source
723 [ 0x02 ] = KEY_ZOOM, // Fullscreen
724 [ 0x1a ] = KEY_LANGUAGE, // Stereo
725 [ 0x1b ] = KEY_MUTE, // Mute
726 [ 0x14 ] = KEY_VOLUMEUP, // Volume +
727 [ 0x17 ] = KEY_VOLUMEDOWN, // Volume -
728 [ 0x12 ] = KEY_CHANNELUP, // Channel +
729 [ 0x13 ] = KEY_CHANNELDOWN, // Channel -
730 [ 0x06 ] = KEY_AGAIN, // Recall
731 [ 0x10 ] = KEY_ENTER, // Enter
732};
733
734EXPORT_SYMBOL_GPL(ir_codes_flyvideo);
735
736IR_KEYTAB_TYPE ir_codes_flydvb[IR_KEYTAB_SIZE] = {
737 [ 0x01 ] = KEY_ZOOM, // Full Screen
738 [ 0x00 ] = KEY_POWER, // Power
739
740 [ 0x03 ] = KEY_1,
741 [ 0x04 ] = KEY_2,
742 [ 0x05 ] = KEY_3,
743 [ 0x07 ] = KEY_4,
744 [ 0x08 ] = KEY_5,
745 [ 0x09 ] = KEY_6,
746 [ 0x0b ] = KEY_7,
747 [ 0x0c ] = KEY_8,
748 [ 0x0d ] = KEY_9,
749 [ 0x06 ] = KEY_AGAIN, // Recall
750 [ 0x0f ] = KEY_0,
751 [ 0x10 ] = KEY_MUTE, // Mute
752 [ 0x02 ] = KEY_RADIO, // TV/Radio
753 [ 0x1b ] = KEY_LANGUAGE, // SAP (Second Audio Program)
754
755 [ 0x14 ] = KEY_VOLUMEUP, // VOL+
756 [ 0x17 ] = KEY_VOLUMEDOWN, // VOL-
757 [ 0x12 ] = KEY_CHANNELUP, // CH+
758 [ 0x13 ] = KEY_CHANNELDOWN, // CH-
759 [ 0x1d ] = KEY_ENTER, // Enter
760
761 [ 0x1a ] = KEY_MODE, // PIP
762 [ 0x18 ] = KEY_TUNER, // Source
763
764 [ 0x1e ] = KEY_RECORD, // Record/Pause
765 [ 0x15 ] = KEY_ANGLE, // Swap (no label on key)
766 [ 0x1c ] = KEY_PAUSE, // Timeshift/Pause
767 [ 0x19 ] = KEY_BACK, // Rewind <<
768 [ 0x0a ] = KEY_PLAYPAUSE, // Play/Pause
769 [ 0x1f ] = KEY_FORWARD, // Forward >>
770 [ 0x16 ] = KEY_PREVIOUS, // Back |<<
771 [ 0x11 ] = KEY_STOP, // Stop
772 [ 0x0e ] = KEY_NEXT, // End >>|
773};
774
775EXPORT_SYMBOL_GPL(ir_codes_flydvb);
776
777IR_KEYTAB_TYPE ir_codes_cinergy[IR_KEYTAB_SIZE] = {
778 [ 0x00 ] = KEY_0,
779 [ 0x01 ] = KEY_1,
780 [ 0x02 ] = KEY_2,
781 [ 0x03 ] = KEY_3,
782 [ 0x04 ] = KEY_4,
783 [ 0x05 ] = KEY_5,
784 [ 0x06 ] = KEY_6,
785 [ 0x07 ] = KEY_7,
786 [ 0x08 ] = KEY_8,
787 [ 0x09 ] = KEY_9,
788
789 [ 0x0a ] = KEY_POWER,
790 [ 0x0b ] = KEY_PROG1, // app
791 [ 0x0c ] = KEY_ZOOM, // zoom/fullscreen
792 [ 0x0d ] = KEY_CHANNELUP, // channel
793 [ 0x0e ] = KEY_CHANNELDOWN, // channel-
794 [ 0x0f ] = KEY_VOLUMEUP,
795 [ 0x10 ] = KEY_VOLUMEDOWN,
796 [ 0x11 ] = KEY_TUNER, // AV
797 [ 0x12 ] = KEY_NUMLOCK, // -/--
798 [ 0x13 ] = KEY_AUDIO, // audio
799 [ 0x14 ] = KEY_MUTE,
800 [ 0x15 ] = KEY_UP,
801 [ 0x16 ] = KEY_DOWN,
802 [ 0x17 ] = KEY_LEFT,
803 [ 0x18 ] = KEY_RIGHT,
804 [ 0x19 ] = BTN_LEFT,
805 [ 0x1a ] = BTN_RIGHT,
806 [ 0x1b ] = KEY_WWW, // text
807 [ 0x1c ] = KEY_REWIND,
808 [ 0x1d ] = KEY_FORWARD,
809 [ 0x1e ] = KEY_RECORD,
810 [ 0x1f ] = KEY_PLAY,
811 [ 0x20 ] = KEY_PREVIOUSSONG,
812 [ 0x21 ] = KEY_NEXTSONG,
813 [ 0x22 ] = KEY_PAUSE,
814 [ 0x23 ] = KEY_STOP,
815};
816
817EXPORT_SYMBOL_GPL(ir_codes_cinergy);
818
819/* Alfons Geser <a.geser@cox.net>
820 * updates from Job D. R. Borges <jobdrb@ig.com.br> */
821IR_KEYTAB_TYPE ir_codes_eztv[IR_KEYTAB_SIZE] = {
822 [ 0x12 ] = KEY_POWER,
823 [ 0x01 ] = KEY_TV, // DVR
824 [ 0x15 ] = KEY_DVD, // DVD
825 [ 0x17 ] = KEY_AUDIO, // music
826 // DVR mode / DVD mode / music mode
827
828 [ 0x1b ] = KEY_MUTE, // mute
829 [ 0x02 ] = KEY_LANGUAGE, // MTS/SAP / audio / autoseek
830 [ 0x1e ] = KEY_SUBTITLE, // closed captioning / subtitle / seek
831 [ 0x16 ] = KEY_ZOOM, // full screen
832 [ 0x1c ] = KEY_VIDEO, // video source / eject / delall
833 [ 0x1d ] = KEY_RESTART, // playback / angle / del
834 [ 0x2f ] = KEY_SEARCH, // scan / menu / playlist
835 [ 0x30 ] = KEY_CHANNEL, // CH surfing / bookmark / memo
836
837 [ 0x31 ] = KEY_HELP, // help
838 [ 0x32 ] = KEY_MODE, // num/memo
839 [ 0x33 ] = KEY_ESC, // cancel
840
841 [ 0x0c ] = KEY_UP, // up
842 [ 0x10 ] = KEY_DOWN, // down
843 [ 0x08 ] = KEY_LEFT, // left
844 [ 0x04 ] = KEY_RIGHT, // right
845 [ 0x03 ] = KEY_SELECT, // select
846
847 [ 0x1f ] = KEY_REWIND, // rewind
848 [ 0x20 ] = KEY_PLAYPAUSE, // play/pause
849 [ 0x29 ] = KEY_FORWARD, // forward
850 [ 0x14 ] = KEY_AGAIN, // repeat
851 [ 0x2b ] = KEY_RECORD, // recording
852 [ 0x2c ] = KEY_STOP, // stop
853 [ 0x2d ] = KEY_PLAY, // play
854 [ 0x2e ] = KEY_SHUFFLE, // snapshot / shuffle
855
856 [ 0x00 ] = KEY_0,
857 [ 0x05 ] = KEY_1,
858 [ 0x06 ] = KEY_2,
859 [ 0x07 ] = KEY_3,
860 [ 0x09 ] = KEY_4,
861 [ 0x0a ] = KEY_5,
862 [ 0x0b ] = KEY_6,
863 [ 0x0d ] = KEY_7,
864 [ 0x0e ] = KEY_8,
865 [ 0x0f ] = KEY_9,
866
867 [ 0x2a ] = KEY_VOLUMEUP,
868 [ 0x11 ] = KEY_VOLUMEDOWN,
869 [ 0x18 ] = KEY_CHANNELUP, // CH.tracking up
870 [ 0x19 ] = KEY_CHANNELDOWN, // CH.tracking down
871
872 [ 0x13 ] = KEY_ENTER, // enter
873 [ 0x21 ] = KEY_DOT, // . (decimal dot)
874};
875
876EXPORT_SYMBOL_GPL(ir_codes_eztv);
877
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200878/* Alex Hermann <gaaf@gmx.net> */
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200879IR_KEYTAB_TYPE ir_codes_avermedia[IR_KEYTAB_SIZE] = {
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200880 [ 0x28 ] = KEY_1,
881 [ 0x18 ] = KEY_2,
882 [ 0x38 ] = KEY_3,
883 [ 0x24 ] = KEY_4,
884 [ 0x14 ] = KEY_5,
885 [ 0x34 ] = KEY_6,
886 [ 0x2c ] = KEY_7,
887 [ 0x1c ] = KEY_8,
888 [ 0x3c ] = KEY_9,
889 [ 0x22 ] = KEY_0,
890
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200891 [ 0x20 ] = KEY_TV, /* TV/FM */
892 [ 0x10 ] = KEY_CD, /* CD */
893 [ 0x30 ] = KEY_TEXT, /* TELETEXT */
894 [ 0x00 ] = KEY_POWER, /* POWER */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200895
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200896 [ 0x08 ] = KEY_VIDEO, /* VIDEO */
897 [ 0x04 ] = KEY_AUDIO, /* AUDIO */
898 [ 0x0c ] = KEY_ZOOM, /* FULL SCREEN */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200899
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200900 [ 0x12 ] = KEY_SUBTITLE, /* DISPLAY */
901 [ 0x32 ] = KEY_REWIND, /* LOOP */
902 [ 0x02 ] = KEY_PRINT, /* PREVIEW */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200903
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200904 [ 0x2a ] = KEY_SEARCH, /* AUTOSCAN */
905 [ 0x1a ] = KEY_SLEEP, /* FREEZE */
906 [ 0x3a ] = KEY_SHUFFLE, /* SNAPSHOT */
907 [ 0x0a ] = KEY_MUTE, /* MUTE */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200908
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200909 [ 0x26 ] = KEY_RECORD, /* RECORD */
910 [ 0x16 ] = KEY_PAUSE, /* PAUSE */
911 [ 0x36 ] = KEY_STOP, /* STOP */
912 [ 0x06 ] = KEY_PLAY, /* PLAY */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200913
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200914 [ 0x2e ] = KEY_RED, /* RED */
915 [ 0x21 ] = KEY_GREEN, /* GREEN */
916 [ 0x0e ] = KEY_YELLOW, /* YELLOW */
917 [ 0x01 ] = KEY_BLUE, /* BLUE */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200918
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200919 [ 0x1e ] = KEY_VOLUMEDOWN, /* VOLUME- */
920 [ 0x3e ] = KEY_VOLUMEUP, /* VOLUME+ */
921 [ 0x11 ] = KEY_CHANNELDOWN, /* CHANNEL/PAGE- */
922 [ 0x31 ] = KEY_CHANNELUP /* CHANNEL/PAGE+ */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200923};
924
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200925EXPORT_SYMBOL_GPL(ir_codes_avermedia);
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200926
927IR_KEYTAB_TYPE ir_codes_videomate_tv_pvr[IR_KEYTAB_SIZE] = {
928 [ 0x14 ] = KEY_MUTE,
929 [ 0x24 ] = KEY_ZOOM,
930
931 [ 0x01 ] = KEY_DVD,
932 [ 0x23 ] = KEY_RADIO,
933 [ 0x00 ] = KEY_TV,
934
935 [ 0x0a ] = KEY_REWIND,
936 [ 0x08 ] = KEY_PLAYPAUSE,
937 [ 0x0f ] = KEY_FORWARD,
938
939 [ 0x02 ] = KEY_PREVIOUS,
940 [ 0x07 ] = KEY_STOP,
941 [ 0x06 ] = KEY_NEXT,
942
943 [ 0x0c ] = KEY_UP,
944 [ 0x0e ] = KEY_DOWN,
945 [ 0x0b ] = KEY_LEFT,
946 [ 0x0d ] = KEY_RIGHT,
947 [ 0x11 ] = KEY_OK,
948
949 [ 0x03 ] = KEY_MENU,
950 [ 0x09 ] = KEY_SETUP,
951 [ 0x05 ] = KEY_VIDEO,
952 [ 0x22 ] = KEY_CHANNEL,
953
954 [ 0x12 ] = KEY_VOLUMEUP,
955 [ 0x15 ] = KEY_VOLUMEDOWN,
956 [ 0x10 ] = KEY_CHANNELUP,
957 [ 0x13 ] = KEY_CHANNELDOWN,
958
959 [ 0x04 ] = KEY_RECORD,
960
961 [ 0x16 ] = KEY_1,
962 [ 0x17 ] = KEY_2,
963 [ 0x18 ] = KEY_3,
964 [ 0x19 ] = KEY_4,
965 [ 0x1a ] = KEY_5,
966 [ 0x1b ] = KEY_6,
967 [ 0x1c ] = KEY_7,
968 [ 0x1d ] = KEY_8,
969 [ 0x1e ] = KEY_9,
970 [ 0x1f ] = KEY_0,
971
972 [ 0x20 ] = KEY_LANGUAGE,
973 [ 0x21 ] = KEY_SLEEP,
974};
975
976EXPORT_SYMBOL_GPL(ir_codes_videomate_tv_pvr);
977
978/* Michael Tokarev <mjt@tls.msk.ru>
979 http://www.corpit.ru/mjt/beholdTV/remote_control.jpg
980 keytable is used by MANLI MTV00[ 0x0c ] and BeholdTV 40[13] at
981 least, and probably other cards too.
982 The "ascii-art picture" below (in comments, first row
983 is the keycode in hex, and subsequent row(s) shows
984 the button labels (several variants when appropriate)
985 helps to descide which keycodes to assign to the buttons.
986 */
987IR_KEYTAB_TYPE ir_codes_manli[IR_KEYTAB_SIZE] = {
988
989 /* 0x1c 0x12 *
990 * FUNCTION POWER *
991 * FM (|) *
992 * */
993 [ 0x1c ] = KEY_RADIO, /*XXX*/
994 [ 0x12 ] = KEY_POWER,
995
996 /* 0x01 0x02 0x03 *
997 * 1 2 3 *
998 * *
999 * 0x04 0x05 0x06 *
1000 * 4 5 6 *
1001 * *
1002 * 0x07 0x08 0x09 *
1003 * 7 8 9 *
1004 * */
1005 [ 0x01 ] = KEY_1,
1006 [ 0x02 ] = KEY_2,
1007 [ 0x03 ] = KEY_3,
1008 [ 0x04 ] = KEY_4,
1009 [ 0x05 ] = KEY_5,
1010 [ 0x06 ] = KEY_6,
1011 [ 0x07 ] = KEY_7,
1012 [ 0x08 ] = KEY_8,
1013 [ 0x09 ] = KEY_9,
1014
1015 /* 0x0a 0x00 0x17 *
1016 * RECALL 0 +100 *
1017 * PLUS *
1018 * */
1019 [ 0x0a ] = KEY_AGAIN, /*XXX KEY_REWIND? */
1020 [ 0x00 ] = KEY_0,
1021 [ 0x17 ] = KEY_DIGITS, /*XXX*/
1022
1023 /* 0x14 0x10 *
1024 * MENU INFO *
1025 * OSD */
1026 [ 0x14 ] = KEY_MENU,
1027 [ 0x10 ] = KEY_INFO,
1028
1029 /* 0x0b *
1030 * Up *
1031 * *
1032 * 0x18 0x16 0x0c *
1033 * Left Ok Right *
1034 * *
1035 * 0x015 *
1036 * Down *
1037 * */
1038 [ 0x0b ] = KEY_UP, /*XXX KEY_SCROLLUP? */
1039 [ 0x18 ] = KEY_LEFT, /*XXX KEY_BACK? */
1040 [ 0x16 ] = KEY_OK, /*XXX KEY_SELECT? KEY_ENTER? */
1041 [ 0x0c ] = KEY_RIGHT, /*XXX KEY_FORWARD? */
1042 [ 0x15 ] = KEY_DOWN, /*XXX KEY_SCROLLDOWN? */
1043
1044 /* 0x11 0x0d *
1045 * TV/AV MODE *
1046 * SOURCE STEREO *
1047 * */
1048 [ 0x11 ] = KEY_TV, /*XXX*/
1049 [ 0x0d ] = KEY_MODE, /*XXX there's no KEY_STEREO */
1050
1051 /* 0x0f 0x1b 0x1a *
1052 * AUDIO Vol+ Chan+ *
1053 * TIMESHIFT??? *
1054 * *
1055 * 0x0e 0x1f 0x1e *
1056 * SLEEP Vol- Chan- *
1057 * */
1058 [ 0x0f ] = KEY_AUDIO,
1059 [ 0x1b ] = KEY_VOLUMEUP,
1060 [ 0x1a ] = KEY_CHANNELUP,
1061 [ 0x0e ] = KEY_SLEEP, /*XXX maybe KEY_PAUSE */
1062 [ 0x1f ] = KEY_VOLUMEDOWN,
1063 [ 0x1e ] = KEY_CHANNELDOWN,
1064
1065 /* 0x13 0x19 *
1066 * MUTE SNAPSHOT*
1067 * */
1068 [ 0x13 ] = KEY_MUTE,
1069 [ 0x19 ] = KEY_RECORD, /*XXX*/
1070
1071 // 0x1d unused ?
1072};
1073
1074EXPORT_SYMBOL_GPL(ir_codes_manli);
1075
1076/* Mike Baikov <mike@baikov.com> */
1077IR_KEYTAB_TYPE ir_codes_gotview7135[IR_KEYTAB_SIZE] = {
1078
1079 [ 0x21 ] = KEY_POWER,
1080 [ 0x69 ] = KEY_TV,
1081 [ 0x33 ] = KEY_0,
1082 [ 0x51 ] = KEY_1,
1083 [ 0x31 ] = KEY_2,
1084 [ 0x71 ] = KEY_3,
1085 [ 0x3b ] = KEY_4,
1086 [ 0x58 ] = KEY_5,
1087 [ 0x41 ] = KEY_6,
1088 [ 0x48 ] = KEY_7,
1089 [ 0x30 ] = KEY_8,
1090 [ 0x53 ] = KEY_9,
1091 [ 0x73 ] = KEY_AGAIN, /* LOOP */
1092 [ 0x0a ] = KEY_AUDIO,
1093 [ 0x61 ] = KEY_PRINT, /* PREVIEW */
1094 [ 0x7a ] = KEY_VIDEO,
1095 [ 0x20 ] = KEY_CHANNELUP,
1096 [ 0x40 ] = KEY_CHANNELDOWN,
1097 [ 0x18 ] = KEY_VOLUMEDOWN,
1098 [ 0x50 ] = KEY_VOLUMEUP,
1099 [ 0x10 ] = KEY_MUTE,
1100 [ 0x4a ] = KEY_SEARCH,
1101 [ 0x7b ] = KEY_SHUFFLE, /* SNAPSHOT */
1102 [ 0x22 ] = KEY_RECORD,
1103 [ 0x62 ] = KEY_STOP,
1104 [ 0x78 ] = KEY_PLAY,
1105 [ 0x39 ] = KEY_REWIND,
1106 [ 0x59 ] = KEY_PAUSE,
1107 [ 0x19 ] = KEY_FORWARD,
1108 [ 0x09 ] = KEY_ZOOM,
1109
1110 [ 0x52 ] = KEY_F21, /* LIVE TIMESHIFT */
1111 [ 0x1a ] = KEY_F22, /* MIN TIMESHIFT */
1112 [ 0x3a ] = KEY_F23, /* TIMESHIFT */
1113 [ 0x70 ] = KEY_F24, /* NORMAL TIMESHIFT */
1114};
1115
1116EXPORT_SYMBOL_GPL(ir_codes_gotview7135);
1117
1118IR_KEYTAB_TYPE ir_codes_purpletv[IR_KEYTAB_SIZE] = {
1119 [ 0x03 ] = KEY_POWER,
1120 [ 0x6f ] = KEY_MUTE,
1121 [ 0x10 ] = KEY_BACKSPACE, /* Recall */
1122
1123 [ 0x11 ] = KEY_0,
1124 [ 0x04 ] = KEY_1,
1125 [ 0x05 ] = KEY_2,
1126 [ 0x06 ] = KEY_3,
1127 [ 0x08 ] = KEY_4,
1128 [ 0x09 ] = KEY_5,
1129 [ 0x0a ] = KEY_6,
1130 [ 0x0c ] = KEY_7,
1131 [ 0x0d ] = KEY_8,
1132 [ 0x0e ] = KEY_9,
1133 [ 0x12 ] = KEY_DOT, /* 100+ */
1134
1135 [ 0x07 ] = KEY_VOLUMEUP,
1136 [ 0x0b ] = KEY_VOLUMEDOWN,
1137 [ 0x1a ] = KEY_KPPLUS,
1138 [ 0x18 ] = KEY_KPMINUS,
1139 [ 0x15 ] = KEY_UP,
1140 [ 0x1d ] = KEY_DOWN,
1141 [ 0x0f ] = KEY_CHANNELUP,
1142 [ 0x13 ] = KEY_CHANNELDOWN,
1143 [ 0x48 ] = KEY_ZOOM,
1144
1145 [ 0x1b ] = KEY_VIDEO, /* Video source */
1146 [ 0x49 ] = KEY_LANGUAGE, /* MTS Select */
1147 [ 0x19 ] = KEY_SEARCH, /* Auto Scan */
1148
1149 [ 0x4b ] = KEY_RECORD,
1150 [ 0x46 ] = KEY_PLAY,
1151 [ 0x45 ] = KEY_PAUSE, /* Pause */
1152 [ 0x44 ] = KEY_STOP,
1153 [ 0x40 ] = KEY_FORWARD, /* Forward ? */
1154 [ 0x42 ] = KEY_REWIND, /* Backward ? */
1155
1156};
1157
1158EXPORT_SYMBOL_GPL(ir_codes_purpletv);
1159
1160/* Mapping for the 28 key remote control as seen at
1161 http://www.sednacomputer.com/photo/cardbus-tv.jpg
1162 Pavel Mihaylov <bin@bash.info> */
1163IR_KEYTAB_TYPE ir_codes_pctv_sedna[IR_KEYTAB_SIZE] = {
1164 [ 0x00 ] = KEY_0,
1165 [ 0x01 ] = KEY_1,
1166 [ 0x02 ] = KEY_2,
1167 [ 0x03 ] = KEY_3,
1168 [ 0x04 ] = KEY_4,
1169 [ 0x05 ] = KEY_5,
1170 [ 0x06 ] = KEY_6,
1171 [ 0x07 ] = KEY_7,
1172 [ 0x08 ] = KEY_8,
1173 [ 0x09 ] = KEY_9,
1174
1175 [ 0x0a ] = KEY_AGAIN, /* Recall */
1176 [ 0x0b ] = KEY_CHANNELUP,
1177 [ 0x0c ] = KEY_VOLUMEUP,
1178 [ 0x0d ] = KEY_MODE, /* Stereo */
1179 [ 0x0e ] = KEY_STOP,
1180 [ 0x0f ] = KEY_PREVIOUSSONG,
1181 [ 0x10 ] = KEY_ZOOM,
1182 [ 0x11 ] = KEY_TUNER, /* Source */
1183 [ 0x12 ] = KEY_POWER,
1184 [ 0x13 ] = KEY_MUTE,
1185 [ 0x15 ] = KEY_CHANNELDOWN,
1186 [ 0x18 ] = KEY_VOLUMEDOWN,
1187 [ 0x19 ] = KEY_SHUFFLE, /* Snapshot */
1188 [ 0x1a ] = KEY_NEXTSONG,
1189 [ 0x1b ] = KEY_TEXT, /* Time Shift */
1190 [ 0x1c ] = KEY_RADIO, /* FM Radio */
1191 [ 0x1d ] = KEY_RECORD,
1192 [ 0x1e ] = KEY_PAUSE,
1193};
1194
1195EXPORT_SYMBOL_GPL(ir_codes_pctv_sedna);
1196
1197/* Mark Phalan <phalanm@o2.ie> */
1198IR_KEYTAB_TYPE ir_codes_pv951[IR_KEYTAB_SIZE] = {
1199 [ 0x00 ] = KEY_0,
1200 [ 0x01 ] = KEY_1,
1201 [ 0x02 ] = KEY_2,
1202 [ 0x03 ] = KEY_3,
1203 [ 0x04 ] = KEY_4,
1204 [ 0x05 ] = KEY_5,
1205 [ 0x06 ] = KEY_6,
1206 [ 0x07 ] = KEY_7,
1207 [ 0x08 ] = KEY_8,
1208 [ 0x09 ] = KEY_9,
1209
1210 [ 0x12 ] = KEY_POWER,
1211 [ 0x10 ] = KEY_MUTE,
1212 [ 0x1f ] = KEY_VOLUMEDOWN,
1213 [ 0x1b ] = KEY_VOLUMEUP,
1214 [ 0x1a ] = KEY_CHANNELUP,
1215 [ 0x1e ] = KEY_CHANNELDOWN,
1216 [ 0x0e ] = KEY_PAGEUP,
1217 [ 0x1d ] = KEY_PAGEDOWN,
1218 [ 0x13 ] = KEY_SOUND,
1219
1220 [ 0x18 ] = KEY_KPPLUSMINUS, /* CH +/- */
1221 [ 0x16 ] = KEY_SUBTITLE, /* CC */
1222 [ 0x0d ] = KEY_TEXT, /* TTX */
1223 [ 0x0b ] = KEY_TV, /* AIR/CBL */
1224 [ 0x11 ] = KEY_PC, /* PC/TV */
1225 [ 0x17 ] = KEY_OK, /* CH RTN */
1226 [ 0x19 ] = KEY_MODE, /* FUNC */
1227 [ 0x0c ] = KEY_SEARCH, /* AUTOSCAN */
1228
1229 /* Not sure what to do with these ones! */
1230 [ 0x0f ] = KEY_SELECT, /* SOURCE */
1231 [ 0x0a ] = KEY_KPPLUS, /* +100 */
1232 [ 0x14 ] = KEY_EQUAL, /* SYNC */
1233 [ 0x1c ] = KEY_MEDIA, /* PC/TV */
1234};
1235
1236EXPORT_SYMBOL_GPL(ir_codes_pv951);
1237
1238/* generic RC5 keytable */
1239/* see http://users.pandora.be/nenya/electronics/rc5/codes00.htm */
1240/* used by old (black) Hauppauge remotes */
1241IR_KEYTAB_TYPE ir_codes_rc5_tv[IR_KEYTAB_SIZE] = {
1242 /* Keys 0 to 9 */
1243 [ 0x00 ] = KEY_0,
1244 [ 0x01 ] = KEY_1,
1245 [ 0x02 ] = KEY_2,
1246 [ 0x03 ] = KEY_3,
1247 [ 0x04 ] = KEY_4,
1248 [ 0x05 ] = KEY_5,
1249 [ 0x06 ] = KEY_6,
1250 [ 0x07 ] = KEY_7,
1251 [ 0x08 ] = KEY_8,
1252 [ 0x09 ] = KEY_9,
1253
1254 [ 0x0b ] = KEY_CHANNEL, /* channel / program (japan: 11) */
1255 [ 0x0c ] = KEY_POWER, /* standby */
1256 [ 0x0d ] = KEY_MUTE, /* mute / demute */
1257 [ 0x0f ] = KEY_TV, /* display */
1258 [ 0x10 ] = KEY_VOLUMEUP,
1259 [ 0x11 ] = KEY_VOLUMEDOWN,
1260 [ 0x12 ] = KEY_BRIGHTNESSUP,
1261 [ 0x13 ] = KEY_BRIGHTNESSDOWN,
1262 [ 0x1e ] = KEY_SEARCH, /* search + */
1263 [ 0x20 ] = KEY_CHANNELUP, /* channel / program + */
1264 [ 0x21 ] = KEY_CHANNELDOWN, /* channel / program - */
1265 [ 0x22 ] = KEY_CHANNEL, /* alt / channel */
1266 [ 0x23 ] = KEY_LANGUAGE, /* 1st / 2nd language */
1267 [ 0x26 ] = KEY_SLEEP, /* sleeptimer */
1268 [ 0x2e ] = KEY_MENU, /* 2nd controls (USA: menu) */
1269 [ 0x30 ] = KEY_PAUSE,
1270 [ 0x32 ] = KEY_REWIND,
1271 [ 0x33 ] = KEY_GOTO,
1272 [ 0x35 ] = KEY_PLAY,
1273 [ 0x36 ] = KEY_STOP,
1274 [ 0x37 ] = KEY_RECORD, /* recording */
1275 [ 0x3c ] = KEY_TEXT, /* teletext submode (Japan: 12) */
1276 [ 0x3d ] = KEY_SUSPEND, /* system standby */
1277
1278};
1279
1280EXPORT_SYMBOL_GPL(ir_codes_rc5_tv);
1281
1282/* Table for Leadtek Winfast Remote Controls - used by both bttv and cx88 */
1283IR_KEYTAB_TYPE ir_codes_winfast[IR_KEYTAB_SIZE] = {
1284 /* Keys 0 to 9 */
1285 [ 0x12 ] = KEY_0,
1286 [ 0x05 ] = KEY_1,
1287 [ 0x06 ] = KEY_2,
1288 [ 0x07 ] = KEY_3,
1289 [ 0x09 ] = KEY_4,
1290 [ 0x0a ] = KEY_5,
1291 [ 0x0b ] = KEY_6,
1292 [ 0x0d ] = KEY_7,
1293 [ 0x0e ] = KEY_8,
1294 [ 0x0f ] = KEY_9,
1295
1296 [ 0x00 ] = KEY_POWER,
Malcolm Valentine2de873e2006-05-29 13:56:24 -03001297 [ 0x1b ] = KEY_AUDIO, /* Audio Source */
1298 [ 0x02 ] = KEY_TUNER, /* TV/FM, not on Y0400052 */
1299 [ 0x1e ] = KEY_VIDEO, /* Video Source */
1300 [ 0x16 ] = KEY_INFO, /* Display information */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001301 [ 0x04 ] = KEY_VOLUMEUP,
1302 [ 0x08 ] = KEY_VOLUMEDOWN,
1303 [ 0x0c ] = KEY_CHANNELUP,
1304 [ 0x10 ] = KEY_CHANNELDOWN,
1305 [ 0x03 ] = KEY_ZOOM, /* fullscreen */
Malcolm Valentine2de873e2006-05-29 13:56:24 -03001306 [ 0x1f ] = KEY_TEXT, /* closed caption/teletext */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001307 [ 0x20 ] = KEY_SLEEP,
Malcolm Valentine2de873e2006-05-29 13:56:24 -03001308 [ 0x29 ] = KEY_CLEAR, /* boss key */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001309 [ 0x14 ] = KEY_MUTE,
1310 [ 0x2b ] = KEY_RED,
1311 [ 0x2c ] = KEY_GREEN,
1312 [ 0x2d ] = KEY_YELLOW,
1313 [ 0x2e ] = KEY_BLUE,
Malcolm Valentine2de873e2006-05-29 13:56:24 -03001314 [ 0x18 ] = KEY_KPPLUS, /* fine tune + , not on Y040052 */
1315 [ 0x19 ] = KEY_KPMINUS, /* fine tune - , not on Y040052 */
1316 [ 0x2a ] = KEY_MEDIA, /* PIP (Picture in picture */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001317 [ 0x21 ] = KEY_DOT,
1318 [ 0x13 ] = KEY_ENTER,
Malcolm Valentine2de873e2006-05-29 13:56:24 -03001319 [ 0x11 ] = KEY_LAST, /* Recall (last channel */
1320 [ 0x22 ] = KEY_PREVIOUS,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001321 [ 0x23 ] = KEY_PLAYPAUSE,
1322 [ 0x24 ] = KEY_NEXT,
Malcolm Valentine2de873e2006-05-29 13:56:24 -03001323 [ 0x25 ] = KEY_ARCHIVE, /* Time Shifting */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001324 [ 0x26 ] = KEY_STOP,
Malcolm Valentine2de873e2006-05-29 13:56:24 -03001325 [ 0x27 ] = KEY_RECORD,
1326 [ 0x28 ] = KEY_SAVE, /* Screenshot */
1327 [ 0x2f ] = KEY_MENU,
1328 [ 0x30 ] = KEY_CANCEL,
1329 [ 0x31 ] = KEY_CHANNEL, /* Channel Surf */
1330 [ 0x32 ] = KEY_SUBTITLE,
1331 [ 0x33 ] = KEY_LANGUAGE,
1332 [ 0x34 ] = KEY_REWIND,
1333 [ 0x35 ] = KEY_FASTFORWARD,
1334 [ 0x36 ] = KEY_TV,
1335 [ 0x37 ] = KEY_RADIO, /* FM */
1336 [ 0x38 ] = KEY_DVD
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001337};
1338
1339EXPORT_SYMBOL_GPL(ir_codes_winfast);
1340
Sylvain Pascheb93eedb2006-03-25 23:14:42 -03001341IR_KEYTAB_TYPE ir_codes_pinnacle_color[IR_KEYTAB_SIZE] = {
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001342 [ 0x59 ] = KEY_MUTE,
1343 [ 0x4a ] = KEY_POWER,
1344
1345 [ 0x18 ] = KEY_TEXT,
1346 [ 0x26 ] = KEY_TV,
1347 [ 0x3d ] = KEY_PRINT,
1348
1349 [ 0x48 ] = KEY_RED,
1350 [ 0x04 ] = KEY_GREEN,
1351 [ 0x11 ] = KEY_YELLOW,
1352 [ 0x00 ] = KEY_BLUE,
1353
1354 [ 0x2d ] = KEY_VOLUMEUP,
1355 [ 0x1e ] = KEY_VOLUMEDOWN,
1356
1357 [ 0x49 ] = KEY_MENU,
1358
1359 [ 0x16 ] = KEY_CHANNELUP,
1360 [ 0x17 ] = KEY_CHANNELDOWN,
1361
1362 [ 0x20 ] = KEY_UP,
1363 [ 0x21 ] = KEY_DOWN,
1364 [ 0x22 ] = KEY_LEFT,
1365 [ 0x23 ] = KEY_RIGHT,
1366 [ 0x0d ] = KEY_SELECT,
1367
1368
1369
1370 [ 0x08 ] = KEY_BACK,
1371 [ 0x07 ] = KEY_REFRESH,
1372
1373 [ 0x2f ] = KEY_ZOOM,
1374 [ 0x29 ] = KEY_RECORD,
1375
1376 [ 0x4b ] = KEY_PAUSE,
1377 [ 0x4d ] = KEY_REWIND,
1378 [ 0x2e ] = KEY_PLAY,
1379 [ 0x4e ] = KEY_FORWARD,
1380 [ 0x53 ] = KEY_PREVIOUS,
1381 [ 0x4c ] = KEY_STOP,
1382 [ 0x54 ] = KEY_NEXT,
1383
1384 [ 0x69 ] = KEY_0,
1385 [ 0x6a ] = KEY_1,
1386 [ 0x6b ] = KEY_2,
1387 [ 0x6c ] = KEY_3,
1388 [ 0x6d ] = KEY_4,
1389 [ 0x6e ] = KEY_5,
1390 [ 0x6f ] = KEY_6,
1391 [ 0x70 ] = KEY_7,
1392 [ 0x71 ] = KEY_8,
1393 [ 0x72 ] = KEY_9,
1394
1395 [ 0x74 ] = KEY_CHANNEL,
1396 [ 0x0a ] = KEY_BACKSPACE,
1397};
1398
Sylvain Pascheb93eedb2006-03-25 23:14:42 -03001399EXPORT_SYMBOL_GPL(ir_codes_pinnacle_color);
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001400
1401/* Hauppauge: the newer, gray remotes (seems there are multiple
1402 * slightly different versions), shipped with cx88+ivtv cards.
1403 * almost rc5 coding, but some non-standard keys */
1404IR_KEYTAB_TYPE ir_codes_hauppauge_new[IR_KEYTAB_SIZE] = {
1405 /* Keys 0 to 9 */
1406 [ 0x00 ] = KEY_0,
1407 [ 0x01 ] = KEY_1,
1408 [ 0x02 ] = KEY_2,
1409 [ 0x03 ] = KEY_3,
1410 [ 0x04 ] = KEY_4,
1411 [ 0x05 ] = KEY_5,
1412 [ 0x06 ] = KEY_6,
1413 [ 0x07 ] = KEY_7,
1414 [ 0x08 ] = KEY_8,
1415 [ 0x09 ] = KEY_9,
1416
1417 [ 0x0a ] = KEY_TEXT, /* keypad asterisk as well */
1418 [ 0x0b ] = KEY_RED, /* red button */
1419 [ 0x0c ] = KEY_RADIO,
1420 [ 0x0d ] = KEY_MENU,
1421 [ 0x0e ] = KEY_SUBTITLE, /* also the # key */
1422 [ 0x0f ] = KEY_MUTE,
1423 [ 0x10 ] = KEY_VOLUMEUP,
1424 [ 0x11 ] = KEY_VOLUMEDOWN,
1425 [ 0x12 ] = KEY_PREVIOUS, /* previous channel */
1426 [ 0x14 ] = KEY_UP,
1427 [ 0x15 ] = KEY_DOWN,
1428 [ 0x16 ] = KEY_LEFT,
1429 [ 0x17 ] = KEY_RIGHT,
1430 [ 0x18 ] = KEY_VIDEO, /* Videos */
1431 [ 0x19 ] = KEY_AUDIO, /* Music */
1432 /* 0x1a: Pictures - presume this means
1433 "Multimedia Home Platform" -
1434 no "PICTURES" key in input.h
1435 */
1436 [ 0x1a ] = KEY_MHP,
1437
1438 [ 0x1b ] = KEY_EPG, /* Guide */
1439 [ 0x1c ] = KEY_TV,
1440 [ 0x1e ] = KEY_NEXTSONG, /* skip >| */
1441 [ 0x1f ] = KEY_EXIT, /* back/exit */
1442 [ 0x20 ] = KEY_CHANNELUP, /* channel / program + */
1443 [ 0x21 ] = KEY_CHANNELDOWN, /* channel / program - */
1444 [ 0x22 ] = KEY_CHANNEL, /* source (old black remote) */
1445 [ 0x24 ] = KEY_PREVIOUSSONG, /* replay |< */
1446 [ 0x25 ] = KEY_ENTER, /* OK */
1447 [ 0x26 ] = KEY_SLEEP, /* minimize (old black remote) */
1448 [ 0x29 ] = KEY_BLUE, /* blue key */
1449 [ 0x2e ] = KEY_GREEN, /* green button */
1450 [ 0x30 ] = KEY_PAUSE, /* pause */
1451 [ 0x32 ] = KEY_REWIND, /* backward << */
1452 [ 0x34 ] = KEY_FASTFORWARD, /* forward >> */
1453 [ 0x35 ] = KEY_PLAY,
1454 [ 0x36 ] = KEY_STOP,
1455 [ 0x37 ] = KEY_RECORD, /* recording */
1456 [ 0x38 ] = KEY_YELLOW, /* yellow key */
1457 [ 0x3b ] = KEY_SELECT, /* top right button */
1458 [ 0x3c ] = KEY_ZOOM, /* full */
1459 [ 0x3d ] = KEY_POWER, /* system power (green button) */
1460};
1461
1462EXPORT_SYMBOL_GPL(ir_codes_hauppauge_new);
Ricardo Cerqueira680543c2006-05-22 07:44:02 -03001463
1464IR_KEYTAB_TYPE ir_codes_npgtech[IR_KEYTAB_SIZE] = {
1465 [ 0x1d ] = KEY_SWITCHVIDEOMODE, /* switch inputs */
1466 [ 0x2a ] = KEY_FRONT,
1467
1468 [ 0x3e ] = KEY_1,
1469 [ 0x02 ] = KEY_2,
1470 [ 0x06 ] = KEY_3,
1471 [ 0x0a ] = KEY_4,
1472 [ 0x0e ] = KEY_5,
1473 [ 0x12 ] = KEY_6,
1474 [ 0x16 ] = KEY_7,
1475 [ 0x1a ] = KEY_8,
1476 [ 0x1e ] = KEY_9,
1477 [ 0x3a ] = KEY_0,
1478 [ 0x22 ] = KEY_NUMLOCK, /* -/-- */
1479 [ 0x20 ] = KEY_REFRESH,
1480
1481 [ 0x03 ] = KEY_BRIGHTNESSDOWN,
1482 [ 0x28 ] = KEY_AUDIO,
1483 [ 0x3c ] = KEY_UP,
1484 [ 0x3f ] = KEY_LEFT,
1485 [ 0x2e ] = KEY_MUTE,
1486 [ 0x3b ] = KEY_RIGHT,
1487 [ 0x00 ] = KEY_DOWN,
1488 [ 0x07 ] = KEY_BRIGHTNESSUP,
1489 [ 0x2c ] = KEY_TEXT,
1490
1491 [ 0x37 ] = KEY_RECORD,
1492 [ 0x17 ] = KEY_PLAY,
1493 [ 0x13 ] = KEY_PAUSE,
1494 [ 0x26 ] = KEY_STOP,
1495 [ 0x18 ] = KEY_FASTFORWARD,
1496 [ 0x14 ] = KEY_REWIND,
1497 [ 0x33 ] = KEY_ZOOM,
1498 [ 0x32 ] = KEY_KEYBOARD,
1499 [ 0x30 ] = KEY_GOTO, /* Pointing arrow */
1500 [ 0x36 ] = KEY_MACRO, /* Maximize/Minimize (yellow) */
1501 [ 0x0b ] = KEY_RADIO,
1502 [ 0x10 ] = KEY_POWER,
1503
1504};
1505
1506EXPORT_SYMBOL_GPL(ir_codes_npgtech);
Peter Naullsd1009bd2006-08-08 09:10:05 -03001507
1508/* Norwood Micro (non-Pro) TV Tuner
1509 By Peter Naulls <peter@chocky.org>
1510 Key comments are the functions given in the manual */
1511IR_KEYTAB_TYPE ir_codes_norwood[IR_KEYTAB_SIZE] = {
1512 /* Keys 0 to 9 */
1513 [ 0x20 ] = KEY_0,
1514 [ 0x21 ] = KEY_1,
1515 [ 0x22 ] = KEY_2,
1516 [ 0x23 ] = KEY_3,
1517 [ 0x24 ] = KEY_4,
1518 [ 0x25 ] = KEY_5,
1519 [ 0x26 ] = KEY_6,
1520 [ 0x27 ] = KEY_7,
1521 [ 0x28 ] = KEY_8,
1522 [ 0x29 ] = KEY_9,
1523
1524 [ 0x78 ] = KEY_TUNER, /* Video Source */
1525 [ 0x2c ] = KEY_EXIT, /* Open/Close software */
1526 [ 0x2a ] = KEY_SELECT, /* 2 Digit Select */
1527 [ 0x69 ] = KEY_AGAIN, /* Recall */
1528
1529 [ 0x32 ] = KEY_BRIGHTNESSUP, /* Brightness increase */
1530 [ 0x33 ] = KEY_BRIGHTNESSDOWN, /* Brightness decrease */
1531 [ 0x6b ] = KEY_KPPLUS, /* (not named >>>>>) */
1532 [ 0x6c ] = KEY_KPMINUS, /* (not named <<<<<) */
1533
1534 [ 0x2d ] = KEY_MUTE, /* Mute */
1535 [ 0x30 ] = KEY_VOLUMEUP, /* Volume up */
1536 [ 0x31 ] = KEY_VOLUMEDOWN, /* Volume down */
1537 [ 0x60 ] = KEY_CHANNELUP, /* Channel up */
1538 [ 0x61 ] = KEY_CHANNELDOWN, /* Channel down */
1539
1540 [ 0x3f ] = KEY_RECORD, /* Record */
1541 [ 0x37 ] = KEY_PLAY, /* Play */
1542 [ 0x36 ] = KEY_PAUSE, /* Pause */
1543 [ 0x2b ] = KEY_STOP, /* Stop */
1544 [ 0x67 ] = KEY_FASTFORWARD, /* Foward */
1545 [ 0x66 ] = KEY_REWIND, /* Rewind */
1546 [ 0x3e ] = KEY_SEARCH, /* Auto Scan */
1547 [ 0x2e ] = KEY_CAMERA, /* Capture Video */
1548 [ 0x6d ] = KEY_MENU, /* Show/Hide Control */
1549 [ 0x2f ] = KEY_ZOOM, /* Full Screen */
1550 [ 0x34 ] = KEY_RADIO, /* FM */
1551 [ 0x65 ] = KEY_POWER, /* Computer power */
1552};
1553
1554EXPORT_SYMBOL_GPL(ir_codes_norwood);
David Hardeman2520fff2006-12-02 21:16:05 -02001555
1556/* From reading the following remotes:
1557 * Zenith Universal 7 / TV Mode 807 / VCR Mode 837
1558 * Hauppauge (from NOVA-CI-s box product)
1559 * This is a "middle of the road" approach, differences are noted
1560 */
1561IR_KEYTAB_TYPE ir_codes_budget_ci_old[IR_KEYTAB_SIZE] = {
1562 [ 0x00 ] = KEY_0,
1563 [ 0x01 ] = KEY_1,
1564 [ 0x02 ] = KEY_2,
1565 [ 0x03 ] = KEY_3,
1566 [ 0x04 ] = KEY_4,
1567 [ 0x05 ] = KEY_5,
1568 [ 0x06 ] = KEY_6,
1569 [ 0x07 ] = KEY_7,
1570 [ 0x08 ] = KEY_8,
1571 [ 0x09 ] = KEY_9,
1572 [ 0x0a ] = KEY_ENTER,
1573 [ 0x0b ] = KEY_RED,
1574 [ 0x0c ] = KEY_POWER, /* RADIO on Hauppauge */
1575 [ 0x0d ] = KEY_MUTE,
1576 [ 0x0f ] = KEY_A, /* TV on Hauppauge */
1577 [ 0x10 ] = KEY_VOLUMEUP,
1578 [ 0x11 ] = KEY_VOLUMEDOWN,
1579 [ 0x14 ] = KEY_B,
1580 [ 0x1c ] = KEY_UP,
1581 [ 0x1d ] = KEY_DOWN,
1582 [ 0x1e ] = KEY_OPTION, /* RESERVED on Hauppauge */
1583 [ 0x1f ] = KEY_BREAK,
1584 [ 0x20 ] = KEY_CHANNELUP,
1585 [ 0x21 ] = KEY_CHANNELDOWN,
1586 [ 0x22 ] = KEY_PREVIOUS, /* Prev. Ch on Zenith, SOURCE on Hauppauge */
1587 [ 0x24 ] = KEY_RESTART,
1588 [ 0x25 ] = KEY_OK,
1589 [ 0x26 ] = KEY_CYCLEWINDOWS, /* MINIMIZE on Hauppauge */
1590 [ 0x28 ] = KEY_ENTER, /* VCR mode on Zenith */
1591 [ 0x29 ] = KEY_PAUSE,
1592 [ 0x2b ] = KEY_RIGHT,
1593 [ 0x2c ] = KEY_LEFT,
1594 [ 0x2e ] = KEY_MENU, /* FULL SCREEN on Hauppauge */
1595 [ 0x30 ] = KEY_SLOW,
1596 [ 0x31 ] = KEY_PREVIOUS, /* VCR mode on Zenith */
1597 [ 0x32 ] = KEY_REWIND,
1598 [ 0x34 ] = KEY_FASTFORWARD,
1599 [ 0x35 ] = KEY_PLAY,
1600 [ 0x36 ] = KEY_STOP,
1601 [ 0x37 ] = KEY_RECORD,
1602 [ 0x38 ] = KEY_TUNER, /* TV/VCR on Zenith */
1603 [ 0x3a ] = KEY_C,
1604 [ 0x3c ] = KEY_EXIT,
1605 [ 0x3d ] = KEY_POWER2,
1606 [ 0x3e ] = KEY_TUNER,
1607};
1608
1609EXPORT_SYMBOL_GPL(ir_codes_budget_ci_old);