]> Git Repo - linux.git/blame - drivers/media/common/ir-keymaps.c
V4L/DVB (12559): Properly indent comments with tabs
[linux.git] / drivers / media / common / ir-keymaps.c
CommitLineData
4c0f631e
RC
1/*
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>
4c0f631e
RC
23
24#include <linux/input.h>
25#include <media/ir-common.h>
26
27/* empty keytable, can be used as placeholder for not-yet created keytables */
28IR_KEYTAB_TYPE ir_codes_empty[IR_KEYTAB_SIZE] = {
3b82bddb 29 [0x2a] = KEY_COFFEE,
4c0f631e
RC
30};
31
32EXPORT_SYMBOL_GPL(ir_codes_empty);
33
b04c1baf
MM
34/* Michal Majchrowicz <[email protected]> */
35IR_KEYTAB_TYPE ir_codes_proteus_2309[IR_KEYTAB_SIZE] = {
36 /* numeric */
3b82bddb
MCC
37 [0x00] = KEY_0,
38 [0x01] = KEY_1,
39 [0x02] = KEY_2,
40 [0x03] = KEY_3,
41 [0x04] = KEY_4,
42 [0x05] = KEY_5,
43 [0x06] = KEY_6,
44 [0x07] = KEY_7,
45 [0x08] = KEY_8,
46 [0x09] = KEY_9,
47
5d35364e
MCC
48 [0x5c] = KEY_POWER, /* power */
49 [0x20] = KEY_F, /* full screen */
50 [0x0f] = KEY_BACKSPACE, /* recall */
51 [0x1b] = KEY_ENTER, /* mute */
52 [0x41] = KEY_RECORD, /* record */
53 [0x43] = KEY_STOP, /* stop */
3b82bddb 54 [0x16] = KEY_S,
5d35364e 55 [0x1a] = KEY_Q, /* off */
3b82bddb 56 [0x2e] = KEY_RED,
5d35364e
MCC
57 [0x1f] = KEY_DOWN, /* channel - */
58 [0x1c] = KEY_UP, /* channel + */
59 [0x10] = KEY_LEFT, /* volume - */
60 [0x1e] = KEY_RIGHT, /* volume + */
3b82bddb 61 [0x14] = KEY_F1,
b04c1baf
MM
62};
63
64EXPORT_SYMBOL_GPL(ir_codes_proteus_2309);
4c0f631e
RC
65/* Matt Jesson <[email protected] */
66IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE] = {
5d35364e
MCC
67 [0x28] = KEY_0, /* '0' / 'enter' */
68 [0x22] = KEY_1, /* '1' */
69 [0x12] = KEY_2, /* '2' / 'up arrow' */
70 [0x32] = KEY_3, /* '3' */
71 [0x24] = KEY_4, /* '4' / 'left arrow' */
72 [0x14] = KEY_5, /* '5' */
73 [0x34] = KEY_6, /* '6' / 'right arrow' */
74 [0x26] = KEY_7, /* '7' */
75 [0x16] = KEY_8, /* '8' / 'down arrow' */
76 [0x36] = KEY_9, /* '9' */
77
78 [0x20] = KEY_LIST, /* 'source' */
79 [0x10] = KEY_TEXT, /* 'teletext' */
80 [0x00] = KEY_POWER, /* 'power' */
81 [0x04] = KEY_AUDIO, /* 'audio' */
82 [0x06] = KEY_ZOOM, /* 'full screen' */
83 [0x18] = KEY_VIDEO, /* 'display' */
84 [0x38] = KEY_SEARCH, /* 'loop' */
85 [0x08] = KEY_INFO, /* 'preview' */
86 [0x2a] = KEY_REWIND, /* 'backward <<' */
87 [0x1a] = KEY_FASTFORWARD, /* 'forward >>' */
88 [0x3a] = KEY_RECORD, /* 'capture' */
89 [0x0a] = KEY_MUTE, /* 'mute' */
90 [0x2c] = KEY_RECORD, /* 'record' */
91 [0x1c] = KEY_PAUSE, /* 'pause' */
92 [0x3c] = KEY_STOP, /* 'stop' */
93 [0x0c] = KEY_PLAY, /* 'play' */
94 [0x2e] = KEY_RED, /* 'red' */
95 [0x01] = KEY_BLUE, /* 'blue' / 'cancel' */
96 [0x0e] = KEY_YELLOW, /* 'yellow' / 'ok' */
97 [0x21] = KEY_GREEN, /* 'green' */
98 [0x11] = KEY_CHANNELDOWN, /* 'channel -' */
99 [0x31] = KEY_CHANNELUP, /* 'channel +' */
100 [0x1e] = KEY_VOLUMEDOWN, /* 'volume -' */
101 [0x3e] = KEY_VOLUMEUP, /* 'volume +' */
4c0f631e
RC
102};
103
104EXPORT_SYMBOL_GPL(ir_codes_avermedia_dvbt);
105
36f6bb97
MCC
106/* Mauro Carvalho Chehab <[email protected]> */
107IR_KEYTAB_TYPE ir_codes_avermedia_m135a[IR_KEYTAB_SIZE] = {
108 [0x00] = KEY_POWER2,
109 [0x2e] = KEY_DOT, /* '.' */
110 [0x01] = KEY_MODE, /* TV/FM */
111
112 [0x05] = KEY_1,
113 [0x06] = KEY_2,
114 [0x07] = KEY_3,
115 [0x09] = KEY_4,
116 [0x0a] = KEY_5,
117 [0x0b] = KEY_6,
118 [0x0d] = KEY_7,
119 [0x0e] = KEY_8,
120 [0x0f] = KEY_9,
121 [0x11] = KEY_0,
122
123 [0x13] = KEY_RIGHT, /* -> */
124 [0x12] = KEY_LEFT, /* <- */
125
126 [0x17] = KEY_SLEEP, /* Capturar Imagem */
127 [0x10] = KEY_SHUFFLE, /* Amostra */
128
129 /* FIXME: The keys bellow aren't ok */
130
131 [0x43] = KEY_CHANNELUP,
132 [0x42] = KEY_CHANNELDOWN,
133 [0x1f] = KEY_VOLUMEUP,
134 [0x1e] = KEY_VOLUMEDOWN,
135 [0x0c] = KEY_ENTER,
136
137 [0x14] = KEY_MUTE,
138 [0x08] = KEY_AUDIO,
139
140 [0x03] = KEY_TEXT,
141 [0x04] = KEY_EPG,
142 [0x2b] = KEY_TV2, /* TV2 */
143
144 [0x1d] = KEY_RED,
145 [0x1c] = KEY_YELLOW,
146 [0x41] = KEY_GREEN,
147 [0x40] = KEY_BLUE,
148
149 [0x1a] = KEY_PLAYPAUSE,
150 [0x19] = KEY_RECORD,
151 [0x18] = KEY_PLAY,
152 [0x1b] = KEY_STOP,
153};
154EXPORT_SYMBOL_GPL(ir_codes_avermedia_m135a);
155
cb3bf504
OJ
156/* Oldrich Jedlicka <[email protected]> */
157IR_KEYTAB_TYPE ir_codes_avermedia_cardbus[IR_KEYTAB_SIZE] = {
158 [0x00] = KEY_POWER,
159 [0x01] = KEY_TUNER, /* TV/FM */
160 [0x03] = KEY_TEXT, /* Teletext */
161 [0x04] = KEY_EPG,
162 [0x05] = KEY_1,
163 [0x06] = KEY_2,
164 [0x07] = KEY_3,
165 [0x08] = KEY_AUDIO,
166 [0x09] = KEY_4,
167 [0x0a] = KEY_5,
168 [0x0b] = KEY_6,
169 [0x0c] = KEY_ZOOM, /* Full screen */
170 [0x0d] = KEY_7,
171 [0x0e] = KEY_8,
172 [0x0f] = KEY_9,
173 [0x10] = KEY_PAGEUP, /* 16-CH PREV */
174 [0x11] = KEY_0,
175 [0x12] = KEY_INFO,
176 [0x13] = KEY_AGAIN, /* CH RTN - channel return */
177 [0x14] = KEY_MUTE,
178 [0x15] = KEY_EDIT, /* Autoscan */
179 [0x17] = KEY_SAVE, /* Screenshot */
180 [0x18] = KEY_PLAYPAUSE,
181 [0x19] = KEY_RECORD,
182 [0x1a] = KEY_PLAY,
183 [0x1b] = KEY_STOP,
184 [0x1c] = KEY_FASTFORWARD,
185 [0x1d] = KEY_REWIND,
186 [0x1e] = KEY_VOLUMEDOWN,
187 [0x1f] = KEY_VOLUMEUP,
188 [0x22] = KEY_SLEEP, /* Sleep */
189 [0x23] = KEY_ZOOM, /* Aspect */
190 [0x26] = KEY_SCREEN, /* Pos */
191 [0x27] = KEY_ANGLE, /* Size */
192 [0x28] = KEY_SELECT, /* Select */
193 [0x29] = KEY_BLUE, /* Blue/Picture */
5d35364e 194 [0x2a] = KEY_BACKSPACE, /* Back */
cb3bf504
OJ
195 [0x2b] = KEY_MEDIA, /* PIP (Picture-in-picture) */
196 [0x2c] = KEY_DOWN,
197 [0x2e] = KEY_DOT,
198 [0x2f] = KEY_TV, /* Live TV */
199 [0x32] = KEY_LEFT,
200 [0x33] = KEY_CLEAR, /* Clear */
201 [0x35] = KEY_RED, /* Red/TV */
202 [0x36] = KEY_UP,
203 [0x37] = KEY_HOME, /* Home */
204 [0x39] = KEY_GREEN, /* Green/Video */
205 [0x3d] = KEY_YELLOW, /* Yellow/Music */
206 [0x3e] = KEY_OK, /* Ok */
207 [0x3f] = KEY_RIGHT,
208 [0x40] = KEY_NEXT, /* Next */
5d35364e 209 [0x41] = KEY_PREVIOUS, /* Previous */
cb3bf504 210 [0x42] = KEY_CHANNELDOWN, /* Channel down */
5d35364e 211 [0x43] = KEY_CHANNELUP, /* Channel up */
cb3bf504
OJ
212};
213EXPORT_SYMBOL_GPL(ir_codes_avermedia_cardbus);
214
4c0f631e
RC
215/* Attila Kondoros <[email protected]> */
216IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE] = {
217
3b82bddb
MCC
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 [0x00] = KEY_0,
5d35364e
MCC
228 [0x17] = KEY_LAST, /* +100 */
229 [0x0a] = KEY_LIST, /* recall */
230
231
232 [0x1c] = KEY_TUNER, /* TV/FM */
233 [0x15] = KEY_SEARCH, /* scan */
234 [0x12] = KEY_POWER, /* power */
235 [0x1f] = KEY_VOLUMEDOWN, /* vol up */
236 [0x1b] = KEY_VOLUMEUP, /* vol down */
237 [0x1e] = KEY_CHANNELDOWN, /* chn up */
238 [0x1a] = KEY_CHANNELUP, /* chn down */
239
240 [0x11] = KEY_VIDEO, /* video */
241 [0x0f] = KEY_ZOOM, /* full screen */
242 [0x13] = KEY_MUTE, /* mute/unmute */
243 [0x10] = KEY_TEXT, /* min */
244
245 [0x0d] = KEY_STOP, /* freeze */
246 [0x0e] = KEY_RECORD, /* record */
247 [0x1d] = KEY_PLAYPAUSE, /* stop */
248 [0x19] = KEY_PLAY, /* play */
249
250 [0x16] = KEY_GOTO, /* osd */
251 [0x14] = KEY_REFRESH, /* default */
252 [0x0c] = KEY_KPPLUS, /* fine tune >>>> */
253 [0x18] = KEY_KPMINUS, /* fine tune <<<< */
4c0f631e
RC
254};
255
256EXPORT_SYMBOL_GPL(ir_codes_apac_viewcomp);
257
258/* ---------------------------------------------------------------------- */
259
b639f9d2 260IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE] = {
4c0f631e 261
5d35364e
MCC
262 [0x1e] = KEY_POWER, /* power */
263 [0x07] = KEY_MEDIA, /* source */
264 [0x1c] = KEY_SEARCH, /* scan */
3b82bddb
MCC
265
266
5d35364e 267 [0x03] = KEY_TUNER, /* TV/FM */
3b82bddb
MCC
268
269 [0x00] = KEY_RECORD,
270 [0x08] = KEY_STOP,
271 [0x11] = KEY_PLAY,
272
5d35364e
MCC
273 [0x1a] = KEY_PLAYPAUSE, /* freeze */
274 [0x19] = KEY_ZOOM, /* zoom */
275 [0x0f] = KEY_TEXT, /* min */
3b82bddb
MCC
276
277 [0x01] = KEY_1,
278 [0x0b] = KEY_2,
279 [0x1b] = KEY_3,
280 [0x05] = KEY_4,
281 [0x09] = KEY_5,
282 [0x15] = KEY_6,
283 [0x06] = KEY_7,
284 [0x0a] = KEY_8,
285 [0x12] = KEY_9,
286 [0x02] = KEY_0,
5d35364e
MCC
287 [0x10] = KEY_LAST, /* +100 */
288 [0x13] = KEY_LIST, /* recall */
3b82bddb 289
5d35364e
MCC
290 [0x1f] = KEY_CHANNELUP, /* chn down */
291 [0x17] = KEY_CHANNELDOWN, /* chn up */
292 [0x16] = KEY_VOLUMEUP, /* vol down */
293 [0x14] = KEY_VOLUMEDOWN, /* vol up */
3b82bddb 294
5d35364e
MCC
295 [0x04] = KEY_KPMINUS, /* <<< */
296 [0x0e] = KEY_SETUP, /* function */
297 [0x0c] = KEY_KPPLUS, /* >>> */
3b82bddb 298
5d35364e
MCC
299 [0x0d] = KEY_GOTO, /* mts */
300 [0x1d] = KEY_REFRESH, /* reset */
301 [0x18] = KEY_MUTE, /* mute/unmute */
4c0f631e
RC
302};
303
b639f9d2 304EXPORT_SYMBOL_GPL(ir_codes_pixelview);
4c0f631e 305
7f0dd179
MCC
306/*
307 Mauro Carvalho Chehab <[email protected]>
308 present on PV MPEG 8000GT
309 */
310IR_KEYTAB_TYPE ir_codes_pixelview_new[IR_KEYTAB_SIZE] = {
311 [0x3c] = KEY_PAUSE, /* Timeshift */
312 [0x12] = KEY_POWER,
313
314 [0x3d] = KEY_1,
315 [0x38] = KEY_2,
316 [0x18] = KEY_3,
317 [0x35] = KEY_4,
318 [0x39] = KEY_5,
319 [0x15] = KEY_6,
320 [0x36] = KEY_7,
321 [0x3a] = KEY_8,
322 [0x1e] = KEY_9,
323 [0x3e] = KEY_0,
324
325 [0x1c] = KEY_AGAIN, /* LOOP */
326 [0x3f] = KEY_MEDIA, /* Source */
327 [0x1f] = KEY_LAST, /* +100 */
328 [0x1b] = KEY_MUTE,
329
330 [0x17] = KEY_CHANNELDOWN,
331 [0x16] = KEY_CHANNELUP,
332 [0x10] = KEY_VOLUMEUP,
333 [0x14] = KEY_VOLUMEDOWN,
334 [0x13] = KEY_ZOOM,
335
336 [0x19] = KEY_SHUFFLE, /* SNAPSHOT */
337 [0x1a] = KEY_SEARCH, /* scan */
338
339 [0x37] = KEY_REWIND, /* << */
340 [0x32] = KEY_RECORD, /* o (red) */
341 [0x33] = KEY_FORWARD, /* >> */
342 [0x11] = KEY_STOP, /* square */
343 [0x3b] = KEY_PLAY, /* > */
344 [0x30] = KEY_PLAYPAUSE, /* || */
345
346 [0x31] = KEY_TV,
347 [0x34] = KEY_RADIO,
348};
349EXPORT_SYMBOL_GPL(ir_codes_pixelview_new);
350
4c0f631e 351IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE] = {
3b82bddb
MCC
352 [0x00] = KEY_0,
353 [0x01] = KEY_1,
354 [0x02] = KEY_2,
355 [0x03] = KEY_3,
356 [0x04] = KEY_4,
357 [0x05] = KEY_5,
358 [0x06] = KEY_6,
359 [0x07] = KEY_7,
360 [0x08] = KEY_8,
361 [0x09] = KEY_9,
362 [0x0a] = KEY_TV,
363 [0x0b] = KEY_AUX,
364 [0x0c] = KEY_DVD,
365 [0x0d] = KEY_POWER,
366 [0x0e] = KEY_MHP, /* labelled 'Picture' */
367 [0x0f] = KEY_AUDIO,
368 [0x10] = KEY_INFO,
369 [0x11] = KEY_F13, /* 16:9 */
370 [0x12] = KEY_F14, /* 14:9 */
371 [0x13] = KEY_EPG,
372 [0x14] = KEY_EXIT,
373 [0x15] = KEY_MENU,
374 [0x16] = KEY_UP,
375 [0x17] = KEY_DOWN,
376 [0x18] = KEY_LEFT,
377 [0x19] = KEY_RIGHT,
378 [0x1a] = KEY_ENTER,
379 [0x1b] = KEY_CHANNELUP,
380 [0x1c] = KEY_CHANNELDOWN,
381 [0x1d] = KEY_VOLUMEUP,
382 [0x1e] = KEY_VOLUMEDOWN,
383 [0x1f] = KEY_RED,
384 [0x20] = KEY_GREEN,
385 [0x21] = KEY_YELLOW,
386 [0x22] = KEY_BLUE,
387 [0x23] = KEY_SUBTITLE,
388 [0x24] = KEY_F15, /* AD */
389 [0x25] = KEY_TEXT,
390 [0x26] = KEY_MUTE,
391 [0x27] = KEY_REWIND,
392 [0x28] = KEY_STOP,
393 [0x29] = KEY_PLAY,
394 [0x2a] = KEY_FASTFORWARD,
395 [0x2b] = KEY_F16, /* chapter */
396 [0x2c] = KEY_PAUSE,
397 [0x2d] = KEY_PLAY,
398 [0x2e] = KEY_RECORD,
399 [0x2f] = KEY_F17, /* picture in picture */
400 [0x30] = KEY_KPPLUS, /* zoom in */
401 [0x31] = KEY_KPMINUS, /* zoom out */
402 [0x32] = KEY_F18, /* capture */
403 [0x33] = KEY_F19, /* web */
404 [0x34] = KEY_EMAIL,
405 [0x35] = KEY_PHONE,
5d35364e 406 [0x36] = KEY_PC,
4c0f631e
RC
407};
408
409EXPORT_SYMBOL_GPL(ir_codes_nebula);
410
411/* DigitalNow DNTV Live DVB-T Remote */
412IR_KEYTAB_TYPE ir_codes_dntv_live_dvb_t[IR_KEYTAB_SIZE] = {
3b82bddb 413 [0x00] = KEY_ESC, /* 'go up a level?' */
4c0f631e 414 /* Keys 0 to 9 */
3b82bddb
MCC
415 [0x0a] = KEY_0,
416 [0x01] = KEY_1,
417 [0x02] = KEY_2,
418 [0x03] = KEY_3,
419 [0x04] = KEY_4,
420 [0x05] = KEY_5,
421 [0x06] = KEY_6,
422 [0x07] = KEY_7,
423 [0x08] = KEY_8,
424 [0x09] = KEY_9,
425
426 [0x0b] = KEY_TUNER, /* tv/fm */
427 [0x0c] = KEY_SEARCH, /* scan */
428 [0x0d] = KEY_STOP,
429 [0x0e] = KEY_PAUSE,
430 [0x0f] = KEY_LIST, /* source */
431
432 [0x10] = KEY_MUTE,
433 [0x11] = KEY_REWIND, /* backward << */
434 [0x12] = KEY_POWER,
435 [0x13] = KEY_S, /* snap */
436 [0x14] = KEY_AUDIO, /* stereo */
437 [0x15] = KEY_CLEAR, /* reset */
438 [0x16] = KEY_PLAY,
439 [0x17] = KEY_ENTER,
440 [0x18] = KEY_ZOOM, /* full screen */
441 [0x19] = KEY_FASTFORWARD, /* forward >> */
442 [0x1a] = KEY_CHANNELUP,
443 [0x1b] = KEY_VOLUMEUP,
444 [0x1c] = KEY_INFO, /* preview */
445 [0x1d] = KEY_RECORD, /* record */
446 [0x1e] = KEY_CHANNELDOWN,
447 [0x1f] = KEY_VOLUMEDOWN,
4c0f631e
RC
448};
449
450EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvb_t);
451
452/* ---------------------------------------------------------------------- */
453
454/* IO-DATA BCTV7E Remote */
455IR_KEYTAB_TYPE ir_codes_iodata_bctv7e[IR_KEYTAB_SIZE] = {
3b82bddb
MCC
456 [0x40] = KEY_TV,
457 [0x20] = KEY_RADIO, /* FM */
458 [0x60] = KEY_EPG,
459 [0x00] = KEY_POWER,
4c0f631e
RC
460
461 /* Keys 0 to 9 */
5d35364e 462 [0x44] = KEY_0, /* 10 */
3b82bddb
MCC
463 [0x50] = KEY_1,
464 [0x30] = KEY_2,
465 [0x70] = KEY_3,
466 [0x48] = KEY_4,
467 [0x28] = KEY_5,
468 [0x68] = KEY_6,
469 [0x58] = KEY_7,
470 [0x38] = KEY_8,
471 [0x78] = KEY_9,
472
473 [0x10] = KEY_L, /* Live */
474 [0x08] = KEY_T, /* Time Shift */
475
476 [0x18] = KEY_PLAYPAUSE, /* Play */
477
478 [0x24] = KEY_ENTER, /* 11 */
479 [0x64] = KEY_ESC, /* 12 */
480 [0x04] = KEY_M, /* Multi */
481
482 [0x54] = KEY_VIDEO,
483 [0x34] = KEY_CHANNELUP,
484 [0x74] = KEY_VOLUMEUP,
485 [0x14] = KEY_MUTE,
486
487 [0x4c] = KEY_S, /* SVIDEO */
488 [0x2c] = KEY_CHANNELDOWN,
489 [0x6c] = KEY_VOLUMEDOWN,
490 [0x0c] = KEY_ZOOM,
491
492 [0x5c] = KEY_PAUSE,
493 [0x3c] = KEY_C, /* || (red) */
494 [0x7c] = KEY_RECORD, /* recording */
495 [0x1c] = KEY_STOP,
496
497 [0x41] = KEY_REWIND, /* backward << */
498 [0x21] = KEY_PLAY,
499 [0x61] = KEY_FASTFORWARD, /* forward >> */
500 [0x01] = KEY_NEXT, /* skip >| */
4c0f631e
RC
501};
502
503EXPORT_SYMBOL_GPL(ir_codes_iodata_bctv7e);
504
505/* ---------------------------------------------------------------------- */
506
507/* ADS Tech Instant TV DVB-T PCI Remote */
508IR_KEYTAB_TYPE ir_codes_adstech_dvb_t_pci[IR_KEYTAB_SIZE] = {
509 /* Keys 0 to 9 */
3b82bddb
MCC
510 [0x4d] = KEY_0,
511 [0x57] = KEY_1,
512 [0x4f] = KEY_2,
513 [0x53] = KEY_3,
514 [0x56] = KEY_4,
515 [0x4e] = KEY_5,
516 [0x5e] = KEY_6,
517 [0x54] = KEY_7,
518 [0x4c] = KEY_8,
519 [0x5c] = KEY_9,
520
521 [0x5b] = KEY_POWER,
522 [0x5f] = KEY_MUTE,
523 [0x55] = KEY_GOTO,
524 [0x5d] = KEY_SEARCH,
525 [0x17] = KEY_EPG, /* Guide */
526 [0x1f] = KEY_MENU,
527 [0x0f] = KEY_UP,
528 [0x46] = KEY_DOWN,
529 [0x16] = KEY_LEFT,
530 [0x1e] = KEY_RIGHT,
531 [0x0e] = KEY_SELECT, /* Enter */
532 [0x5a] = KEY_INFO,
533 [0x52] = KEY_EXIT,
534 [0x59] = KEY_PREVIOUS,
535 [0x51] = KEY_NEXT,
536 [0x58] = KEY_REWIND,
537 [0x50] = KEY_FORWARD,
538 [0x44] = KEY_PLAYPAUSE,
539 [0x07] = KEY_STOP,
540 [0x1b] = KEY_RECORD,
541 [0x13] = KEY_TUNER, /* Live */
542 [0x0a] = KEY_A,
543 [0x12] = KEY_B,
544 [0x03] = KEY_PROG1, /* 1 */
545 [0x01] = KEY_PROG2, /* 2 */
546 [0x00] = KEY_PROG3, /* 3 */
547 [0x06] = KEY_DVD,
548 [0x48] = KEY_AUX, /* Photo */
549 [0x40] = KEY_VIDEO,
550 [0x19] = KEY_AUDIO, /* Music */
551 [0x0b] = KEY_CHANNELUP,
552 [0x08] = KEY_CHANNELDOWN,
553 [0x15] = KEY_VOLUMEUP,
554 [0x1c] = KEY_VOLUMEDOWN,
4c0f631e
RC
555};
556
557EXPORT_SYMBOL_GPL(ir_codes_adstech_dvb_t_pci);
558
559/* ---------------------------------------------------------------------- */
560
ba340b40
BR
561/* MSI TV@nywhere MASTER remote */
562
4c0f631e
RC
563IR_KEYTAB_TYPE ir_codes_msi_tvanywhere[IR_KEYTAB_SIZE] = {
564 /* Keys 0 to 9 */
3b82bddb
MCC
565 [0x00] = KEY_0,
566 [0x01] = KEY_1,
567 [0x02] = KEY_2,
568 [0x03] = KEY_3,
569 [0x04] = KEY_4,
570 [0x05] = KEY_5,
571 [0x06] = KEY_6,
572 [0x07] = KEY_7,
573 [0x08] = KEY_8,
574 [0x09] = KEY_9,
575
576 [0x0c] = KEY_MUTE,
577 [0x0f] = KEY_SCREEN, /* Full Screen */
578 [0x10] = KEY_F, /* Funtion */
579 [0x11] = KEY_T, /* Time shift */
580 [0x12] = KEY_POWER,
581 [0x13] = KEY_MEDIA, /* MTS */
582 [0x14] = KEY_SLOW,
583 [0x16] = KEY_REWIND, /* backward << */
584 [0x17] = KEY_ENTER, /* Return */
585 [0x18] = KEY_FASTFORWARD, /* forward >> */
586 [0x1a] = KEY_CHANNELUP,
587 [0x1b] = KEY_VOLUMEUP,
588 [0x1e] = KEY_CHANNELDOWN,
589 [0x1f] = KEY_VOLUMEDOWN,
4c0f631e
RC
590};
591
592EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere);
593
594/* ---------------------------------------------------------------------- */
595
ba340b40
BR
596/*
597 Keycodes for remote on the MSI TV@nywhere Plus. The controller IC on the card
598 is marked "KS003". The controller is I2C at address 0x30, but does not seem
599 to respond to probes until a read is performed from a valid device.
600 I don't know why...
601
602 Note: This remote may be of similar or identical design to the
603 Pixelview remote (?). The raw codes and duplicate button codes
604 appear to be the same.
605
606 Henry Wong <[email protected]>
607 Some changes to formatting and keycodes by Mark Schultz <[email protected]>
608
609*/
610
611IR_KEYTAB_TYPE ir_codes_msi_tvanywhere_plus[IR_KEYTAB_SIZE] = {
612
613/* ---- Remote Button Layout ----
614
615 POWER SOURCE SCAN MUTE
616 TV/FM 1 2 3
617 |> 4 5 6
618 <| 7 8 9
619 ^^UP 0 + RECALL
620 vvDN RECORD STOP PLAY
621
622 MINIMIZE ZOOM
623
624 CH+
625 VOL- VOL+
626 CH-
627
628 SNAPSHOT MTS
629
630 << FUNC >> RESET
631*/
632
5d35364e
MCC
633 [0x01] = KEY_KP1, /* 1 */
634 [0x0b] = KEY_KP2, /* 2 */
635 [0x1b] = KEY_KP3, /* 3 */
636 [0x05] = KEY_KP4, /* 4 */
637 [0x09] = KEY_KP5, /* 5 */
638 [0x15] = KEY_KP6, /* 6 */
639 [0x06] = KEY_KP7, /* 7 */
640 [0x0a] = KEY_KP8, /* 8 */
641 [0x12] = KEY_KP9, /* 9 */
642 [0x02] = KEY_KP0, /* 0 */
643 [0x10] = KEY_KPPLUS, /* + */
644 [0x13] = KEY_AGAIN, /* Recall */
645
646 [0x1e] = KEY_POWER, /* Power */
647 [0x07] = KEY_TUNER, /* Source */
648 [0x1c] = KEY_SEARCH, /* Scan */
649 [0x18] = KEY_MUTE, /* Mute */
650
651 [0x03] = KEY_RADIO, /* TV/FM */
ba340b40
BR
652 /* The next four keys are duplicates that appear to send the
653 same IR code as Ch+, Ch-, >>, and << . The raw code assigned
654 to them is the actual code + 0x20 - they will never be
655 detected as such unless some way is discovered to distinguish
656 these buttons from those that have the same code. */
5d35364e
MCC
657 [0x3f] = KEY_RIGHT, /* |> and Ch+ */
658 [0x37] = KEY_LEFT, /* <| and Ch- */
659 [0x2c] = KEY_UP, /* ^^Up and >> */
660 [0x24] = KEY_DOWN, /* vvDn and << */
661
662 [0x00] = KEY_RECORD, /* Record */
663 [0x08] = KEY_STOP, /* Stop */
664 [0x11] = KEY_PLAY, /* Play */
665
666 [0x0f] = KEY_CLOSE, /* Minimize */
667 [0x19] = KEY_ZOOM, /* Zoom */
668 [0x1a] = KEY_SHUFFLE, /* Snapshot */
669 [0x0d] = KEY_LANGUAGE, /* MTS */
670
671 [0x14] = KEY_VOLUMEDOWN,/* Vol- */
672 [0x16] = KEY_VOLUMEUP, /* Vol+ */
673 [0x17] = KEY_CHANNELDOWN,/* Ch- */
674 [0x1f] = KEY_CHANNELUP, /* Ch+ */
675
676 [0x04] = KEY_REWIND, /* << */
677 [0x0e] = KEY_MENU, /* Function */
678 [0x0c] = KEY_FASTFORWARD,/* >> */
679 [0x1d] = KEY_RESTART, /* Reset */
ba340b40
BR
680};
681EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere_plus);
682
683/* ---------------------------------------------------------------------- */
684
4c0f631e
RC
685/* Cinergy 1400 DVB-T */
686IR_KEYTAB_TYPE ir_codes_cinergy_1400[IR_KEYTAB_SIZE] = {
3b82bddb
MCC
687 [0x01] = KEY_POWER,
688 [0x02] = KEY_1,
689 [0x03] = KEY_2,
690 [0x04] = KEY_3,
691 [0x05] = KEY_4,
692 [0x06] = KEY_5,
693 [0x07] = KEY_6,
694 [0x08] = KEY_7,
695 [0x09] = KEY_8,
696 [0x0a] = KEY_9,
697 [0x0c] = KEY_0,
698
699 [0x0b] = KEY_VIDEO,
700 [0x0d] = KEY_REFRESH,
701 [0x0e] = KEY_SELECT,
702 [0x0f] = KEY_EPG,
703 [0x10] = KEY_UP,
704 [0x11] = KEY_LEFT,
705 [0x12] = KEY_OK,
706 [0x13] = KEY_RIGHT,
707 [0x14] = KEY_DOWN,
708 [0x15] = KEY_TEXT,
709 [0x16] = KEY_INFO,
710
711 [0x17] = KEY_RED,
712 [0x18] = KEY_GREEN,
713 [0x19] = KEY_YELLOW,
714 [0x1a] = KEY_BLUE,
715
716 [0x1b] = KEY_CHANNELUP,
717 [0x1c] = KEY_VOLUMEUP,
718 [0x1d] = KEY_MUTE,
719 [0x1e] = KEY_VOLUMEDOWN,
720 [0x1f] = KEY_CHANNELDOWN,
721
722 [0x40] = KEY_PAUSE,
723 [0x4c] = KEY_PLAY,
724 [0x58] = KEY_RECORD,
725 [0x54] = KEY_PREVIOUS,
726 [0x48] = KEY_STOP,
727 [0x5c] = KEY_NEXT,
4c0f631e
RC
728};
729
730EXPORT_SYMBOL_GPL(ir_codes_cinergy_1400);
731
732/* ---------------------------------------------------------------------- */
733
734/* AVERTV STUDIO 303 Remote */
735IR_KEYTAB_TYPE ir_codes_avertv_303[IR_KEYTAB_SIZE] = {
3b82bddb
MCC
736 [0x2a] = KEY_1,
737 [0x32] = KEY_2,
738 [0x3a] = KEY_3,
739 [0x4a] = KEY_4,
740 [0x52] = KEY_5,
741 [0x5a] = KEY_6,
742 [0x6a] = KEY_7,
743 [0x72] = KEY_8,
744 [0x7a] = KEY_9,
745 [0x0e] = KEY_0,
746
747 [0x02] = KEY_POWER,
748 [0x22] = KEY_VIDEO,
749 [0x42] = KEY_AUDIO,
750 [0x62] = KEY_ZOOM,
751 [0x0a] = KEY_TV,
752 [0x12] = KEY_CD,
753 [0x1a] = KEY_TEXT,
754
755 [0x16] = KEY_SUBTITLE,
756 [0x1e] = KEY_REWIND,
757 [0x06] = KEY_PRINT,
758
759 [0x2e] = KEY_SEARCH,
760 [0x36] = KEY_SLEEP,
761 [0x3e] = KEY_SHUFFLE,
762 [0x26] = KEY_MUTE,
763
764 [0x4e] = KEY_RECORD,
765 [0x56] = KEY_PAUSE,
766 [0x5e] = KEY_STOP,
767 [0x46] = KEY_PLAY,
768
769 [0x6e] = KEY_RED,
770 [0x0b] = KEY_GREEN,
771 [0x66] = KEY_YELLOW,
772 [0x03] = KEY_BLUE,
773
774 [0x76] = KEY_LEFT,
775 [0x7e] = KEY_RIGHT,
776 [0x13] = KEY_DOWN,
777 [0x1b] = KEY_UP,
4c0f631e
RC
778};
779
780EXPORT_SYMBOL_GPL(ir_codes_avertv_303);
781
782/* ---------------------------------------------------------------------- */
783
784/* DigitalNow DNTV Live! DVB-T Pro Remote */
785IR_KEYTAB_TYPE ir_codes_dntv_live_dvbt_pro[IR_KEYTAB_SIZE] = {
3b82bddb
MCC
786 [0x16] = KEY_POWER,
787 [0x5b] = KEY_HOME,
788
789 [0x55] = KEY_TV, /* live tv */
790 [0x58] = KEY_TUNER, /* digital Radio */
791 [0x5a] = KEY_RADIO, /* FM radio */
792 [0x59] = KEY_DVD, /* dvd menu */
793 [0x03] = KEY_1,
794 [0x01] = KEY_2,
795 [0x06] = KEY_3,
796 [0x09] = KEY_4,
797 [0x1d] = KEY_5,
798 [0x1f] = KEY_6,
799 [0x0d] = KEY_7,
800 [0x19] = KEY_8,
801 [0x1b] = KEY_9,
802 [0x0c] = KEY_CANCEL,
803 [0x15] = KEY_0,
804 [0x4a] = KEY_CLEAR,
805 [0x13] = KEY_BACK,
806 [0x00] = KEY_TAB,
807 [0x4b] = KEY_UP,
808 [0x4e] = KEY_LEFT,
809 [0x4f] = KEY_OK,
810 [0x52] = KEY_RIGHT,
811 [0x51] = KEY_DOWN,
812 [0x1e] = KEY_VOLUMEUP,
813 [0x0a] = KEY_VOLUMEDOWN,
814 [0x02] = KEY_CHANNELDOWN,
815 [0x05] = KEY_CHANNELUP,
816 [0x11] = KEY_RECORD,
817 [0x14] = KEY_PLAY,
818 [0x4c] = KEY_PAUSE,
819 [0x1a] = KEY_STOP,
820 [0x40] = KEY_REWIND,
821 [0x12] = KEY_FASTFORWARD,
822 [0x41] = KEY_PREVIOUSSONG, /* replay |< */
5d35364e 823 [0x42] = KEY_NEXTSONG, /* skip >| */
3b82bddb 824 [0x54] = KEY_CAMERA, /* capture */
5d35364e 825 [0x50] = KEY_LANGUAGE, /* sap */
3b82bddb
MCC
826 [0x47] = KEY_TV2, /* pip */
827 [0x4d] = KEY_SCREEN,
828 [0x43] = KEY_SUBTITLE,
829 [0x10] = KEY_MUTE,
830 [0x49] = KEY_AUDIO, /* l/r */
831 [0x07] = KEY_SLEEP,
832 [0x08] = KEY_VIDEO, /* a/v */
5d35364e 833 [0x0e] = KEY_PREVIOUS, /* recall */
3b82bddb
MCC
834 [0x45] = KEY_ZOOM, /* zoom + */
835 [0x46] = KEY_ANGLE, /* zoom - */
836 [0x56] = KEY_RED,
837 [0x57] = KEY_GREEN,
838 [0x5c] = KEY_YELLOW,
839 [0x5d] = KEY_BLUE,
4c0f631e
RC
840};
841
842EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvbt_pro);
843
844IR_KEYTAB_TYPE ir_codes_em_terratec[IR_KEYTAB_SIZE] = {
3b82bddb
MCC
845 [0x01] = KEY_CHANNEL,
846 [0x02] = KEY_SELECT,
847 [0x03] = KEY_MUTE,
848 [0x04] = KEY_POWER,
849 [0x05] = KEY_1,
850 [0x06] = KEY_2,
851 [0x07] = KEY_3,
852 [0x08] = KEY_CHANNELUP,
853 [0x09] = KEY_4,
854 [0x0a] = KEY_5,
855 [0x0b] = KEY_6,
856 [0x0c] = KEY_CHANNELDOWN,
857 [0x0d] = KEY_7,
858 [0x0e] = KEY_8,
859 [0x0f] = KEY_9,
860 [0x10] = KEY_VOLUMEUP,
861 [0x11] = KEY_0,
862 [0x12] = KEY_MENU,
863 [0x13] = KEY_PRINT,
864 [0x14] = KEY_VOLUMEDOWN,
865 [0x16] = KEY_PAUSE,
866 [0x18] = KEY_RECORD,
867 [0x19] = KEY_REWIND,
868 [0x1a] = KEY_PLAY,
869 [0x1b] = KEY_FORWARD,
870 [0x1c] = KEY_BACKSPACE,
871 [0x1e] = KEY_STOP,
872 [0x40] = KEY_ZOOM,
4c0f631e
RC
873};
874
875EXPORT_SYMBOL_GPL(ir_codes_em_terratec);
876
b93eedb6 877IR_KEYTAB_TYPE ir_codes_pinnacle_grey[IR_KEYTAB_SIZE] = {
3b82bddb
MCC
878 [0x3a] = KEY_0,
879 [0x31] = KEY_1,
880 [0x32] = KEY_2,
881 [0x33] = KEY_3,
882 [0x34] = KEY_4,
883 [0x35] = KEY_5,
884 [0x36] = KEY_6,
885 [0x37] = KEY_7,
886 [0x38] = KEY_8,
887 [0x39] = KEY_9,
888
889 [0x2f] = KEY_POWER,
890
891 [0x2e] = KEY_P,
892 [0x1f] = KEY_L,
893 [0x2b] = KEY_I,
894
895 [0x2d] = KEY_SCREEN,
896 [0x1e] = KEY_ZOOM,
897 [0x1b] = KEY_VOLUMEUP,
898 [0x0f] = KEY_VOLUMEDOWN,
899 [0x17] = KEY_CHANNELUP,
900 [0x1c] = KEY_CHANNELDOWN,
901 [0x25] = KEY_INFO,
902
903 [0x3c] = KEY_MUTE,
904
905 [0x3d] = KEY_LEFT,
906 [0x3b] = KEY_RIGHT,
907
908 [0x3f] = KEY_UP,
909 [0x3e] = KEY_DOWN,
910 [0x1a] = KEY_ENTER,
911
912 [0x1d] = KEY_MENU,
913 [0x19] = KEY_AGAIN,
914 [0x16] = KEY_PREVIOUSSONG,
915 [0x13] = KEY_NEXTSONG,
916 [0x15] = KEY_PAUSE,
917 [0x0e] = KEY_REWIND,
918 [0x0d] = KEY_PLAY,
919 [0x0b] = KEY_STOP,
920 [0x07] = KEY_FORWARD,
921 [0x27] = KEY_RECORD,
922 [0x26] = KEY_TUNER,
923 [0x29] = KEY_TEXT,
924 [0x2a] = KEY_MEDIA,
925 [0x18] = KEY_EPG,
4c0f631e
RC
926};
927
b93eedb6 928EXPORT_SYMBOL_GPL(ir_codes_pinnacle_grey);
4c0f631e
RC
929
930IR_KEYTAB_TYPE ir_codes_flyvideo[IR_KEYTAB_SIZE] = {
3b82bddb
MCC
931 [0x0f] = KEY_0,
932 [0x03] = KEY_1,
933 [0x04] = KEY_2,
934 [0x05] = KEY_3,
935 [0x07] = KEY_4,
936 [0x08] = KEY_5,
937 [0x09] = KEY_6,
938 [0x0b] = KEY_7,
939 [0x0c] = KEY_8,
940 [0x0d] = KEY_9,
941
5d35364e
MCC
942 [0x0e] = KEY_MODE, /* Air/Cable */
943 [0x11] = KEY_VIDEO, /* Video */
944 [0x15] = KEY_AUDIO, /* Audio */
945 [0x00] = KEY_POWER, /* Power */
946 [0x18] = KEY_TUNER, /* AV Source */
947 [0x02] = KEY_ZOOM, /* Fullscreen */
948 [0x1a] = KEY_LANGUAGE, /* Stereo */
949 [0x1b] = KEY_MUTE, /* Mute */
950 [0x14] = KEY_VOLUMEUP, /* Volume + */
951 [0x17] = KEY_VOLUMEDOWN,/* Volume - */
952 [0x12] = KEY_CHANNELUP, /* Channel + */
953 [0x13] = KEY_CHANNELDOWN,/* Channel - */
954 [0x06] = KEY_AGAIN, /* Recall */
955 [0x10] = KEY_ENTER, /* Enter */
956
957 [0x19] = KEY_BACK, /* Rewind ( <<< ) */
958 [0x1f] = KEY_FORWARD, /* Forward ( >>> ) */
959 [0x0a] = KEY_ANGLE, /* no label, may be used as the PAUSE button */
4c0f631e
RC
960};
961
962EXPORT_SYMBOL_GPL(ir_codes_flyvideo);
963
964IR_KEYTAB_TYPE ir_codes_flydvb[IR_KEYTAB_SIZE] = {
3b82bddb
MCC
965 [0x01] = KEY_ZOOM, /* Full Screen */
966 [0x00] = KEY_POWER, /* Power */
967
968 [0x03] = KEY_1,
969 [0x04] = KEY_2,
970 [0x05] = KEY_3,
971 [0x07] = KEY_4,
972 [0x08] = KEY_5,
973 [0x09] = KEY_6,
974 [0x0b] = KEY_7,
975 [0x0c] = KEY_8,
976 [0x0d] = KEY_9,
977 [0x06] = KEY_AGAIN, /* Recall */
978 [0x0f] = KEY_0,
979 [0x10] = KEY_MUTE, /* Mute */
980 [0x02] = KEY_RADIO, /* TV/Radio */
981 [0x1b] = KEY_LANGUAGE, /* SAP (Second Audio Program) */
982
983 [0x14] = KEY_VOLUMEUP, /* VOL+ */
984 [0x17] = KEY_VOLUMEDOWN, /* VOL- */
985 [0x12] = KEY_CHANNELUP, /* CH+ */
986 [0x13] = KEY_CHANNELDOWN, /* CH- */
987 [0x1d] = KEY_ENTER, /* Enter */
988
989 [0x1a] = KEY_MODE, /* PIP */
990 [0x18] = KEY_TUNER, /* Source */
991
992 [0x1e] = KEY_RECORD, /* Record/Pause */
993 [0x15] = KEY_ANGLE, /* Swap (no label on key) */
994 [0x1c] = KEY_PAUSE, /* Timeshift/Pause */
995 [0x19] = KEY_BACK, /* Rewind << */
996 [0x0a] = KEY_PLAYPAUSE, /* Play/Pause */
997 [0x1f] = KEY_FORWARD, /* Forward >> */
998 [0x16] = KEY_PREVIOUS, /* Back |<< */
999 [0x11] = KEY_STOP, /* Stop */
1000 [0x0e] = KEY_NEXT, /* End >>| */
4c0f631e
RC
1001};
1002
1003EXPORT_SYMBOL_GPL(ir_codes_flydvb);
1004
1005IR_KEYTAB_TYPE ir_codes_cinergy[IR_KEYTAB_SIZE] = {
3b82bddb
MCC
1006 [0x00] = KEY_0,
1007 [0x01] = KEY_1,
1008 [0x02] = KEY_2,
1009 [0x03] = KEY_3,
1010 [0x04] = KEY_4,
1011 [0x05] = KEY_5,
1012 [0x06] = KEY_6,
1013 [0x07] = KEY_7,
1014 [0x08] = KEY_8,
1015 [0x09] = KEY_9,
1016
1017 [0x0a] = KEY_POWER,
5d35364e
MCC
1018 [0x0b] = KEY_PROG1, /* app */
1019 [0x0c] = KEY_ZOOM, /* zoom/fullscreen */
1020 [0x0d] = KEY_CHANNELUP, /* channel */
1021 [0x0e] = KEY_CHANNELDOWN,/* channel- */
3b82bddb
MCC
1022 [0x0f] = KEY_VOLUMEUP,
1023 [0x10] = KEY_VOLUMEDOWN,
5d35364e
MCC
1024 [0x11] = KEY_TUNER, /* AV */
1025 [0x12] = KEY_NUMLOCK, /* -/-- */
1026 [0x13] = KEY_AUDIO, /* audio */
3b82bddb
MCC
1027 [0x14] = KEY_MUTE,
1028 [0x15] = KEY_UP,
1029 [0x16] = KEY_DOWN,
1030 [0x17] = KEY_LEFT,
1031 [0x18] = KEY_RIGHT,
1032 [0x19] = BTN_LEFT,
1033 [0x1a] = BTN_RIGHT,
5d35364e 1034 [0x1b] = KEY_WWW, /* text */
3b82bddb
MCC
1035 [0x1c] = KEY_REWIND,
1036 [0x1d] = KEY_FORWARD,
1037 [0x1e] = KEY_RECORD,
1038 [0x1f] = KEY_PLAY,
1039 [0x20] = KEY_PREVIOUSSONG,
1040 [0x21] = KEY_NEXTSONG,
1041 [0x22] = KEY_PAUSE,
1042 [0x23] = KEY_STOP,
4c0f631e
RC
1043};
1044
1045EXPORT_SYMBOL_GPL(ir_codes_cinergy);
1046
1047/* Alfons Geser <[email protected]>
1048 * updates from Job D. R. Borges <[email protected]> */
1049IR_KEYTAB_TYPE ir_codes_eztv[IR_KEYTAB_SIZE] = {
3b82bddb 1050 [0x12] = KEY_POWER,
5d35364e
MCC
1051 [0x01] = KEY_TV, /* DVR */
1052 [0x15] = KEY_DVD, /* DVD */
1053 [0x17] = KEY_AUDIO, /* music */
1054 /* DVR mode / DVD mode / music mode */
1055
1056 [0x1b] = KEY_MUTE, /* mute */
1057 [0x02] = KEY_LANGUAGE, /* MTS/SAP / audio / autoseek */
1058 [0x1e] = KEY_SUBTITLE, /* closed captioning / subtitle / seek */
1059 [0x16] = KEY_ZOOM, /* full screen */
1060 [0x1c] = KEY_VIDEO, /* video source / eject / delall */
1061 [0x1d] = KEY_RESTART, /* playback / angle / del */
1062 [0x2f] = KEY_SEARCH, /* scan / menu / playlist */
1063 [0x30] = KEY_CHANNEL, /* CH surfing / bookmark / memo */
1064
1065 [0x31] = KEY_HELP, /* help */
1066 [0x32] = KEY_MODE, /* num/memo */
1067 [0x33] = KEY_ESC, /* cancel */
1068
1069 [0x0c] = KEY_UP, /* up */
1070 [0x10] = KEY_DOWN, /* down */
1071 [0x08] = KEY_LEFT, /* left */
1072 [0x04] = KEY_RIGHT, /* right */
1073 [0x03] = KEY_SELECT, /* select */
1074
1075 [0x1f] = KEY_REWIND, /* rewind */
1076 [0x20] = KEY_PLAYPAUSE, /* play/pause */
1077 [0x29] = KEY_FORWARD, /* forward */
1078 [0x14] = KEY_AGAIN, /* repeat */
1079 [0x2b] = KEY_RECORD, /* recording */
1080 [0x2c] = KEY_STOP, /* stop */
1081 [0x2d] = KEY_PLAY, /* play */
1082 [0x2e] = KEY_SHUFFLE, /* snapshot / shuffle */
3b82bddb
MCC
1083
1084 [0x00] = KEY_0,
1085 [0x05] = KEY_1,
1086 [0x06] = KEY_2,
1087 [0x07] = KEY_3,
1088 [0x09] = KEY_4,
1089 [0x0a] = KEY_5,
1090 [0x0b] = KEY_6,
1091 [0x0d] = KEY_7,
1092 [0x0e] = KEY_8,
1093 [0x0f] = KEY_9,
1094
1095 [0x2a] = KEY_VOLUMEUP,
1096 [0x11] = KEY_VOLUMEDOWN,
5d35364e
MCC
1097 [0x18] = KEY_CHANNELUP, /* CH.tracking up */
1098 [0x19] = KEY_CHANNELDOWN,/* CH.tracking down */
3b82bddb 1099
5d35364e
MCC
1100 [0x13] = KEY_ENTER, /* enter */
1101 [0x21] = KEY_DOT, /* . (decimal dot) */
4c0f631e
RC
1102};
1103
1104EXPORT_SYMBOL_GPL(ir_codes_eztv);
1105
4c0f631e 1106/* Alex Hermann <[email protected]> */
b639f9d2 1107IR_KEYTAB_TYPE ir_codes_avermedia[IR_KEYTAB_SIZE] = {
3b82bddb
MCC
1108 [0x28] = KEY_1,
1109 [0x18] = KEY_2,
1110 [0x38] = KEY_3,
1111 [0x24] = KEY_4,
1112 [0x14] = KEY_5,
1113 [0x34] = KEY_6,
1114 [0x2c] = KEY_7,
1115 [0x1c] = KEY_8,
1116 [0x3c] = KEY_9,
1117 [0x22] = KEY_0,
1118
1119 [0x20] = KEY_TV, /* TV/FM */
1120 [0x10] = KEY_CD, /* CD */
1121 [0x30] = KEY_TEXT, /* TELETEXT */
1122 [0x00] = KEY_POWER, /* POWER */
1123
1124 [0x08] = KEY_VIDEO, /* VIDEO */
1125 [0x04] = KEY_AUDIO, /* AUDIO */
1126 [0x0c] = KEY_ZOOM, /* FULL SCREEN */
1127
5d35364e 1128 [0x12] = KEY_SUBTITLE, /* DISPLAY */
3b82bddb
MCC
1129 [0x32] = KEY_REWIND, /* LOOP */
1130 [0x02] = KEY_PRINT, /* PREVIEW */
1131
1132 [0x2a] = KEY_SEARCH, /* AUTOSCAN */
1133 [0x1a] = KEY_SLEEP, /* FREEZE */
1134 [0x3a] = KEY_SHUFFLE, /* SNAPSHOT */
1135 [0x0a] = KEY_MUTE, /* MUTE */
1136
1137 [0x26] = KEY_RECORD, /* RECORD */
1138 [0x16] = KEY_PAUSE, /* PAUSE */
1139 [0x36] = KEY_STOP, /* STOP */
1140 [0x06] = KEY_PLAY, /* PLAY */
1141
1142 [0x2e] = KEY_RED, /* RED */
1143 [0x21] = KEY_GREEN, /* GREEN */
1144 [0x0e] = KEY_YELLOW, /* YELLOW */
1145 [0x01] = KEY_BLUE, /* BLUE */
1146
1147 [0x1e] = KEY_VOLUMEDOWN, /* VOLUME- */
5d35364e 1148 [0x3e] = KEY_VOLUMEUP, /* VOLUME+ */
3b82bddb 1149 [0x11] = KEY_CHANNELDOWN, /* CHANNEL/PAGE- */
5d35364e 1150 [0x31] = KEY_CHANNELUP /* CHANNEL/PAGE+ */
4c0f631e
RC
1151};
1152
b639f9d2 1153EXPORT_SYMBOL_GPL(ir_codes_avermedia);
4c0f631e
RC
1154
1155IR_KEYTAB_TYPE ir_codes_videomate_tv_pvr[IR_KEYTAB_SIZE] = {
3b82bddb
MCC
1156 [0x14] = KEY_MUTE,
1157 [0x24] = KEY_ZOOM,
1158
1159 [0x01] = KEY_DVD,
1160 [0x23] = KEY_RADIO,
1161 [0x00] = KEY_TV,
1162
1163 [0x0a] = KEY_REWIND,
1164 [0x08] = KEY_PLAYPAUSE,
1165 [0x0f] = KEY_FORWARD,
1166
1167 [0x02] = KEY_PREVIOUS,
1168 [0x07] = KEY_STOP,
1169 [0x06] = KEY_NEXT,
1170
1171 [0x0c] = KEY_UP,
1172 [0x0e] = KEY_DOWN,
1173 [0x0b] = KEY_LEFT,
1174 [0x0d] = KEY_RIGHT,
1175 [0x11] = KEY_OK,
1176
1177 [0x03] = KEY_MENU,
1178 [0x09] = KEY_SETUP,
1179 [0x05] = KEY_VIDEO,
1180 [0x22] = KEY_CHANNEL,
1181
1182 [0x12] = KEY_VOLUMEUP,
1183 [0x15] = KEY_VOLUMEDOWN,
1184 [0x10] = KEY_CHANNELUP,
1185 [0x13] = KEY_CHANNELDOWN,
1186
1187 [0x04] = KEY_RECORD,
1188
1189 [0x16] = KEY_1,
1190 [0x17] = KEY_2,
1191 [0x18] = KEY_3,
1192 [0x19] = KEY_4,
1193 [0x1a] = KEY_5,
1194 [0x1b] = KEY_6,
1195 [0x1c] = KEY_7,
1196 [0x1d] = KEY_8,
1197 [0x1e] = KEY_9,
1198 [0x1f] = KEY_0,
1199
1200 [0x20] = KEY_LANGUAGE,
1201 [0x21] = KEY_SLEEP,
4c0f631e
RC
1202};
1203
1204EXPORT_SYMBOL_GPL(ir_codes_videomate_tv_pvr);
1205
1206/* Michael Tokarev <[email protected]>
1207 http://www.corpit.ru/mjt/beholdTV/remote_control.jpg
3b82bddb 1208 keytable is used by MANLI MTV00[0x0c] and BeholdTV 40[13] at
4c0f631e
RC
1209 least, and probably other cards too.
1210 The "ascii-art picture" below (in comments, first row
1211 is the keycode in hex, and subsequent row(s) shows
1212 the button labels (several variants when appropriate)
1213 helps to descide which keycodes to assign to the buttons.
1214 */
1215IR_KEYTAB_TYPE ir_codes_manli[IR_KEYTAB_SIZE] = {
1216
1217 /* 0x1c 0x12 *
1218 * FUNCTION POWER *
1219 * FM (|) *
1220 * */
3b82bddb
MCC
1221 [0x1c] = KEY_RADIO, /*XXX*/
1222 [0x12] = KEY_POWER,
4c0f631e
RC
1223
1224 /* 0x01 0x02 0x03 *
1225 * 1 2 3 *
1226 * *
1227 * 0x04 0x05 0x06 *
1228 * 4 5 6 *
1229 * *
1230 * 0x07 0x08 0x09 *
1231 * 7 8 9 *
1232 * */
3b82bddb
MCC
1233 [0x01] = KEY_1,
1234 [0x02] = KEY_2,
1235 [0x03] = KEY_3,
1236 [0x04] = KEY_4,
1237 [0x05] = KEY_5,
1238 [0x06] = KEY_6,
1239 [0x07] = KEY_7,
1240 [0x08] = KEY_8,
1241 [0x09] = KEY_9,
4c0f631e
RC
1242
1243 /* 0x0a 0x00 0x17 *
1244 * RECALL 0 +100 *
1245 * PLUS *
1246 * */
3b82bddb
MCC
1247 [0x0a] = KEY_AGAIN, /*XXX KEY_REWIND? */
1248 [0x00] = KEY_0,
1249 [0x17] = KEY_DIGITS, /*XXX*/
4c0f631e
RC
1250
1251 /* 0x14 0x10 *
1252 * MENU INFO *
1253 * OSD */
3b82bddb
MCC
1254 [0x14] = KEY_MENU,
1255 [0x10] = KEY_INFO,
4c0f631e
RC
1256
1257 /* 0x0b *
1258 * Up *
1259 * *
1260 * 0x18 0x16 0x0c *
1261 * Left Ok Right *
1262 * *
1263 * 0x015 *
1264 * Down *
1265 * */
3b82bddb
MCC
1266 [0x0b] = KEY_UP, /*XXX KEY_SCROLLUP? */
1267 [0x18] = KEY_LEFT, /*XXX KEY_BACK? */
1268 [0x16] = KEY_OK, /*XXX KEY_SELECT? KEY_ENTER? */
1269 [0x0c] = KEY_RIGHT, /*XXX KEY_FORWARD? */
1270 [0x15] = KEY_DOWN, /*XXX KEY_SCROLLDOWN? */
4c0f631e
RC
1271
1272 /* 0x11 0x0d *
1273 * TV/AV MODE *
1274 * SOURCE STEREO *
1275 * */
3b82bddb 1276 [0x11] = KEY_TV, /*XXX*/
5d35364e 1277 [0x0d] = KEY_MODE, /*XXX there's no KEY_STEREO */
4c0f631e
RC
1278
1279 /* 0x0f 0x1b 0x1a *
1280 * AUDIO Vol+ Chan+ *
1281 * TIMESHIFT??? *
1282 * *
1283 * 0x0e 0x1f 0x1e *
1284 * SLEEP Vol- Chan- *
1285 * */
3b82bddb
MCC
1286 [0x0f] = KEY_AUDIO,
1287 [0x1b] = KEY_VOLUMEUP,
1288 [0x1a] = KEY_CHANNELUP,
5d35364e 1289 [0x0e] = KEY_SLEEP, /*XXX maybe KEY_PAUSE */
3b82bddb
MCC
1290 [0x1f] = KEY_VOLUMEDOWN,
1291 [0x1e] = KEY_CHANNELDOWN,
4c0f631e
RC
1292
1293 /* 0x13 0x19 *
1294 * MUTE SNAPSHOT*
1295 * */
3b82bddb
MCC
1296 [0x13] = KEY_MUTE,
1297 [0x19] = KEY_RECORD, /*XXX*/
4c0f631e 1298
97fd4f7f 1299 /* 0x1d unused ? */
4c0f631e
RC
1300};
1301
1302EXPORT_SYMBOL_GPL(ir_codes_manli);
1303
1304/* Mike Baikov <[email protected]> */
1305IR_KEYTAB_TYPE ir_codes_gotview7135[IR_KEYTAB_SIZE] = {
1306
3b82bddb
MCC
1307 [0x11] = KEY_POWER,
1308 [0x35] = KEY_TV,
1309 [0x1b] = KEY_0,
1310 [0x29] = KEY_1,
1311 [0x19] = KEY_2,
1312 [0x39] = KEY_3,
1313 [0x1f] = KEY_4,
1314 [0x2c] = KEY_5,
1315 [0x21] = KEY_6,
1316 [0x24] = KEY_7,
1317 [0x18] = KEY_8,
1318 [0x2b] = KEY_9,
5d35364e 1319 [0x3b] = KEY_AGAIN, /* LOOP */
3b82bddb 1320 [0x06] = KEY_AUDIO,
5d35364e 1321 [0x31] = KEY_PRINT, /* PREVIEW */
3b82bddb
MCC
1322 [0x3e] = KEY_VIDEO,
1323 [0x10] = KEY_CHANNELUP,
1324 [0x20] = KEY_CHANNELDOWN,
1325 [0x0c] = KEY_VOLUMEDOWN,
1326 [0x28] = KEY_VOLUMEUP,
1327 [0x08] = KEY_MUTE,
5d35364e
MCC
1328 [0x26] = KEY_SEARCH, /*SCAN*/
1329 [0x3f] = KEY_SHUFFLE, /* SNAPSHOT */
3b82bddb
MCC
1330 [0x12] = KEY_RECORD,
1331 [0x32] = KEY_STOP,
1332 [0x3c] = KEY_PLAY,
1333 [0x1d] = KEY_REWIND,
1334 [0x2d] = KEY_PAUSE,
1335 [0x0d] = KEY_FORWARD,
5d35364e 1336 [0x05] = KEY_ZOOM, /*FULL*/
3b82bddb 1337
5d35364e
MCC
1338 [0x2a] = KEY_F21, /* LIVE TIMESHIFT */
1339 [0x0e] = KEY_F22, /* MIN TIMESHIFT */
1340 [0x1e] = KEY_F23, /* TIMESHIFT */
1341 [0x38] = KEY_F24, /* NORMAL TIMESHIFT */
4c0f631e
RC
1342};
1343
1344EXPORT_SYMBOL_GPL(ir_codes_gotview7135);
1345
1346IR_KEYTAB_TYPE ir_codes_purpletv[IR_KEYTAB_SIZE] = {
3b82bddb
MCC
1347 [0x03] = KEY_POWER,
1348 [0x6f] = KEY_MUTE,
5d35364e 1349 [0x10] = KEY_BACKSPACE, /* Recall */
3b82bddb
MCC
1350
1351 [0x11] = KEY_0,
1352 [0x04] = KEY_1,
1353 [0x05] = KEY_2,
1354 [0x06] = KEY_3,
1355 [0x08] = KEY_4,
1356 [0x09] = KEY_5,
1357 [0x0a] = KEY_6,
1358 [0x0c] = KEY_7,
1359 [0x0d] = KEY_8,
1360 [0x0e] = KEY_9,
5d35364e 1361 [0x12] = KEY_DOT, /* 100+ */
3b82bddb
MCC
1362
1363 [0x07] = KEY_VOLUMEUP,
1364 [0x0b] = KEY_VOLUMEDOWN,
1365 [0x1a] = KEY_KPPLUS,
1366 [0x18] = KEY_KPMINUS,
1367 [0x15] = KEY_UP,
1368 [0x1d] = KEY_DOWN,
1369 [0x0f] = KEY_CHANNELUP,
1370 [0x13] = KEY_CHANNELDOWN,
1371 [0x48] = KEY_ZOOM,
1372
5d35364e
MCC
1373 [0x1b] = KEY_VIDEO, /* Video source */
1374 [0x49] = KEY_LANGUAGE, /* MTS Select */
1375 [0x19] = KEY_SEARCH, /* Auto Scan */
3b82bddb
MCC
1376
1377 [0x4b] = KEY_RECORD,
1378 [0x46] = KEY_PLAY,
5d35364e 1379 [0x45] = KEY_PAUSE, /* Pause */
3b82bddb 1380 [0x44] = KEY_STOP,
5d35364e
MCC
1381 [0x40] = KEY_FORWARD, /* Forward ? */
1382 [0x42] = KEY_REWIND, /* Backward ? */
4c0f631e
RC
1383
1384};
1385
1386EXPORT_SYMBOL_GPL(ir_codes_purpletv);
1387
1388/* Mapping for the 28 key remote control as seen at
1389 http://www.sednacomputer.com/photo/cardbus-tv.jpg
e80faad3
ML
1390 Pavel Mihaylov <[email protected]>
1391 Also for the remote bundled with Kozumi KTV-01C card */
4c0f631e 1392IR_KEYTAB_TYPE ir_codes_pctv_sedna[IR_KEYTAB_SIZE] = {
3b82bddb
MCC
1393 [0x00] = KEY_0,
1394 [0x01] = KEY_1,
1395 [0x02] = KEY_2,
1396 [0x03] = KEY_3,
1397 [0x04] = KEY_4,
1398 [0x05] = KEY_5,
1399 [0x06] = KEY_6,
1400 [0x07] = KEY_7,
1401 [0x08] = KEY_8,
1402 [0x09] = KEY_9,
1403
5d35364e 1404 [0x0a] = KEY_AGAIN, /* Recall */
3b82bddb
MCC
1405 [0x0b] = KEY_CHANNELUP,
1406 [0x0c] = KEY_VOLUMEUP,
5d35364e 1407 [0x0d] = KEY_MODE, /* Stereo */
3b82bddb
MCC
1408 [0x0e] = KEY_STOP,
1409 [0x0f] = KEY_PREVIOUSSONG,
1410 [0x10] = KEY_ZOOM,
5d35364e 1411 [0x11] = KEY_TUNER, /* Source */
3b82bddb
MCC
1412 [0x12] = KEY_POWER,
1413 [0x13] = KEY_MUTE,
1414 [0x15] = KEY_CHANNELDOWN,
1415 [0x18] = KEY_VOLUMEDOWN,
5d35364e 1416 [0x19] = KEY_SHUFFLE, /* Snapshot */
3b82bddb 1417 [0x1a] = KEY_NEXTSONG,
5d35364e
MCC
1418 [0x1b] = KEY_TEXT, /* Time Shift */
1419 [0x1c] = KEY_RADIO, /* FM Radio */
3b82bddb
MCC
1420 [0x1d] = KEY_RECORD,
1421 [0x1e] = KEY_PAUSE,
e80faad3 1422 /* additional codes for Kozumi's remote */
5d35364e
MCC
1423 [0x14] = KEY_INFO, /* OSD */
1424 [0x16] = KEY_OK, /* OK */
1425 [0x17] = KEY_DIGITS, /* Plus */
1426 [0x1f] = KEY_PLAY, /* Play */
4c0f631e
RC
1427};
1428
1429EXPORT_SYMBOL_GPL(ir_codes_pctv_sedna);
1430
1431/* Mark Phalan <[email protected]> */
1432IR_KEYTAB_TYPE ir_codes_pv951[IR_KEYTAB_SIZE] = {
3b82bddb
MCC
1433 [0x00] = KEY_0,
1434 [0x01] = KEY_1,
1435 [0x02] = KEY_2,
1436 [0x03] = KEY_3,
1437 [0x04] = KEY_4,
1438 [0x05] = KEY_5,
1439 [0x06] = KEY_6,
1440 [0x07] = KEY_7,
1441 [0x08] = KEY_8,
1442 [0x09] = KEY_9,
1443
1444 [0x12] = KEY_POWER,
1445 [0x10] = KEY_MUTE,
1446 [0x1f] = KEY_VOLUMEDOWN,
1447 [0x1b] = KEY_VOLUMEUP,
1448 [0x1a] = KEY_CHANNELUP,
1449 [0x1e] = KEY_CHANNELDOWN,
1450 [0x0e] = KEY_PAGEUP,
1451 [0x1d] = KEY_PAGEDOWN,
1452 [0x13] = KEY_SOUND,
1453
1454 [0x18] = KEY_KPPLUSMINUS, /* CH +/- */
1455 [0x16] = KEY_SUBTITLE, /* CC */
1456 [0x0d] = KEY_TEXT, /* TTX */
1457 [0x0b] = KEY_TV, /* AIR/CBL */
1458 [0x11] = KEY_PC, /* PC/TV */
1459 [0x17] = KEY_OK, /* CH RTN */
5d35364e
MCC
1460 [0x19] = KEY_MODE, /* FUNC */
1461 [0x0c] = KEY_SEARCH, /* AUTOSCAN */
4c0f631e
RC
1462
1463 /* Not sure what to do with these ones! */
5d35364e 1464 [0x0f] = KEY_SELECT, /* SOURCE */
3b82bddb
MCC
1465 [0x0a] = KEY_KPPLUS, /* +100 */
1466 [0x14] = KEY_EQUAL, /* SYNC */
5d35364e 1467 [0x1c] = KEY_MEDIA, /* PC/TV */
4c0f631e
RC
1468};
1469
1470EXPORT_SYMBOL_GPL(ir_codes_pv951);
1471
1472/* generic RC5 keytable */
1473/* see http://users.pandora.be/nenya/electronics/rc5/codes00.htm */
1474/* used by old (black) Hauppauge remotes */
1475IR_KEYTAB_TYPE ir_codes_rc5_tv[IR_KEYTAB_SIZE] = {
1476 /* Keys 0 to 9 */
3b82bddb
MCC
1477 [0x00] = KEY_0,
1478 [0x01] = KEY_1,
1479 [0x02] = KEY_2,
1480 [0x03] = KEY_3,
1481 [0x04] = KEY_4,
1482 [0x05] = KEY_5,
1483 [0x06] = KEY_6,
1484 [0x07] = KEY_7,
1485 [0x08] = KEY_8,
1486 [0x09] = KEY_9,
1487
1488 [0x0b] = KEY_CHANNEL, /* channel / program (japan: 11) */
1489 [0x0c] = KEY_POWER, /* standby */
1490 [0x0d] = KEY_MUTE, /* mute / demute */
1491 [0x0f] = KEY_TV, /* display */
1492 [0x10] = KEY_VOLUMEUP,
1493 [0x11] = KEY_VOLUMEDOWN,
1494 [0x12] = KEY_BRIGHTNESSUP,
1495 [0x13] = KEY_BRIGHTNESSDOWN,
1496 [0x1e] = KEY_SEARCH, /* search + */
5d35364e 1497 [0x20] = KEY_CHANNELUP, /* channel / program + */
3b82bddb
MCC
1498 [0x21] = KEY_CHANNELDOWN, /* channel / program - */
1499 [0x22] = KEY_CHANNEL, /* alt / channel */
5d35364e 1500 [0x23] = KEY_LANGUAGE, /* 1st / 2nd language */
3b82bddb
MCC
1501 [0x26] = KEY_SLEEP, /* sleeptimer */
1502 [0x2e] = KEY_MENU, /* 2nd controls (USA: menu) */
1503 [0x30] = KEY_PAUSE,
1504 [0x32] = KEY_REWIND,
1505 [0x33] = KEY_GOTO,
1506 [0x35] = KEY_PLAY,
1507 [0x36] = KEY_STOP,
1508 [0x37] = KEY_RECORD, /* recording */
5d35364e 1509 [0x3c] = KEY_TEXT, /* teletext submode (Japan: 12) */
3b82bddb 1510 [0x3d] = KEY_SUSPEND, /* system standby */
4c0f631e
RC
1511
1512};
1513
1514EXPORT_SYMBOL_GPL(ir_codes_rc5_tv);
1515
1516/* Table for Leadtek Winfast Remote Controls - used by both bttv and cx88 */
1517IR_KEYTAB_TYPE ir_codes_winfast[IR_KEYTAB_SIZE] = {
1518 /* Keys 0 to 9 */
3b82bddb
MCC
1519 [0x12] = KEY_0,
1520 [0x05] = KEY_1,
1521 [0x06] = KEY_2,
1522 [0x07] = KEY_3,
1523 [0x09] = KEY_4,
1524 [0x0a] = KEY_5,
1525 [0x0b] = KEY_6,
1526 [0x0d] = KEY_7,
1527 [0x0e] = KEY_8,
1528 [0x0f] = KEY_9,
1529
1530 [0x00] = KEY_POWER,
5d35364e 1531 [0x1b] = KEY_AUDIO, /* Audio Source */
3b82bddb 1532 [0x02] = KEY_TUNER, /* TV/FM, not on Y0400052 */
5d35364e
MCC
1533 [0x1e] = KEY_VIDEO, /* Video Source */
1534 [0x16] = KEY_INFO, /* Display information */
3b82bddb
MCC
1535 [0x04] = KEY_VOLUMEUP,
1536 [0x08] = KEY_VOLUMEDOWN,
1537 [0x0c] = KEY_CHANNELUP,
1538 [0x10] = KEY_CHANNELDOWN,
1539 [0x03] = KEY_ZOOM, /* fullscreen */
1540 [0x1f] = KEY_TEXT, /* closed caption/teletext */
1541 [0x20] = KEY_SLEEP,
5d35364e 1542 [0x29] = KEY_CLEAR, /* boss key */
3b82bddb
MCC
1543 [0x14] = KEY_MUTE,
1544 [0x2b] = KEY_RED,
1545 [0x2c] = KEY_GREEN,
1546 [0x2d] = KEY_YELLOW,
1547 [0x2e] = KEY_BLUE,
1548 [0x18] = KEY_KPPLUS, /* fine tune + , not on Y040052 */
1549 [0x19] = KEY_KPMINUS, /* fine tune - , not on Y040052 */
5d35364e 1550 [0x2a] = KEY_MEDIA, /* PIP (Picture in picture */
3b82bddb
MCC
1551 [0x21] = KEY_DOT,
1552 [0x13] = KEY_ENTER,
5d35364e 1553 [0x11] = KEY_LAST, /* Recall (last channel */
3b82bddb
MCC
1554 [0x22] = KEY_PREVIOUS,
1555 [0x23] = KEY_PLAYPAUSE,
1556 [0x24] = KEY_NEXT,
5d35364e 1557 [0x25] = KEY_ARCHIVE, /* Time Shifting */
3b82bddb
MCC
1558 [0x26] = KEY_STOP,
1559 [0x27] = KEY_RECORD,
5d35364e 1560 [0x28] = KEY_SAVE, /* Screenshot */
3b82bddb
MCC
1561 [0x2f] = KEY_MENU,
1562 [0x30] = KEY_CANCEL,
5d35364e 1563 [0x31] = KEY_CHANNEL, /* Channel Surf */
3b82bddb
MCC
1564 [0x32] = KEY_SUBTITLE,
1565 [0x33] = KEY_LANGUAGE,
1566 [0x34] = KEY_REWIND,
1567 [0x35] = KEY_FASTFORWARD,
1568 [0x36] = KEY_TV,
5d35364e 1569 [0x37] = KEY_RADIO, /* FM */
3b82bddb
MCC
1570 [0x38] = KEY_DVD,
1571
5d35364e
MCC
1572 [0x3e] = KEY_F21, /* MCE +VOL, on Y04G0033 */
1573 [0x3a] = KEY_F22, /* MCE -VOL, on Y04G0033 */
1574 [0x3b] = KEY_F23, /* MCE +CH, on Y04G0033 */
1575 [0x3f] = KEY_F24 /* MCE -CH, on Y04G0033 */
4c0f631e
RC
1576};
1577
1578EXPORT_SYMBOL_GPL(ir_codes_winfast);
1579
b93eedb6 1580IR_KEYTAB_TYPE ir_codes_pinnacle_color[IR_KEYTAB_SIZE] = {
3b82bddb
MCC
1581 [0x59] = KEY_MUTE,
1582 [0x4a] = KEY_POWER,
4c0f631e 1583
3b82bddb
MCC
1584 [0x18] = KEY_TEXT,
1585 [0x26] = KEY_TV,
1586 [0x3d] = KEY_PRINT,
4c0f631e 1587
3b82bddb
MCC
1588 [0x48] = KEY_RED,
1589 [0x04] = KEY_GREEN,
1590 [0x11] = KEY_YELLOW,
1591 [0x00] = KEY_BLUE,
4c0f631e 1592
3b82bddb
MCC
1593 [0x2d] = KEY_VOLUMEUP,
1594 [0x1e] = KEY_VOLUMEDOWN,
4c0f631e 1595
3b82bddb 1596 [0x49] = KEY_MENU,
4c0f631e 1597
3b82bddb
MCC
1598 [0x16] = KEY_CHANNELUP,
1599 [0x17] = KEY_CHANNELDOWN,
4c0f631e 1600
3b82bddb
MCC
1601 [0x20] = KEY_UP,
1602 [0x21] = KEY_DOWN,
1603 [0x22] = KEY_LEFT,
1604 [0x23] = KEY_RIGHT,
1605 [0x0d] = KEY_SELECT,
1606
1607
1608
1609 [0x08] = KEY_BACK,
1610 [0x07] = KEY_REFRESH,
1611
1612 [0x2f] = KEY_ZOOM,
1613 [0x29] = KEY_RECORD,
1614
1615 [0x4b] = KEY_PAUSE,
1616 [0x4d] = KEY_REWIND,
1617 [0x2e] = KEY_PLAY,
1618 [0x4e] = KEY_FORWARD,
1619 [0x53] = KEY_PREVIOUS,
1620 [0x4c] = KEY_STOP,
1621 [0x54] = KEY_NEXT,
1622
1623 [0x69] = KEY_0,
1624 [0x6a] = KEY_1,
1625 [0x6b] = KEY_2,
1626 [0x6c] = KEY_3,
1627 [0x6d] = KEY_4,
1628 [0x6e] = KEY_5,
1629 [0x6f] = KEY_6,
1630 [0x70] = KEY_7,
1631 [0x71] = KEY_8,
1632 [0x72] = KEY_9,
1633
1634 [0x74] = KEY_CHANNEL,
1635 [0x0a] = KEY_BACKSPACE,
4c0f631e
RC
1636};
1637
b93eedb6 1638EXPORT_SYMBOL_GPL(ir_codes_pinnacle_color);
4c0f631e
RC
1639
1640/* Hauppauge: the newer, gray remotes (seems there are multiple
1641 * slightly different versions), shipped with cx88+ivtv cards.
1642 * almost rc5 coding, but some non-standard keys */
1643IR_KEYTAB_TYPE ir_codes_hauppauge_new[IR_KEYTAB_SIZE] = {
1644 /* Keys 0 to 9 */
3b82bddb
MCC
1645 [0x00] = KEY_0,
1646 [0x01] = KEY_1,
1647 [0x02] = KEY_2,
1648 [0x03] = KEY_3,
1649 [0x04] = KEY_4,
1650 [0x05] = KEY_5,
1651 [0x06] = KEY_6,
1652 [0x07] = KEY_7,
1653 [0x08] = KEY_8,
1654 [0x09] = KEY_9,
1655
5d35364e 1656 [0x0a] = KEY_TEXT, /* keypad asterisk as well */
3b82bddb
MCC
1657 [0x0b] = KEY_RED, /* red button */
1658 [0x0c] = KEY_RADIO,
1659 [0x0d] = KEY_MENU,
5d35364e 1660 [0x0e] = KEY_SUBTITLE, /* also the # key */
3b82bddb
MCC
1661 [0x0f] = KEY_MUTE,
1662 [0x10] = KEY_VOLUMEUP,
1663 [0x11] = KEY_VOLUMEDOWN,
5d35364e 1664 [0x12] = KEY_PREVIOUS, /* previous channel */
3b82bddb
MCC
1665 [0x14] = KEY_UP,
1666 [0x15] = KEY_DOWN,
1667 [0x16] = KEY_LEFT,
1668 [0x17] = KEY_RIGHT,
1669 [0x18] = KEY_VIDEO, /* Videos */
1670 [0x19] = KEY_AUDIO, /* Music */
4c0f631e
RC
1671 /* 0x1a: Pictures - presume this means
1672 "Multimedia Home Platform" -
1673 no "PICTURES" key in input.h
1674 */
3b82bddb
MCC
1675 [0x1a] = KEY_MHP,
1676
1677 [0x1b] = KEY_EPG, /* Guide */
1678 [0x1c] = KEY_TV,
5d35364e 1679 [0x1e] = KEY_NEXTSONG, /* skip >| */
3b82bddb 1680 [0x1f] = KEY_EXIT, /* back/exit */
5d35364e 1681 [0x20] = KEY_CHANNELUP, /* channel / program + */
3b82bddb
MCC
1682 [0x21] = KEY_CHANNELDOWN, /* channel / program - */
1683 [0x22] = KEY_CHANNEL, /* source (old black remote) */
1684 [0x24] = KEY_PREVIOUSSONG, /* replay |< */
1685 [0x25] = KEY_ENTER, /* OK */
1686 [0x26] = KEY_SLEEP, /* minimize (old black remote) */
1687 [0x29] = KEY_BLUE, /* blue key */
1688 [0x2e] = KEY_GREEN, /* green button */
1689 [0x30] = KEY_PAUSE, /* pause */
1690 [0x32] = KEY_REWIND, /* backward << */
1691 [0x34] = KEY_FASTFORWARD, /* forward >> */
1692 [0x35] = KEY_PLAY,
1693 [0x36] = KEY_STOP,
1694 [0x37] = KEY_RECORD, /* recording */
1695 [0x38] = KEY_YELLOW, /* yellow key */
1696 [0x3b] = KEY_SELECT, /* top right button */
1697 [0x3c] = KEY_ZOOM, /* full */
1698 [0x3d] = KEY_POWER, /* system power (green button) */
4c0f631e
RC
1699};
1700
1701EXPORT_SYMBOL_GPL(ir_codes_hauppauge_new);
680543c5
RC
1702
1703IR_KEYTAB_TYPE ir_codes_npgtech[IR_KEYTAB_SIZE] = {
5d35364e 1704 [0x1d] = KEY_SWITCHVIDEOMODE, /* switch inputs */
3b82bddb
MCC
1705 [0x2a] = KEY_FRONT,
1706
1707 [0x3e] = KEY_1,
1708 [0x02] = KEY_2,
1709 [0x06] = KEY_3,
1710 [0x0a] = KEY_4,
1711 [0x0e] = KEY_5,
1712 [0x12] = KEY_6,
1713 [0x16] = KEY_7,
1714 [0x1a] = KEY_8,
1715 [0x1e] = KEY_9,
1716 [0x3a] = KEY_0,
5d35364e 1717 [0x22] = KEY_NUMLOCK, /* -/-- */
3b82bddb
MCC
1718 [0x20] = KEY_REFRESH,
1719
1720 [0x03] = KEY_BRIGHTNESSDOWN,
1721 [0x28] = KEY_AUDIO,
1722 [0x3c] = KEY_UP,
1723 [0x3f] = KEY_LEFT,
1724 [0x2e] = KEY_MUTE,
1725 [0x3b] = KEY_RIGHT,
1726 [0x00] = KEY_DOWN,
1727 [0x07] = KEY_BRIGHTNESSUP,
1728 [0x2c] = KEY_TEXT,
1729
1730 [0x37] = KEY_RECORD,
1731 [0x17] = KEY_PLAY,
1732 [0x13] = KEY_PAUSE,
1733 [0x26] = KEY_STOP,
1734 [0x18] = KEY_FASTFORWARD,
1735 [0x14] = KEY_REWIND,
1736 [0x33] = KEY_ZOOM,
1737 [0x32] = KEY_KEYBOARD,
5d35364e
MCC
1738 [0x30] = KEY_GOTO, /* Pointing arrow */
1739 [0x36] = KEY_MACRO, /* Maximize/Minimize (yellow) */
3b82bddb
MCC
1740 [0x0b] = KEY_RADIO,
1741 [0x10] = KEY_POWER,
680543c5
RC
1742
1743};
1744
1745EXPORT_SYMBOL_GPL(ir_codes_npgtech);
d1009bd7
PN
1746
1747/* Norwood Micro (non-Pro) TV Tuner
1748 By Peter Naulls <[email protected]>
1749 Key comments are the functions given in the manual */
1750IR_KEYTAB_TYPE ir_codes_norwood[IR_KEYTAB_SIZE] = {
1751 /* Keys 0 to 9 */
3b82bddb
MCC
1752 [0x20] = KEY_0,
1753 [0x21] = KEY_1,
1754 [0x22] = KEY_2,
1755 [0x23] = KEY_3,
1756 [0x24] = KEY_4,
1757 [0x25] = KEY_5,
1758 [0x26] = KEY_6,
1759 [0x27] = KEY_7,
1760 [0x28] = KEY_8,
1761 [0x29] = KEY_9,
1762
5d35364e
MCC
1763 [0x78] = KEY_TUNER, /* Video Source */
1764 [0x2c] = KEY_EXIT, /* Open/Close software */
1765 [0x2a] = KEY_SELECT, /* 2 Digit Select */
1766 [0x69] = KEY_AGAIN, /* Recall */
1767
1768 [0x32] = KEY_BRIGHTNESSUP, /* Brightness increase */
1769 [0x33] = KEY_BRIGHTNESSDOWN, /* Brightness decrease */
1770 [0x6b] = KEY_KPPLUS, /* (not named >>>>>) */
1771 [0x6c] = KEY_KPMINUS, /* (not named <<<<<) */
1772
1773 [0x2d] = KEY_MUTE, /* Mute */
1774 [0x30] = KEY_VOLUMEUP, /* Volume up */
1775 [0x31] = KEY_VOLUMEDOWN,/* Volume down */
1776 [0x60] = KEY_CHANNELUP, /* Channel up */
1777 [0x61] = KEY_CHANNELDOWN,/* Channel down */
1778
1779 [0x3f] = KEY_RECORD, /* Record */
1780 [0x37] = KEY_PLAY, /* Play */
1781 [0x36] = KEY_PAUSE, /* Pause */
1782 [0x2b] = KEY_STOP, /* Stop */
1783 [0x67] = KEY_FASTFORWARD,/* Foward */
1784 [0x66] = KEY_REWIND, /* Rewind */
1785 [0x3e] = KEY_SEARCH, /* Auto Scan */
1786 [0x2e] = KEY_CAMERA, /* Capture Video */
1787 [0x6d] = KEY_MENU, /* Show/Hide Control */
1788 [0x2f] = KEY_ZOOM, /* Full Screen */
1789 [0x34] = KEY_RADIO, /* FM */
1790 [0x65] = KEY_POWER, /* Computer power */
d1009bd7
PN
1791};
1792
1793EXPORT_SYMBOL_GPL(ir_codes_norwood);
2520fffd
DH
1794
1795/* From reading the following remotes:
1796 * Zenith Universal 7 / TV Mode 807 / VCR Mode 837
1797 * Hauppauge (from NOVA-CI-s box product)
1798 * This is a "middle of the road" approach, differences are noted
1799 */
1800IR_KEYTAB_TYPE ir_codes_budget_ci_old[IR_KEYTAB_SIZE] = {
3b82bddb
MCC
1801 [0x00] = KEY_0,
1802 [0x01] = KEY_1,
1803 [0x02] = KEY_2,
1804 [0x03] = KEY_3,
1805 [0x04] = KEY_4,
1806 [0x05] = KEY_5,
1807 [0x06] = KEY_6,
1808 [0x07] = KEY_7,
1809 [0x08] = KEY_8,
1810 [0x09] = KEY_9,
1811 [0x0a] = KEY_ENTER,
1812 [0x0b] = KEY_RED,
5d35364e 1813 [0x0c] = KEY_POWER, /* RADIO on Hauppauge */
3b82bddb 1814 [0x0d] = KEY_MUTE,
5d35364e 1815 [0x0f] = KEY_A, /* TV on Hauppauge */
3b82bddb
MCC
1816 [0x10] = KEY_VOLUMEUP,
1817 [0x11] = KEY_VOLUMEDOWN,
1818 [0x14] = KEY_B,
1819 [0x1c] = KEY_UP,
1820 [0x1d] = KEY_DOWN,
5d35364e 1821 [0x1e] = KEY_OPTION, /* RESERVED on Hauppauge */
3b82bddb
MCC
1822 [0x1f] = KEY_BREAK,
1823 [0x20] = KEY_CHANNELUP,
1824 [0x21] = KEY_CHANNELDOWN,
5d35364e 1825 [0x22] = KEY_PREVIOUS, /* Prev Ch on Zenith, SOURCE on Hauppauge */
3b82bddb
MCC
1826 [0x24] = KEY_RESTART,
1827 [0x25] = KEY_OK,
5d35364e
MCC
1828 [0x26] = KEY_CYCLEWINDOWS, /* MINIMIZE on Hauppauge */
1829 [0x28] = KEY_ENTER, /* VCR mode on Zenith */
3b82bddb
MCC
1830 [0x29] = KEY_PAUSE,
1831 [0x2b] = KEY_RIGHT,
1832 [0x2c] = KEY_LEFT,
5d35364e 1833 [0x2e] = KEY_MENU, /* FULL SCREEN on Hauppauge */
3b82bddb 1834 [0x30] = KEY_SLOW,
5d35364e 1835 [0x31] = KEY_PREVIOUS, /* VCR mode on Zenith */
3b82bddb
MCC
1836 [0x32] = KEY_REWIND,
1837 [0x34] = KEY_FASTFORWARD,
1838 [0x35] = KEY_PLAY,
1839 [0x36] = KEY_STOP,
1840 [0x37] = KEY_RECORD,
5d35364e 1841 [0x38] = KEY_TUNER, /* TV/VCR on Zenith */
3b82bddb
MCC
1842 [0x3a] = KEY_C,
1843 [0x3c] = KEY_EXIT,
1844 [0x3d] = KEY_POWER2,
1845 [0x3e] = KEY_TUNER,
2520fffd
DH
1846};
1847
1848EXPORT_SYMBOL_GPL(ir_codes_budget_ci_old);
9160723e
HP
1849
1850/*
1851 * Marc Fargas <[email protected]>
1852 * this is the remote control that comes with the asus p7131
1853 * which has a label saying is "Model PC-39"
1854 */
1855IR_KEYTAB_TYPE ir_codes_asus_pc39[IR_KEYTAB_SIZE] = {
1856 /* Keys 0 to 9 */
3b82bddb
MCC
1857 [0x15] = KEY_0,
1858 [0x29] = KEY_1,
1859 [0x2d] = KEY_2,
1860 [0x2b] = KEY_3,
1861 [0x09] = KEY_4,
1862 [0x0d] = KEY_5,
1863 [0x0b] = KEY_6,
1864 [0x31] = KEY_7,
1865 [0x35] = KEY_8,
1866 [0x33] = KEY_9,
1867
1868 [0x3e] = KEY_RADIO, /* radio */
1869 [0x03] = KEY_MENU, /* dvd/menu */
1870 [0x2a] = KEY_VOLUMEUP,
1871 [0x19] = KEY_VOLUMEDOWN,
1872 [0x37] = KEY_UP,
1873 [0x3b] = KEY_DOWN,
1874 [0x27] = KEY_LEFT,
1875 [0x2f] = KEY_RIGHT,
1876 [0x25] = KEY_VIDEO, /* video */
1877 [0x39] = KEY_AUDIO, /* music */
1878
1879 [0x21] = KEY_TV, /* tv */
1880 [0x1d] = KEY_EXIT, /* back */
5d35364e 1881 [0x0a] = KEY_CHANNELUP, /* channel / program + */
3b82bddb
MCC
1882 [0x1b] = KEY_CHANNELDOWN, /* channel / program - */
1883 [0x1a] = KEY_ENTER, /* enter */
1884
1885 [0x06] = KEY_PAUSE, /* play/pause */
5d35364e 1886 [0x1e] = KEY_PREVIOUS, /* rew */
3b82bddb
MCC
1887 [0x26] = KEY_NEXT, /* forward */
1888 [0x0e] = KEY_REWIND, /* backward << */
1889 [0x3a] = KEY_FASTFORWARD, /* forward >> */
1890 [0x36] = KEY_STOP,
1891 [0x2e] = KEY_RECORD, /* recording */
1892 [0x16] = KEY_POWER, /* the button that reads "close" */
1893
1894 [0x11] = KEY_ZOOM, /* full screen */
1895 [0x13] = KEY_MACRO, /* recall */
1896 [0x23] = KEY_HOME, /* home */
1897 [0x05] = KEY_PVR, /* picture */
1898 [0x3d] = KEY_MUTE, /* mute */
1899 [0x01] = KEY_DVD, /* dvd */
9160723e
HP
1900};
1901
1902EXPORT_SYMBOL_GPL(ir_codes_asus_pc39);
c36c459a
JPS
1903
1904
1905/* Encore ENLTV-FM - black plastic, white front cover with white glowing buttons
1906 Juan Pablo Sormani <[email protected]> */
1907IR_KEYTAB_TYPE ir_codes_encore_enltv[IR_KEYTAB_SIZE] = {
1908
1909 /* Power button does nothing, neither in Windows app,
1910 although it sends data (used for BIOS wakeup?) */
3b82bddb
MCC
1911 [0x0d] = KEY_MUTE,
1912
1913 [0x1e] = KEY_TV,
1914 [0x00] = KEY_VIDEO,
1915 [0x01] = KEY_AUDIO, /* music */
1916 [0x02] = KEY_MHP, /* picture */
1917
1918 [0x1f] = KEY_1,
1919 [0x03] = KEY_2,
1920 [0x04] = KEY_3,
1921 [0x05] = KEY_4,
1922 [0x1c] = KEY_5,
1923 [0x06] = KEY_6,
1924 [0x07] = KEY_7,
1925 [0x08] = KEY_8,
1926 [0x1d] = KEY_9,
1927 [0x0a] = KEY_0,
1928
5d35364e
MCC
1929 [0x09] = KEY_LIST, /* -/-- */
1930 [0x0b] = KEY_LAST, /* recall */
3b82bddb
MCC
1931
1932 [0x14] = KEY_HOME, /* win start menu */
1933 [0x15] = KEY_EXIT, /* exit */
1934 [0x16] = KEY_UP,
1935 [0x12] = KEY_DOWN,
1936 [0x0c] = KEY_RIGHT,
1937 [0x17] = KEY_LEFT,
1938
1939 [0x18] = KEY_ENTER, /* OK */
1940
1941 [0x0e] = KEY_ESC,
5d35364e 1942 [0x13] = KEY_D, /* desktop */
3b82bddb
MCC
1943 [0x11] = KEY_TAB,
1944 [0x19] = KEY_SWITCHVIDEOMODE, /* switch */
1945
1946 [0x1a] = KEY_MENU,
1947 [0x1b] = KEY_ZOOM, /* fullscreen */
1948 [0x44] = KEY_TIME, /* time shift */
1949 [0x40] = KEY_MODE, /* source */
1950
1951 [0x5a] = KEY_RECORD,
1952 [0x42] = KEY_PLAY, /* play/pause */
1953 [0x45] = KEY_STOP,
1954 [0x43] = KEY_CAMERA, /* camera icon */
1955
1956 [0x48] = KEY_REWIND,
1957 [0x4a] = KEY_FASTFORWARD,
1958 [0x49] = KEY_PREVIOUS,
1959 [0x4b] = KEY_NEXT,
1960
5d35364e 1961 [0x4c] = KEY_FAVORITES, /* tv wall */
3b82bddb 1962 [0x4d] = KEY_SOUND, /* DVD sound */
5d35364e 1963 [0x4e] = KEY_LANGUAGE, /* DVD lang */
3b82bddb
MCC
1964 [0x4f] = KEY_TEXT, /* DVD text */
1965
1966 [0x50] = KEY_SLEEP, /* shutdown */
1967 [0x51] = KEY_MODE, /* stereo > main */
1968 [0x52] = KEY_SELECT, /* stereo > sap */
1969 [0x53] = KEY_PROG1, /* teletext */
1970
1971
1972 [0x59] = KEY_RED, /* AP1 */
1973 [0x41] = KEY_GREEN, /* AP2 */
1974 [0x47] = KEY_YELLOW, /* AP3 */
1975 [0x57] = KEY_BLUE, /* AP4 */
c36c459a 1976};
c36c459a 1977EXPORT_SYMBOL_GPL(ir_codes_encore_enltv);
ae1942c5 1978
7d341a6a
MCC
1979/* Encore ENLTV2-FM - silver plastic - "Wand Media" written at the botton
1980 Mauro Carvalho Chehab <[email protected]> */
1981IR_KEYTAB_TYPE ir_codes_encore_enltv2[IR_KEYTAB_SIZE] = {
1982 [0x4c] = KEY_POWER2,
1983 [0x4a] = KEY_TUNER,
1984 [0x40] = KEY_1,
1985 [0x60] = KEY_2,
1986 [0x50] = KEY_3,
1987 [0x70] = KEY_4,
1988 [0x48] = KEY_5,
1989 [0x68] = KEY_6,
1990 [0x58] = KEY_7,
1991 [0x78] = KEY_8,
1992 [0x44] = KEY_9,
1993 [0x54] = KEY_0,
1994
1995 [0x64] = KEY_LAST, /* +100 */
1996 [0x4e] = KEY_AGAIN, /* Recall */
1997
1998 [0x6c] = KEY_SWITCHVIDEOMODE, /* Video Source */
1999 [0x5e] = KEY_MENU,
2000 [0x56] = KEY_SCREEN,
2001 [0x7a] = KEY_SETUP,
2002
2003 [0x46] = KEY_MUTE,
2004 [0x5c] = KEY_MODE, /* Stereo */
2005 [0x74] = KEY_INFO,
2006 [0x7c] = KEY_CLEAR,
2007
2008 [0x55] = KEY_UP,
2009 [0x49] = KEY_DOWN,
2010 [0x7e] = KEY_LEFT,
2011 [0x59] = KEY_RIGHT,
2012 [0x6a] = KEY_ENTER,
2013
2014 [0x42] = KEY_VOLUMEUP,
2015 [0x62] = KEY_VOLUMEDOWN,
2016 [0x52] = KEY_CHANNELUP,
2017 [0x72] = KEY_CHANNELDOWN,
2018
2019 [0x41] = KEY_RECORD,
5d35364e
MCC
2020 [0x51] = KEY_SHUFFLE, /* Snapshot */
2021 [0x75] = KEY_TIME, /* Timeshift */
2022 [0x71] = KEY_TV2, /* PIP */
7d341a6a
MCC
2023
2024 [0x45] = KEY_REWIND,
2025 [0x6f] = KEY_PAUSE,
2026 [0x7d] = KEY_FORWARD,
2027 [0x79] = KEY_STOP,
2028};
2029EXPORT_SYMBOL_GPL(ir_codes_encore_enltv2);
2030
28aedb8f 2031/* for the Technotrend 1500 bundled remotes (grey and black): */
ae1942c5 2032IR_KEYTAB_TYPE ir_codes_tt_1500[IR_KEYTAB_SIZE] = {
3b82bddb 2033 [0x01] = KEY_POWER,
5d35364e 2034 [0x02] = KEY_SHUFFLE, /* ? double-arrow key */
3b82bddb
MCC
2035 [0x03] = KEY_1,
2036 [0x04] = KEY_2,
2037 [0x05] = KEY_3,
2038 [0x06] = KEY_4,
2039 [0x07] = KEY_5,
2040 [0x08] = KEY_6,
2041 [0x09] = KEY_7,
2042 [0x0a] = KEY_8,
2043 [0x0b] = KEY_9,
2044 [0x0c] = KEY_0,
2045 [0x0d] = KEY_UP,
2046 [0x0e] = KEY_LEFT,
2047 [0x0f] = KEY_OK,
2048 [0x10] = KEY_RIGHT,
2049 [0x11] = KEY_DOWN,
2050 [0x12] = KEY_INFO,
2051 [0x13] = KEY_EXIT,
2052 [0x14] = KEY_RED,
2053 [0x15] = KEY_GREEN,
2054 [0x16] = KEY_YELLOW,
2055 [0x17] = KEY_BLUE,
2056 [0x18] = KEY_MUTE,
2057 [0x19] = KEY_TEXT,
5d35364e 2058 [0x1a] = KEY_MODE, /* ? TV/Radio */
3b82bddb
MCC
2059 [0x21] = KEY_OPTION,
2060 [0x22] = KEY_EPG,
2061 [0x23] = KEY_CHANNELUP,
2062 [0x24] = KEY_CHANNELDOWN,
2063 [0x25] = KEY_VOLUMEUP,
2064 [0x26] = KEY_VOLUMEDOWN,
2065 [0x27] = KEY_SETUP,
5d35364e 2066 [0x3a] = KEY_RECORD, /* these keys are only in the black remote */
3b82bddb
MCC
2067 [0x3b] = KEY_PLAY,
2068 [0x3c] = KEY_STOP,
2069 [0x3d] = KEY_REWIND,
2070 [0x3e] = KEY_PAUSE,
2071 [0x3f] = KEY_FORWARD,
ae1942c5
VPV
2072};
2073
2074EXPORT_SYMBOL_GPL(ir_codes_tt_1500);
d54d6980 2075
3c44358c
MK
2076/* DViCO FUSION HDTV MCE remote */
2077IR_KEYTAB_TYPE ir_codes_fusionhdtv_mce[IR_KEYTAB_SIZE] = {
d54d6980 2078
3b82bddb
MCC
2079 [0x0b] = KEY_1,
2080 [0x17] = KEY_2,
2081 [0x1b] = KEY_3,
2082 [0x07] = KEY_4,
2083 [0x50] = KEY_5,
2084 [0x54] = KEY_6,
2085 [0x48] = KEY_7,
2086 [0x4c] = KEY_8,
2087 [0x58] = KEY_9,
2088 [0x03] = KEY_0,
2089
2090 [0x5e] = KEY_OK,
2091 [0x51] = KEY_UP,
2092 [0x53] = KEY_DOWN,
2093 [0x5b] = KEY_LEFT,
2094 [0x5f] = KEY_RIGHT,
2095
2096 [0x02] = KEY_TV, /* Labeled DTV on remote */
2097 [0x0e] = KEY_MP3,
2098 [0x1a] = KEY_DVD,
5d35364e 2099 [0x1e] = KEY_FAVORITES, /* Labeled CPF on remote */
3b82bddb
MCC
2100 [0x16] = KEY_SETUP,
2101 [0x46] = KEY_POWER2, /* TV On/Off button on remote */
2102 [0x0a] = KEY_EPG, /* Labeled Guide on remote */
2103
2104 [0x49] = KEY_BACK,
2105 [0x59] = KEY_INFO, /* Labeled MORE on remote */
2106 [0x4d] = KEY_MENU, /* Labeled DVDMENU on remote */
2107 [0x55] = KEY_CYCLEWINDOWS, /* Labeled ALT-TAB on remote */
2108
2109 [0x0f] = KEY_PREVIOUSSONG, /* Labeled |<< REPLAY on remote */
5d35364e
MCC
2110 [0x12] = KEY_NEXTSONG, /* Labeled >>| SKIP on remote */
2111 [0x42] = KEY_ENTER, /* Labeled START with a green
2112 MS windows logo on remote */
d54d6980 2113
3b82bddb
MCC
2114 [0x15] = KEY_VOLUMEUP,
2115 [0x05] = KEY_VOLUMEDOWN,
2116 [0x11] = KEY_CHANNELUP,
2117 [0x09] = KEY_CHANNELDOWN,
2118
2119 [0x52] = KEY_CAMERA,
2120 [0x5a] = KEY_TUNER,
2121 [0x19] = KEY_OPEN,
2122
2123 [0x13] = KEY_MODE, /* 4:3 16:9 select */
2124 [0x1f] = KEY_ZOOM,
2125
2126 [0x43] = KEY_REWIND,
2127 [0x47] = KEY_PLAYPAUSE,
2128 [0x4f] = KEY_FASTFORWARD,
2129 [0x57] = KEY_MUTE,
2130 [0x0d] = KEY_STOP,
2131 [0x01] = KEY_RECORD,
2132 [0x4e] = KEY_POWER,
d54d6980
CZ
2133};
2134
3c44358c 2135EXPORT_SYMBOL_GPL(ir_codes_fusionhdtv_mce);
e8018c9e 2136
9121106a
ST
2137/* Pinnacle PCTV HD 800i mini remote */
2138IR_KEYTAB_TYPE ir_codes_pinnacle_pctv_hd[IR_KEYTAB_SIZE] = {
2139
2140 [0x0f] = KEY_1,
2141 [0x15] = KEY_2,
2142 [0x10] = KEY_3,
2143 [0x18] = KEY_4,
2144 [0x1b] = KEY_5,
2145 [0x1e] = KEY_6,
2146 [0x11] = KEY_7,
2147 [0x21] = KEY_8,
2148 [0x12] = KEY_9,
2149 [0x27] = KEY_0,
2150
2151 [0x24] = KEY_ZOOM,
2152 [0x2a] = KEY_SUBTITLE,
2153
2154 [0x00] = KEY_MUTE,
2155 [0x01] = KEY_ENTER, /* Pinnacle Logo */
2156 [0x39] = KEY_POWER,
2157
2158 [0x03] = KEY_VOLUMEUP,
2159 [0x09] = KEY_VOLUMEDOWN,
2160 [0x06] = KEY_CHANNELUP,
2161 [0x0c] = KEY_CHANNELDOWN,
2162
2163 [0x2d] = KEY_REWIND,
2164 [0x30] = KEY_PLAYPAUSE,
2165 [0x33] = KEY_FASTFORWARD,
2166 [0x3c] = KEY_STOP,
2167 [0x36] = KEY_RECORD,
2168 [0x3f] = KEY_EPG, /* Labeled "?" */
2169};
2170EXPORT_SYMBOL_GPL(ir_codes_pinnacle_pctv_hd);
2171
e8018c9e
AMT
2172/*
2173 * Igor Kuznetsov <[email protected]>
2174 * Andrey J. Melnikov <[email protected]>
2175 *
2176 * Keytable is used by BeholdTV 60x series, M6 series at
2177 * least, and probably other cards too.
2178 * The "ascii-art picture" below (in comments, first row
2179 * is the keycode in hex, and subsequent row(s) shows
2180 * the button labels (several variants when appropriate)
2181 * helps to descide which keycodes to assign to the buttons.
2182 */
2183IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE] = {
2184
2185 /* 0x1c 0x12 *
2186 * TV/FM POWER *
2187 * */
5d35364e 2188 [0x1c] = KEY_TUNER, /* XXX KEY_TV / KEY_RADIO */
3b82bddb 2189 [0x12] = KEY_POWER,
e8018c9e
AMT
2190
2191 /* 0x01 0x02 0x03 *
2192 * 1 2 3 *
2193 * *
2194 * 0x04 0x05 0x06 *
2195 * 4 5 6 *
2196 * *
2197 * 0x07 0x08 0x09 *
2198 * 7 8 9 *
2199 * */
3b82bddb
MCC
2200 [0x01] = KEY_1,
2201 [0x02] = KEY_2,
2202 [0x03] = KEY_3,
2203 [0x04] = KEY_4,
2204 [0x05] = KEY_5,
2205 [0x06] = KEY_6,
2206 [0x07] = KEY_7,
2207 [0x08] = KEY_8,
2208 [0x09] = KEY_9,
e8018c9e
AMT
2209
2210 /* 0x0a 0x00 0x17 *
2211 * RECALL 0 MODE *
2212 * */
3b82bddb
MCC
2213 [0x0a] = KEY_AGAIN,
2214 [0x00] = KEY_0,
2215 [0x17] = KEY_MODE,
e8018c9e
AMT
2216
2217 /* 0x14 0x10 *
2218 * ASPECT FULLSCREEN *
2219 * */
3b82bddb
MCC
2220 [0x14] = KEY_SCREEN,
2221 [0x10] = KEY_ZOOM,
e8018c9e
AMT
2222
2223 /* 0x0b *
2224 * Up *
2225 * *
2226 * 0x18 0x16 0x0c *
2227 * Left Ok Right *
2228 * *
2229 * 0x015 *
2230 * Down *
2231 * */
5d35364e
MCC
2232 [0x0b] = KEY_CHANNELUP, /* XXX KEY_UP */
2233 [0x18] = KEY_VOLUMEDOWN, /* XXX KEY_LEFT */
2234 [0x16] = KEY_OK, /* XXX KEY_ENTER */
2235 [0x0c] = KEY_VOLUMEUP, /* XXX KEY_RIGHT */
2236 [0x15] = KEY_CHANNELDOWN, /* XXX KEY_DOWN */
e8018c9e
AMT
2237
2238 /* 0x11 0x0d *
2239 * MUTE INFO *
2240 * */
3b82bddb
MCC
2241 [0x11] = KEY_MUTE,
2242 [0x0d] = KEY_INFO,
e8018c9e
AMT
2243
2244 /* 0x0f 0x1b 0x1a *
2245 * RECORD PLAY/PAUSE STOP *
2246 * *
2247 * 0x0e 0x1f 0x1e *
2248 *TELETEXT AUDIO SOURCE *
2249 * RED YELLOW *
2250 * */
3b82bddb
MCC
2251 [0x0f] = KEY_RECORD,
2252 [0x1b] = KEY_PLAYPAUSE,
2253 [0x1a] = KEY_STOP,
2254 [0x0e] = KEY_TEXT,
5d35364e
MCC
2255 [0x1f] = KEY_RED, /*XXX KEY_AUDIO */
2256 [0x1e] = KEY_YELLOW, /*XXX KEY_SOURCE */
e8018c9e
AMT
2257
2258 /* 0x1d 0x13 0x19 *
2259 * SLEEP PREVIEW DVB *
2260 * GREEN BLUE *
2261 * */
3b82bddb
MCC
2262 [0x1d] = KEY_SLEEP,
2263 [0x13] = KEY_GREEN,
5d35364e 2264 [0x19] = KEY_BLUE, /* XXX KEY_SAT */
e8018c9e
AMT
2265
2266 /* 0x58 0x5c *
2267 * FREEZE SNAPSHOT *
2268 * */
3b82bddb
MCC
2269 [0x58] = KEY_SLOW,
2270 [0x5c] = KEY_SAVE,
e8018c9e
AMT
2271
2272};
2273
2274EXPORT_SYMBOL_GPL(ir_codes_behold);
f0ba356c 2275
b34dddbe
DB
2276/* Beholder Intl. Ltd. 2008
2277 * Dmitry Belimov [email protected]
2278 * Keytable is used by BeholdTV Columbus
2279 * The "ascii-art picture" below (in comments, first row
2280 * is the keycode in hex, and subsequent row(s) shows
2281 * the button labels (several variants when appropriate)
2282 * helps to descide which keycodes to assign to the buttons.
2283 */
2284IR_KEYTAB_TYPE ir_codes_behold_columbus[IR_KEYTAB_SIZE] = {
2285
2286 /* 0x13 0x11 0x1C 0x12 *
2287 * Mute Source TV/FM Power *
2288 * */
2289
2290 [0x13] = KEY_MUTE,
2291 [0x11] = KEY_PROPS,
5d35364e 2292 [0x1C] = KEY_TUNER, /* KEY_TV/KEY_RADIO */
b34dddbe
DB
2293 [0x12] = KEY_POWER,
2294
2295 /* 0x01 0x02 0x03 0x0D *
2296 * 1 2 3 Stereo *
2297 * *
2298 * 0x04 0x05 0x06 0x19 *
2299 * 4 5 6 Snapshot *
2300 * *
2301 * 0x07 0x08 0x09 0x10 *
2302 * 7 8 9 Zoom *
2303 * */
2304 [0x01] = KEY_1,
2305 [0x02] = KEY_2,
2306 [0x03] = KEY_3,
2307 [0x0D] = KEY_SETUP, /* Setup key */
2308 [0x04] = KEY_4,
2309 [0x05] = KEY_5,
2310 [0x06] = KEY_6,
5d35364e 2311 [0x19] = KEY_BOOKMARKS, /* Snapshot key */
b34dddbe
DB
2312 [0x07] = KEY_7,
2313 [0x08] = KEY_8,
2314 [0x09] = KEY_9,
2315 [0x10] = KEY_ZOOM,
2316
2317 /* 0x0A 0x00 0x0B 0x0C *
2318 * RECALL 0 ChannelUp VolumeUp *
2319 * */
2320 [0x0A] = KEY_AGAIN,
2321 [0x00] = KEY_0,
2322 [0x0B] = KEY_CHANNELUP,
2323 [0x0C] = KEY_VOLUMEUP,
2324
2325 /* 0x1B 0x1D 0x15 0x18 *
2326 * Timeshift Record ChannelDown VolumeDown *
2327 * */
2328
2329 [0x1B] = KEY_REWIND,
2330 [0x1D] = KEY_RECORD,
2331 [0x15] = KEY_CHANNELDOWN,
2332 [0x18] = KEY_VOLUMEDOWN,
2333
2334 /* 0x0E 0x1E 0x0F 0x1A *
2335 * Stop Pause Previouse Next *
2336 * */
2337
2338 [0x0E] = KEY_STOP,
2339 [0x1E] = KEY_PAUSE,
2340 [0x0F] = KEY_PREVIOUS,
2341 [0x1A] = KEY_NEXT,
2342
2343};
2344EXPORT_SYMBOL_GPL(ir_codes_behold_columbus);
2345
f0ba356c
AP
2346/*
2347 * Remote control for the Genius TVGO A11MCE
2348 * Adrian Pardini <[email protected]>
2349 */
2350IR_KEYTAB_TYPE ir_codes_genius_tvgo_a11mce[IR_KEYTAB_SIZE] = {
2351 /* Keys 0 to 9 */
2352 [0x48] = KEY_0,
2353 [0x09] = KEY_1,
2354 [0x1d] = KEY_2,
2355 [0x1f] = KEY_3,
2356 [0x19] = KEY_4,
2357 [0x1b] = KEY_5,
2358 [0x11] = KEY_6,
2359 [0x17] = KEY_7,
2360 [0x12] = KEY_8,
2361 [0x16] = KEY_9,
2362
2363 [0x54] = KEY_RECORD, /* recording */
2364 [0x06] = KEY_MUTE, /* mute */
2365 [0x10] = KEY_POWER,
2366 [0x40] = KEY_LAST, /* recall */
2367 [0x4c] = KEY_CHANNELUP, /* channel / program + */
2368 [0x00] = KEY_CHANNELDOWN, /* channel / program - */
2369 [0x0d] = KEY_VOLUMEUP,
2370 [0x15] = KEY_VOLUMEDOWN,
2371 [0x4d] = KEY_OK, /* also labeled as Pause */
2372 [0x1c] = KEY_ZOOM, /* full screen and Stop*/
2373 [0x02] = KEY_MODE, /* AV Source or Rewind*/
2374 [0x04] = KEY_LIST, /* -/-- */
2375 /* small arrows above numbers */
2376 [0x1a] = KEY_NEXT, /* also Fast Forward */
5d35364e 2377 [0x0e] = KEY_PREVIOUS, /* also Rewind */
f0ba356c
AP
2378 /* these are in a rather non standard layout and have
2379 an alternate name written */
2380 [0x1e] = KEY_UP, /* Video Setting */
2381 [0x0a] = KEY_DOWN, /* Video Default */
2382 [0x05] = KEY_LEFT, /* Snapshot */
2383 [0x0c] = KEY_RIGHT, /* Hide Panel */
2384 /* Four buttons without label */
2385 [0x49] = KEY_RED,
2386 [0x0b] = KEY_GREEN,
2387 [0x13] = KEY_YELLOW,
2388 [0x50] = KEY_BLUE,
2389};
2390EXPORT_SYMBOL_GPL(ir_codes_genius_tvgo_a11mce);
ba928034
DF
2391
2392/*
2393 * Remote control for Powercolor Real Angel 330
2394 * Daniel Fraga <[email protected]>
2395 */
2396IR_KEYTAB_TYPE ir_codes_powercolor_real_angel[IR_KEYTAB_SIZE] = {
2397 [0x38] = KEY_SWITCHVIDEOMODE, /* switch inputs */
2398 [0x0c] = KEY_MEDIA, /* Turn ON/OFF App */
2399 [0x00] = KEY_0,
2400 [0x01] = KEY_1,
2401 [0x02] = KEY_2,
2402 [0x03] = KEY_3,
2403 [0x04] = KEY_4,
2404 [0x05] = KEY_5,
2405 [0x06] = KEY_6,
2406 [0x07] = KEY_7,
2407 [0x08] = KEY_8,
2408 [0x09] = KEY_9,
2409 [0x0a] = KEY_DIGITS, /* single, double, tripple digit */
2410 [0x29] = KEY_PREVIOUS, /* previous channel */
2411 [0x12] = KEY_BRIGHTNESSUP,
2412 [0x13] = KEY_BRIGHTNESSDOWN,
2413 [0x2b] = KEY_MODE, /* stereo/mono */
2414 [0x2c] = KEY_TEXT, /* teletext */
2415 [0x20] = KEY_UP, /* channel up */
2416 [0x21] = KEY_DOWN, /* channel down */
2417 [0x10] = KEY_RIGHT, /* volume up */
2418 [0x11] = KEY_LEFT, /* volume down */
2419 [0x0d] = KEY_MUTE,
2420 [0x1f] = KEY_RECORD,
2421 [0x17] = KEY_PLAY,
2422 [0x16] = KEY_PAUSE,
2423 [0x0b] = KEY_STOP,
2424 [0x27] = KEY_FASTFORWARD,
2425 [0x26] = KEY_REWIND,
2426 [0x1e] = KEY_SEARCH, /* autoscan */
2427 [0x0e] = KEY_SHUFFLE, /* snapshot */
2428 [0x2d] = KEY_SETUP,
2429 [0x0f] = KEY_SCREEN, /* full screen */
2430 [0x14] = KEY_RADIO, /* FM radio */
2431 [0x25] = KEY_POWER, /* power */
2432};
2433EXPORT_SYMBOL_GPL(ir_codes_powercolor_real_angel);
6e501a3f 2434
26d5f3a3
MCC
2435/* Kworld Plus TV Analog Lite PCI IR
2436 Mauro Carvalho Chehab <[email protected]>
2437 */
2438IR_KEYTAB_TYPE ir_codes_kworld_plus_tv_analog[IR_KEYTAB_SIZE] = {
2439 [0x0c] = KEY_PROG1, /* Kworld key */
2440 [0x16] = KEY_CLOSECD, /* -> ) */
2441 [0x1d] = KEY_POWER2,
2442
2443 [0x00] = KEY_1,
2444 [0x01] = KEY_2,
2445 [0x02] = KEY_3, /* Two keys have the same code: 3 and left */
2446 [0x03] = KEY_4, /* Two keys have the same code: 3 and right */
2447 [0x04] = KEY_5,
2448 [0x05] = KEY_6,
2449 [0x06] = KEY_7,
2450 [0x07] = KEY_8,
2451 [0x08] = KEY_9,
2452 [0x0a] = KEY_0,
2453
2454 [0x09] = KEY_AGAIN,
2455 [0x14] = KEY_MUTE,
2456
2457 [0x20] = KEY_UP,
2458 [0x21] = KEY_DOWN,
2459 [0x0b] = KEY_ENTER,
2460
2461 [0x10] = KEY_CHANNELUP,
2462 [0x11] = KEY_CHANNELDOWN,
2463
2464 /* Couldn't map key left/key right since those
2465 conflict with '3' and '4' scancodes
2466 I dunno what the original driver does
2467 */
2468
2469 [0x13] = KEY_VOLUMEUP,
2470 [0x12] = KEY_VOLUMEDOWN,
2471
2472 /* The lower part of the IR
2473 There are several duplicated keycodes there.
2474 Most of them conflict with digits.
2475 Add mappings just to the unused scancodes.
2476 Somehow, the original driver has a way to know,
2477 but this doesn't seem to be on some GPIO.
2478 Also, it is not related to the time between keyup
2479 and keydown.
2480 */
2481 [0x19] = KEY_PAUSE, /* Timeshift */
2482 [0x1a] = KEY_STOP,
2483 [0x1b] = KEY_RECORD,
2484
2485 [0x22] = KEY_TEXT,
2486
2487 [0x15] = KEY_AUDIO, /* ((*)) */
2488 [0x0f] = KEY_ZOOM,
2489 [0x1c] = KEY_SHUFFLE, /* snapshot */
2490
2491 [0x18] = KEY_RED, /* B */
2492 [0x23] = KEY_GREEN, /* C */
2493};
2494EXPORT_SYMBOL_GPL(ir_codes_kworld_plus_tv_analog);
2495
9fc2c5ee
MCC
2496/* Kaiomy TVnPC U2
2497 Mauro Carvalho Chehab <[email protected]>
2498 */
2499IR_KEYTAB_TYPE ir_codes_kaiomy[IR_KEYTAB_SIZE] = {
2500 [0x43] = KEY_POWER2,
2501 [0x01] = KEY_LIST,
2502 [0x0b] = KEY_ZOOM,
2503 [0x03] = KEY_POWER,
2504
2505 [0x04] = KEY_1,
2506 [0x08] = KEY_2,
2507 [0x02] = KEY_3,
2508
2509 [0x0f] = KEY_4,
2510 [0x05] = KEY_5,
2511 [0x06] = KEY_6,
2512
2513 [0x0c] = KEY_7,
2514 [0x0d] = KEY_8,
2515 [0x0a] = KEY_9,
2516
2517 [0x11] = KEY_0,
2518
2519 [0x09] = KEY_CHANNELUP,
2520 [0x07] = KEY_CHANNELDOWN,
2521
2522 [0x0e] = KEY_VOLUMEUP,
2523 [0x13] = KEY_VOLUMEDOWN,
2524
2525 [0x10] = KEY_HOME,
2526 [0x12] = KEY_ENTER,
2527
2528 [0x14] = KEY_RECORD,
2529 [0x15] = KEY_STOP,
2530 [0x16] = KEY_PLAY,
2531 [0x17] = KEY_MUTE,
2532
2533 [0x18] = KEY_UP,
2534 [0x19] = KEY_DOWN,
2535 [0x1a] = KEY_LEFT,
2536 [0x1b] = KEY_RIGHT,
2537
2538 [0x1c] = KEY_RED,
2539 [0x1d] = KEY_GREEN,
2540 [0x1e] = KEY_YELLOW,
2541 [0x1f] = KEY_BLUE,
2542};
2543EXPORT_SYMBOL_GPL(ir_codes_kaiomy);
2544
6e501a3f
TF
2545IR_KEYTAB_TYPE ir_codes_avermedia_a16d[IR_KEYTAB_SIZE] = {
2546 [0x20] = KEY_LIST,
2547 [0x00] = KEY_POWER,
2548 [0x28] = KEY_1,
2549 [0x18] = KEY_2,
2550 [0x38] = KEY_3,
2551 [0x24] = KEY_4,
2552 [0x14] = KEY_5,
2553 [0x34] = KEY_6,
2554 [0x2c] = KEY_7,
2555 [0x1c] = KEY_8,
2556 [0x3c] = KEY_9,
2557 [0x12] = KEY_SUBTITLE,
2558 [0x22] = KEY_0,
2559 [0x32] = KEY_REWIND,
2560 [0x3a] = KEY_SHUFFLE,
2561 [0x02] = KEY_PRINT,
2562 [0x11] = KEY_CHANNELDOWN,
2563 [0x31] = KEY_CHANNELUP,
2564 [0x0c] = KEY_ZOOM,
2565 [0x1e] = KEY_VOLUMEDOWN,
2566 [0x3e] = KEY_VOLUMEUP,
2567 [0x0a] = KEY_MUTE,
2568 [0x04] = KEY_AUDIO,
2569 [0x26] = KEY_RECORD,
2570 [0x06] = KEY_PLAY,
2571 [0x36] = KEY_STOP,
2572 [0x16] = KEY_PAUSE,
2573 [0x2e] = KEY_REWIND,
2574 [0x0e] = KEY_FASTFORWARD,
2575 [0x30] = KEY_TEXT,
2576 [0x21] = KEY_GREEN,
2577 [0x01] = KEY_BLUE,
2578 [0x08] = KEY_EPG,
2579 [0x2a] = KEY_MENU,
2580};
2581EXPORT_SYMBOL_GPL(ir_codes_avermedia_a16d);
bf1ece6a
MCC
2582
2583/* Encore ENLTV-FM v5.3
2584 Mauro Carvalho Chehab <[email protected]>
2585 */
2586IR_KEYTAB_TYPE ir_codes_encore_enltv_fm53[IR_KEYTAB_SIZE] = {
2587 [0x10] = KEY_POWER2,
2588 [0x06] = KEY_MUTE,
2589
2590 [0x09] = KEY_1,
2591 [0x1d] = KEY_2,
2592 [0x1f] = KEY_3,
2593 [0x19] = KEY_4,
2594 [0x1b] = KEY_5,
2595 [0x11] = KEY_6,
2596 [0x17] = KEY_7,
2597 [0x12] = KEY_8,
2598 [0x16] = KEY_9,
2599 [0x48] = KEY_0,
2600
2601 [0x04] = KEY_LIST, /* -/-- */
2602 [0x40] = KEY_LAST, /* recall */
2603
2604 [0x02] = KEY_MODE, /* TV/AV */
2605 [0x05] = KEY_SHUFFLE, /* SNAPSHOT */
2606
2607 [0x4c] = KEY_CHANNELUP, /* UP */
2608 [0x00] = KEY_CHANNELDOWN, /* DOWN */
2609 [0x0d] = KEY_VOLUMEUP, /* RIGHT */
2610 [0x15] = KEY_VOLUMEDOWN, /* LEFT */
2611 [0x49] = KEY_ENTER, /* OK */
2612
2613 [0x54] = KEY_RECORD,
2614 [0x4d] = KEY_PLAY, /* pause */
2615
2616 [0x1e] = KEY_UP, /* video setting */
2617 [0x0e] = KEY_RIGHT, /* <- */
2618 [0x1a] = KEY_LEFT, /* -> */
2619
2620 [0x0a] = KEY_DOWN, /* video default */
2621 [0x0c] = KEY_ZOOM, /* hide pannel */
2622 [0x47] = KEY_SLEEP, /* shutdown */
2623};
2624EXPORT_SYMBOL_GPL(ir_codes_encore_enltv_fm53);
9b000191
MCC
2625
2626/* Zogis Real Audio 220 - 32 keys IR */
2627IR_KEYTAB_TYPE ir_codes_real_audio_220_32_keys[IR_KEYTAB_SIZE] = {
2628 [0x1c] = KEY_RADIO,
2629 [0x12] = KEY_POWER2,
2630
2631 [0x01] = KEY_1,
2632 [0x02] = KEY_2,
2633 [0x03] = KEY_3,
2634 [0x04] = KEY_4,
2635 [0x05] = KEY_5,
2636 [0x06] = KEY_6,
2637 [0x07] = KEY_7,
2638 [0x08] = KEY_8,
2639 [0x09] = KEY_9,
2640 [0x00] = KEY_0,
2641
2642 [0x0c] = KEY_VOLUMEUP,
2643 [0x18] = KEY_VOLUMEDOWN,
2644 [0x0b] = KEY_CHANNELUP,
2645 [0x15] = KEY_CHANNELDOWN,
2646 [0x16] = KEY_ENTER,
2647
2648 [0x11] = KEY_LIST, /* Source */
2649 [0x0d] = KEY_AUDIO, /* stereo */
2650
2651 [0x0f] = KEY_PREVIOUS, /* Prev */
2652 [0x1b] = KEY_PAUSE, /* Timeshift */
2653 [0x1a] = KEY_NEXT, /* Next */
2654
2655 [0x0e] = KEY_STOP,
2656 [0x1f] = KEY_PLAY,
2657 [0x1e] = KEY_PLAYPAUSE, /* Pause */
2658
2659 [0x1d] = KEY_RECORD,
2660 [0x13] = KEY_MUTE,
2661 [0x19] = KEY_SHUFFLE, /* Snapshot */
2662
2663};
2664EXPORT_SYMBOL_GPL(ir_codes_real_audio_220_32_keys);
60245e85
DH
2665
2666/* ATI TV Wonder HD 600 USB
2667 Devin Heitmueller <[email protected]>
2668 */
2669IR_KEYTAB_TYPE ir_codes_ati_tv_wonder_hd_600[IR_KEYTAB_SIZE] = {
2670 [0x00] = KEY_RECORD, /* Row 1 */
2671 [0x01] = KEY_PLAYPAUSE,
2672 [0x02] = KEY_STOP,
2673 [0x03] = KEY_POWER,
2674 [0x04] = KEY_PREVIOUS, /* Row 2 */
2675 [0x05] = KEY_REWIND,
2676 [0x06] = KEY_FORWARD,
2677 [0x07] = KEY_NEXT,
2678 [0x08] = KEY_EPG, /* Row 3 */
2679 [0x09] = KEY_HOME,
2680 [0x0a] = KEY_MENU,
2681 [0x0b] = KEY_CHANNELUP,
2682 [0x0c] = KEY_BACK, /* Row 4 */
2683 [0x0d] = KEY_UP,
2684 [0x0e] = KEY_INFO,
2685 [0x0f] = KEY_CHANNELDOWN,
2686 [0x10] = KEY_LEFT, /* Row 5 */
2687 [0x11] = KEY_SELECT,
2688 [0x12] = KEY_RIGHT,
2689 [0x13] = KEY_VOLUMEUP,
2690 [0x14] = KEY_LAST, /* Row 6 */
2691 [0x15] = KEY_DOWN,
2692 [0x16] = KEY_MUTE,
2693 [0x17] = KEY_VOLUMEDOWN,
2694};
2695
2696EXPORT_SYMBOL_GPL(ir_codes_ati_tv_wonder_hd_600);
b72857dd
IL
2697
2698/* DVBWorld remotes
2699 Igor M. Liplianin <[email protected]>
2700 */
2701IR_KEYTAB_TYPE ir_codes_dm1105_nec[IR_KEYTAB_SIZE] = {
2702 [0x0a] = KEY_Q, /*power*/
2703 [0x0c] = KEY_M, /*mute*/
2704 [0x11] = KEY_1,
2705 [0x12] = KEY_2,
2706 [0x13] = KEY_3,
2707 [0x14] = KEY_4,
2708 [0x15] = KEY_5,
2709 [0x16] = KEY_6,
2710 [0x17] = KEY_7,
2711 [0x18] = KEY_8,
2712 [0x19] = KEY_9,
2713 [0x10] = KEY_0,
2714 [0x1c] = KEY_PAGEUP, /*ch+*/
2715 [0x0f] = KEY_PAGEDOWN, /*ch-*/
2716 [0x1a] = KEY_O, /*vol+*/
2717 [0x0e] = KEY_Z, /*vol-*/
2718 [0x04] = KEY_R, /*rec*/
2719 [0x09] = KEY_D, /*fav*/
2720 [0x08] = KEY_BACKSPACE, /*rewind*/
2721 [0x07] = KEY_A, /*fast*/
2722 [0x0b] = KEY_P, /*pause*/
2723 [0x02] = KEY_ESC, /*cancel*/
2724 [0x03] = KEY_G, /*tab*/
2725 [0x00] = KEY_UP, /*up*/
2726 [0x1f] = KEY_ENTER, /*ok*/
2727 [0x01] = KEY_DOWN, /*down*/
2728 [0x05] = KEY_C, /*cap*/
2729 [0x06] = KEY_S, /*stop*/
2730 [0x40] = KEY_F, /*full*/
2731 [0x1e] = KEY_W, /*tvmode*/
2732 [0x1b] = KEY_B, /*recall*/
2733};
2734EXPORT_SYMBOL_GPL(ir_codes_dm1105_nec);
a4c47303 2735
8cd9aaef
DH
2736
2737/* Terratec Cinergy Hybrid T USB XS
2738 Devin Heitmueller <[email protected]>
2739 */
2740IR_KEYTAB_TYPE ir_codes_terratec_cinergy_xs[IR_KEYTAB_SIZE] = {
2741 [0x41] = KEY_HOME,
2742 [0x01] = KEY_POWER,
2743 [0x42] = KEY_MENU,
2744 [0x02] = KEY_1,
2745 [0x03] = KEY_2,
2746 [0x04] = KEY_3,
2747 [0x43] = KEY_SUBTITLE,
2748 [0x05] = KEY_4,
2749 [0x06] = KEY_5,
2750 [0x07] = KEY_6,
2751 [0x44] = KEY_TEXT,
2752 [0x08] = KEY_7,
2753 [0x09] = KEY_8,
2754 [0x0a] = KEY_9,
2755 [0x45] = KEY_DELETE,
2756 [0x0b] = KEY_TUNER,
2757 [0x0c] = KEY_0,
2758 [0x0d] = KEY_MODE,
2759 [0x46] = KEY_TV,
2760 [0x47] = KEY_DVD,
2761 [0x49] = KEY_VIDEO,
2762 [0x4b] = KEY_AUX,
2763 [0x10] = KEY_UP,
2764 [0x11] = KEY_LEFT,
2765 [0x12] = KEY_OK,
2766 [0x13] = KEY_RIGHT,
2767 [0x14] = KEY_DOWN,
2768 [0x0f] = KEY_EPG,
2769 [0x16] = KEY_INFO,
2770 [0x4d] = KEY_BACKSPACE,
2771 [0x1c] = KEY_VOLUMEUP,
2772 [0x4c] = KEY_PLAY,
2773 [0x1b] = KEY_CHANNELUP,
2774 [0x1e] = KEY_VOLUMEDOWN,
2775 [0x1d] = KEY_MUTE,
2776 [0x1f] = KEY_CHANNELDOWN,
2777 [0x17] = KEY_RED,
2778 [0x18] = KEY_GREEN,
2779 [0x19] = KEY_YELLOW,
2780 [0x1a] = KEY_BLUE,
2781 [0x58] = KEY_RECORD,
2782 [0x48] = KEY_STOP,
2783 [0x40] = KEY_PAUSE,
2784 [0x54] = KEY_LAST,
2785 [0x4e] = KEY_REWIND,
2786 [0x4f] = KEY_FASTFORWARD,
2787 [0x5c] = KEY_NEXT,
2788};
2789EXPORT_SYMBOL_GPL(ir_codes_terratec_cinergy_xs);
2790
a4c47303
DH
2791/* EVGA inDtube
2792 Devin Heitmueller <[email protected]>
2793 */
2794IR_KEYTAB_TYPE ir_codes_evga_indtube[IR_KEYTAB_SIZE] = {
2795 [0x12] = KEY_POWER,
2796 [0x02] = KEY_MODE, /* TV */
2797 [0x14] = KEY_MUTE,
2798 [0x1a] = KEY_CHANNELUP,
2799 [0x16] = KEY_TV2, /* PIP */
2800 [0x1d] = KEY_VOLUMEUP,
2801 [0x05] = KEY_CHANNELDOWN,
2802 [0x0f] = KEY_PLAYPAUSE,
2803 [0x19] = KEY_VOLUMEDOWN,
2804 [0x1c] = KEY_REWIND,
2805 [0x0d] = KEY_RECORD,
2806 [0x18] = KEY_FORWARD,
2807 [0x1e] = KEY_PREVIOUS,
2808 [0x1b] = KEY_STOP,
2809 [0x1f] = KEY_NEXT,
2810 [0x13] = KEY_CAMERA,
2811};
2812EXPORT_SYMBOL_GPL(ir_codes_evga_indtube);
ecfcfec8
IL
2813
2814IR_KEYTAB_TYPE ir_codes_videomate_s350[IR_KEYTAB_SIZE] = {
2815 [0x00] = KEY_TV,
2816 [0x01] = KEY_DVD,
2817 [0x04] = KEY_RECORD,
5d35364e 2818 [0x05] = KEY_VIDEO, /* TV/Video */
ecfcfec8
IL
2819 [0x07] = KEY_STOP,
2820 [0x08] = KEY_PLAYPAUSE,
2821 [0x0a] = KEY_REWIND,
2822 [0x0f] = KEY_FASTFORWARD,
2823 [0x10] = KEY_CHANNELUP,
2824 [0x12] = KEY_VOLUMEUP,
2825 [0x13] = KEY_CHANNELDOWN,
2826 [0x14] = KEY_MUTE,
2827 [0x15] = KEY_VOLUMEDOWN,
2828 [0x16] = KEY_1,
2829 [0x17] = KEY_2,
2830 [0x18] = KEY_3,
2831 [0x19] = KEY_4,
2832 [0x1a] = KEY_5,
2833 [0x1b] = KEY_6,
2834 [0x1c] = KEY_7,
2835 [0x1d] = KEY_8,
2836 [0x1e] = KEY_9,
2837 [0x1f] = KEY_0,
2838 [0x21] = KEY_SLEEP,
2839 [0x24] = KEY_ZOOM,
5d35364e
MCC
2840 [0x25] = KEY_LAST, /* Recall */
2841 [0x26] = KEY_SUBTITLE, /* CC */
2842 [0x27] = KEY_LANGUAGE, /* MTS */
2843 [0x29] = KEY_CHANNEL, /* SURF */
ecfcfec8
IL
2844 [0x2b] = KEY_A,
2845 [0x2c] = KEY_B,
5d35364e 2846 [0x2f] = KEY_SHUFFLE, /* Snapshot */
ecfcfec8
IL
2847 [0x23] = KEY_RADIO,
2848 [0x02] = KEY_PREVIOUSSONG,
2849 [0x06] = KEY_NEXTSONG,
2850 [0x03] = KEY_EPG,
2851 [0x09] = KEY_SETUP,
2852 [0x22] = KEY_BACKSPACE,
2853 [0x0c] = KEY_UP,
2854 [0x0e] = KEY_DOWN,
2855 [0x0b] = KEY_LEFT,
2856 [0x0d] = KEY_RIGHT,
2857 [0x11] = KEY_ENTER,
2858 [0x20] = KEY_TEXT,
2859};
2860EXPORT_SYMBOL_GPL(ir_codes_videomate_s350);
This page took 0.955357 seconds and 4 git commands to generate.