blob: 13878b047a3d9717d0e1e4d52cc91c7f4a5f9630 [file] [log] [blame]
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001/*
2
3
4 Keytables for supported remote controls. This file is part of
5 video4linux.
6
7 This program is free software; you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation; either version 2 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program; if not, write to the Free Software
19 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20
21 */
22#include <linux/module.h>
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -020023
24#include <linux/input.h>
25#include <media/ir-common.h>
26
27/* empty keytable, can be used as placeholder for not-yet created keytables */
28IR_KEYTAB_TYPE ir_codes_empty[IR_KEYTAB_SIZE] = {
29 [ 0x2a ] = KEY_COFFEE,
30};
31
32EXPORT_SYMBOL_GPL(ir_codes_empty);
33
Michal Majchrowiczb04c1ba2006-09-13 16:42:42 -030034/* Michal Majchrowicz <mmajchrowicz@gmail.com> */
35IR_KEYTAB_TYPE ir_codes_proteus_2309[IR_KEYTAB_SIZE] = {
36 /* numeric */
37 [ 0x00 ] = KEY_0,
38 [ 0x01 ] = KEY_1,
39 [ 0x02 ] = KEY_2,
40 [ 0x03 ] = KEY_3,
41 [ 0x04 ] = KEY_4,
42 [ 0x05 ] = KEY_5,
43 [ 0x06 ] = KEY_6,
44 [ 0x07 ] = KEY_7,
45 [ 0x08 ] = KEY_8,
46 [ 0x09 ] = KEY_9,
47
48 [ 0x5c ] = KEY_POWER, /* power */
49 [ 0x20 ] = KEY_F, /* full screen */
50 [ 0x0f ] = KEY_BACKSPACE, /* recall */
51 [ 0x1b ] = KEY_ENTER, /* mute */
52 [ 0x41 ] = KEY_RECORD, /* record */
53 [ 0x43 ] = KEY_STOP, /* stop */
54 [ 0x16 ] = KEY_S,
55 [ 0x1a ] = KEY_Q, /* off */
56 [ 0x2e ] = KEY_RED,
57 [ 0x1f ] = KEY_DOWN, /* channel - */
58 [ 0x1c ] = KEY_UP, /* channel + */
59 [ 0x10 ] = KEY_LEFT, /* volume - */
60 [ 0x1e ] = KEY_RIGHT, /* volume + */
61 [ 0x14 ] = KEY_F1,
62};
63
64EXPORT_SYMBOL_GPL(ir_codes_proteus_2309);
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -020065/* Matt Jesson <dvb@jesson.eclipse.co.uk */
66IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -030067 [ 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' */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -020077
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -030078 [ 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 +' */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200102};
103
104EXPORT_SYMBOL_GPL(ir_codes_avermedia_dvbt);
105
Mauro Carvalho Chehab36f6bb92008-06-26 17:03:00 -0300106/* Mauro Carvalho Chehab <mchehab@infradead.org> */
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
Oldřich Jedličkacb3bf502009-02-12 03:43:11 -0300156/* Oldrich Jedlicka <oldium.pro@seznam.cz> */
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 */
194 [0x2a] = KEY_BACKSPACE, /* Back */
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 */
209 [0x41] = KEY_PREVIOUS, /* Previous */
210 [0x42] = KEY_CHANNELDOWN, /* Channel down */
211 [0x43] = KEY_CHANNELUP /* Channel up */
212};
213EXPORT_SYMBOL_GPL(ir_codes_avermedia_cardbus);
214
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200215/* Attila Kondoros <attila.kondoros@chello.hu> */
216IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE] = {
217
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,
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -0300228 [ 0x17 ] = KEY_LAST, /* +100 */
229 [ 0x0a ] = KEY_LIST, /* recall */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200230
231
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -0300232 [ 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 */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200239
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -0300240 [ 0x11 ] = KEY_VIDEO, /* video */
241 [ 0x0f ] = KEY_ZOOM, /* full screen */
242 [ 0x13 ] = KEY_MUTE, /* mute/unmute */
243 [ 0x10 ] = KEY_TEXT, /* min */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200244
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -0300245 [ 0x0d ] = KEY_STOP, /* freeze */
246 [ 0x0e ] = KEY_RECORD, /* record */
247 [ 0x1d ] = KEY_PLAYPAUSE, /* stop */
248 [ 0x19 ] = KEY_PLAY, /* play */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200249
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -0300250 [ 0x16 ] = KEY_GOTO, /* osd */
251 [ 0x14 ] = KEY_REFRESH, /* default */
252 [ 0x0c ] = KEY_KPPLUS, /* fine tune >>>> */
253 [ 0x18 ] = KEY_KPMINUS /* fine tune <<<< */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200254};
255
256EXPORT_SYMBOL_GPL(ir_codes_apac_viewcomp);
257
258/* ---------------------------------------------------------------------- */
259
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200260IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE] = {
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200261
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -0300262 [ 0x1e ] = KEY_POWER, /* power */
263 [ 0x07 ] = KEY_MEDIA, /* source */
264 [ 0x1c ] = KEY_SEARCH, /* scan */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200265
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200266
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -0300267 [ 0x03 ] = KEY_TUNER, /* TV/FM */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200268
269 [ 0x00 ] = KEY_RECORD,
270 [ 0x08 ] = KEY_STOP,
271 [ 0x11 ] = KEY_PLAY,
272
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -0300273 [ 0x1a ] = KEY_PLAYPAUSE, /* freeze */
274 [ 0x19 ] = KEY_ZOOM, /* zoom */
275 [ 0x0f ] = KEY_TEXT, /* min */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200276
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,
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -0300287 [ 0x10 ] = KEY_LAST, /* +100 */
288 [ 0x13 ] = KEY_LIST, /* recall */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200289
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -0300290 [ 0x1f ] = KEY_CHANNELUP, /* chn down */
291 [ 0x17 ] = KEY_CHANNELDOWN, /* chn up */
292 [ 0x16 ] = KEY_VOLUMEUP, /* vol down */
293 [ 0x14 ] = KEY_VOLUMEDOWN, /* vol up */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200294
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -0300295 [ 0x04 ] = KEY_KPMINUS, /* <<< */
296 [ 0x0e ] = KEY_SETUP, /* function */
297 [ 0x0c ] = KEY_KPPLUS, /* >>> */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200298
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -0300299 [ 0x0d ] = KEY_GOTO, /* mts */
300 [ 0x1d ] = KEY_REFRESH, /* reset */
301 [ 0x18 ] = KEY_MUTE /* mute/unmute */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200302};
303
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200304EXPORT_SYMBOL_GPL(ir_codes_pixelview);
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200305
Mauro Carvalho Chehab7f0dd172008-04-22 14:46:01 -0300306/*
307 Mauro Carvalho Chehab <mchehab@infradead.org>
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
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200351IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE] = {
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,
406 [ 0x36 ] = KEY_PC
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] = {
413 [ 0x00 ] = KEY_ESC, /* 'go up a level?' */
414 /* Keys 0 to 9 */
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,
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] = {
456 [ 0x40 ] = KEY_TV,
457 [ 0x20 ] = KEY_RADIO, /* FM */
458 [ 0x60 ] = KEY_EPG,
459 [ 0x00 ] = KEY_POWER,
460
461 /* Keys 0 to 9 */
462 [ 0x44 ] = KEY_0, /* 10 */
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 >| */
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 */
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,
555};
556
557EXPORT_SYMBOL_GPL(ir_codes_adstech_dvb_t_pci);
558
559/* ---------------------------------------------------------------------- */
560
Brian Rogersba340b42008-10-13 08:37:06 -0300561/* MSI TV@nywhere MASTER remote */
562
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200563IR_KEYTAB_TYPE ir_codes_msi_tvanywhere[IR_KEYTAB_SIZE] = {
564 /* Keys 0 to 9 */
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,
590};
591
592EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere);
593
594/* ---------------------------------------------------------------------- */
595
Brian Rogersba340b42008-10-13 08:37:06 -0300596/*
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 <henry@stuffedcow.net>
607 Some changes to formatting and keycodes by Mark Schultz <n9xmj@yahoo.com>
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
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 */
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. */
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 */
680};
681EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere_plus);
682
683/* ---------------------------------------------------------------------- */
684
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200685/* Cinergy 1400 DVB-T */
686IR_KEYTAB_TYPE ir_codes_cinergy_1400[IR_KEYTAB_SIZE] = {
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,
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] = {
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,
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] = {
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 |< */
823 [ 0x42 ] = KEY_NEXTSONG, /* skip >| */
824 [ 0x54 ] = KEY_CAMERA, /* capture */
825 [ 0x50 ] = KEY_LANGUAGE, /* sap */
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 */
833 [ 0x0e ] = KEY_PREVIOUS, /* recall */
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,
840};
841
842EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvbt_pro);
843
844IR_KEYTAB_TYPE ir_codes_em_terratec[IR_KEYTAB_SIZE] = {
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,
873};
874
875EXPORT_SYMBOL_GPL(ir_codes_em_terratec);
876
Sylvain Pascheb93eedb2006-03-25 23:14:42 -0300877IR_KEYTAB_TYPE ir_codes_pinnacle_grey[IR_KEYTAB_SIZE] = {
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200878 [ 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
Emil Georgieva6210b72007-03-04 07:03:17 -0300895 [ 0x2d ] = KEY_SCREEN,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200896 [ 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,
Emil Georgieva6210b72007-03-04 07:03:17 -0300910 [ 0x1a ] = KEY_ENTER,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200911
912 [ 0x1d ] = KEY_MENU,
Emil Georgieva6210b72007-03-04 07:03:17 -0300913 [ 0x19 ] = KEY_AGAIN,
914 [ 0x16 ] = KEY_PREVIOUSSONG,
915 [ 0x13 ] = KEY_NEXTSONG,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200916 [ 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,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200926};
927
Sylvain Pascheb93eedb2006-03-25 23:14:42 -0300928EXPORT_SYMBOL_GPL(ir_codes_pinnacle_grey);
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200929
930IR_KEYTAB_TYPE ir_codes_flyvideo[IR_KEYTAB_SIZE] = {
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
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -0300942 [ 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 */
Ivan Bobyr9e05c0f2008-04-16 16:01:55 -0300956
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -0300957 [ 0x19 ] = KEY_BACK, /* Rewind ( <<< ) */
958 [ 0x1f ] = KEY_FORWARD, /* Forward ( >>> ) */
959 [ 0x0a ] = KEY_ANGLE, /* (no label, may be used as the PAUSE button) */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200960};
961
962EXPORT_SYMBOL_GPL(ir_codes_flyvideo);
963
964IR_KEYTAB_TYPE ir_codes_flydvb[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -0300965 [ 0x01 ] = KEY_ZOOM, /* Full Screen */
966 [ 0x00 ] = KEY_POWER, /* Power */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200967
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,
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -0300977 [ 0x06 ] = KEY_AGAIN, /* Recall */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200978 [ 0x0f ] = KEY_0,
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -0300979 [ 0x10 ] = KEY_MUTE, /* Mute */
980 [ 0x02 ] = KEY_RADIO, /* TV/Radio */
981 [ 0x1b ] = KEY_LANGUAGE, /* SAP (Second Audio Program) */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200982
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -0300983 [ 0x14 ] = KEY_VOLUMEUP, /* VOL+ */
984 [ 0x17 ] = KEY_VOLUMEDOWN, /* VOL- */
985 [ 0x12 ] = KEY_CHANNELUP, /* CH+ */
986 [ 0x13 ] = KEY_CHANNELDOWN, /* CH- */
987 [ 0x1d ] = KEY_ENTER, /* Enter */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200988
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -0300989 [ 0x1a ] = KEY_MODE, /* PIP */
990 [ 0x18 ] = KEY_TUNER, /* Source */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200991
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -0300992 [ 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 >>| */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001001};
1002
1003EXPORT_SYMBOL_GPL(ir_codes_flydvb);
1004
1005IR_KEYTAB_TYPE ir_codes_cinergy[IR_KEYTAB_SIZE] = {
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,
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -03001018 [ 0x0b ] = KEY_PROG1, /* app */
1019 [ 0x0c ] = KEY_ZOOM, /* zoom/fullscreen */
1020 [ 0x0d ] = KEY_CHANNELUP, /* channel */
1021 [ 0x0e ] = KEY_CHANNELDOWN, /* channel- */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001022 [ 0x0f ] = KEY_VOLUMEUP,
1023 [ 0x10 ] = KEY_VOLUMEDOWN,
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -03001024 [ 0x11 ] = KEY_TUNER, /* AV */
1025 [ 0x12 ] = KEY_NUMLOCK, /* -/-- */
1026 [ 0x13 ] = KEY_AUDIO, /* audio */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001027 [ 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,
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -03001034 [ 0x1b ] = KEY_WWW, /* text */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001035 [ 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,
1043};
1044
1045EXPORT_SYMBOL_GPL(ir_codes_cinergy);
1046
1047/* Alfons Geser <a.geser@cox.net>
1048 * updates from Job D. R. Borges <jobdrb@ig.com.br> */
1049IR_KEYTAB_TYPE ir_codes_eztv[IR_KEYTAB_SIZE] = {
1050 [ 0x12 ] = KEY_POWER,
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -03001051 [ 0x01 ] = KEY_TV, /* DVR */
1052 [ 0x15 ] = KEY_DVD, /* DVD */
1053 [ 0x17 ] = KEY_AUDIO, /* music */
1054 /* DVR mode / DVD mode / music mode */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001055
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -03001056 [ 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 */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001064
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -03001065 [ 0x31 ] = KEY_HELP, /* help */
1066 [ 0x32 ] = KEY_MODE, /* num/memo */
1067 [ 0x33 ] = KEY_ESC, /* cancel */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001068
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -03001069 [ 0x0c ] = KEY_UP, /* up */
1070 [ 0x10 ] = KEY_DOWN, /* down */
1071 [ 0x08 ] = KEY_LEFT, /* left */
1072 [ 0x04 ] = KEY_RIGHT, /* right */
1073 [ 0x03 ] = KEY_SELECT, /* select */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001074
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -03001075 [ 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 */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001083
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,
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -03001097 [ 0x18 ] = KEY_CHANNELUP, /* CH.tracking up */
1098 [ 0x19 ] = KEY_CHANNELDOWN, /* CH.tracking down */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001099
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -03001100 [ 0x13 ] = KEY_ENTER, /* enter */
1101 [ 0x21 ] = KEY_DOT, /* . (decimal dot) */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001102};
1103
1104EXPORT_SYMBOL_GPL(ir_codes_eztv);
1105
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001106/* Alex Hermann <gaaf@gmx.net> */
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -02001107IR_KEYTAB_TYPE ir_codes_avermedia[IR_KEYTAB_SIZE] = {
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001108 [ 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
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -02001119 [ 0x20 ] = KEY_TV, /* TV/FM */
1120 [ 0x10 ] = KEY_CD, /* CD */
1121 [ 0x30 ] = KEY_TEXT, /* TELETEXT */
1122 [ 0x00 ] = KEY_POWER, /* POWER */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001123
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -02001124 [ 0x08 ] = KEY_VIDEO, /* VIDEO */
1125 [ 0x04 ] = KEY_AUDIO, /* AUDIO */
1126 [ 0x0c ] = KEY_ZOOM, /* FULL SCREEN */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001127
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -02001128 [ 0x12 ] = KEY_SUBTITLE, /* DISPLAY */
1129 [ 0x32 ] = KEY_REWIND, /* LOOP */
1130 [ 0x02 ] = KEY_PRINT, /* PREVIEW */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001131
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -02001132 [ 0x2a ] = KEY_SEARCH, /* AUTOSCAN */
1133 [ 0x1a ] = KEY_SLEEP, /* FREEZE */
1134 [ 0x3a ] = KEY_SHUFFLE, /* SNAPSHOT */
1135 [ 0x0a ] = KEY_MUTE, /* MUTE */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001136
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -02001137 [ 0x26 ] = KEY_RECORD, /* RECORD */
1138 [ 0x16 ] = KEY_PAUSE, /* PAUSE */
1139 [ 0x36 ] = KEY_STOP, /* STOP */
1140 [ 0x06 ] = KEY_PLAY, /* PLAY */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001141
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -02001142 [ 0x2e ] = KEY_RED, /* RED */
1143 [ 0x21 ] = KEY_GREEN, /* GREEN */
1144 [ 0x0e ] = KEY_YELLOW, /* YELLOW */
1145 [ 0x01 ] = KEY_BLUE, /* BLUE */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001146
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -02001147 [ 0x1e ] = KEY_VOLUMEDOWN, /* VOLUME- */
1148 [ 0x3e ] = KEY_VOLUMEUP, /* VOLUME+ */
1149 [ 0x11 ] = KEY_CHANNELDOWN, /* CHANNEL/PAGE- */
1150 [ 0x31 ] = KEY_CHANNELUP /* CHANNEL/PAGE+ */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001151};
1152
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -02001153EXPORT_SYMBOL_GPL(ir_codes_avermedia);
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001154
1155IR_KEYTAB_TYPE ir_codes_videomate_tv_pvr[IR_KEYTAB_SIZE] = {
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,
1202};
1203
1204EXPORT_SYMBOL_GPL(ir_codes_videomate_tv_pvr);
1205
1206/* Michael Tokarev <mjt@tls.msk.ru>
1207 http://www.corpit.ru/mjt/beholdTV/remote_control.jpg
1208 keytable is used by MANLI MTV00[ 0x0c ] and BeholdTV 40[13] at
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 * */
1221 [ 0x1c ] = KEY_RADIO, /*XXX*/
1222 [ 0x12 ] = KEY_POWER,
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 * */
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,
1242
1243 /* 0x0a 0x00 0x17 *
1244 * RECALL 0 +100 *
1245 * PLUS *
1246 * */
1247 [ 0x0a ] = KEY_AGAIN, /*XXX KEY_REWIND? */
1248 [ 0x00 ] = KEY_0,
1249 [ 0x17 ] = KEY_DIGITS, /*XXX*/
1250
1251 /* 0x14 0x10 *
1252 * MENU INFO *
1253 * OSD */
1254 [ 0x14 ] = KEY_MENU,
1255 [ 0x10 ] = KEY_INFO,
1256
1257 /* 0x0b *
1258 * Up *
1259 * *
1260 * 0x18 0x16 0x0c *
1261 * Left Ok Right *
1262 * *
1263 * 0x015 *
1264 * Down *
1265 * */
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? */
1271
1272 /* 0x11 0x0d *
1273 * TV/AV MODE *
1274 * SOURCE STEREO *
1275 * */
1276 [ 0x11 ] = KEY_TV, /*XXX*/
1277 [ 0x0d ] = KEY_MODE, /*XXX there's no KEY_STEREO */
1278
1279 /* 0x0f 0x1b 0x1a *
1280 * AUDIO Vol+ Chan+ *
1281 * TIMESHIFT??? *
1282 * *
1283 * 0x0e 0x1f 0x1e *
1284 * SLEEP Vol- Chan- *
1285 * */
1286 [ 0x0f ] = KEY_AUDIO,
1287 [ 0x1b ] = KEY_VOLUMEUP,
1288 [ 0x1a ] = KEY_CHANNELUP,
1289 [ 0x0e ] = KEY_SLEEP, /*XXX maybe KEY_PAUSE */
1290 [ 0x1f ] = KEY_VOLUMEDOWN,
1291 [ 0x1e ] = KEY_CHANNELDOWN,
1292
1293 /* 0x13 0x19 *
1294 * MUTE SNAPSHOT*
1295 * */
1296 [ 0x13 ] = KEY_MUTE,
1297 [ 0x19 ] = KEY_RECORD, /*XXX*/
1298
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -03001299 /* 0x1d unused ? */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001300};
1301
1302EXPORT_SYMBOL_GPL(ir_codes_manli);
1303
1304/* Mike Baikov <mike@baikov.com> */
1305IR_KEYTAB_TYPE ir_codes_gotview7135[IR_KEYTAB_SIZE] = {
1306
Pedro0938e312007-10-17 17:58:40 -03001307 [ 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,
1319 [ 0x3b ] = KEY_AGAIN, /* LOOP */
1320 [ 0x06 ] = KEY_AUDIO,
1321 [ 0x31 ] = KEY_PRINT, /* PREVIEW */
1322 [ 0x3e ] = KEY_VIDEO,
1323 [ 0x10 ] = KEY_CHANNELUP,
1324 [ 0x20 ] = KEY_CHANNELDOWN,
1325 [ 0x0c ] = KEY_VOLUMEDOWN,
1326 [ 0x28 ] = KEY_VOLUMEUP,
1327 [ 0x08 ] = KEY_MUTE,
1328 [ 0x26 ] = KEY_SEARCH, /*SCAN*/
1329 [ 0x3f ] = KEY_SHUFFLE, /* SNAPSHOT */
1330 [ 0x12 ] = KEY_RECORD,
1331 [ 0x32 ] = KEY_STOP,
1332 [ 0x3c ] = KEY_PLAY,
1333 [ 0x1d ] = KEY_REWIND,
1334 [ 0x2d ] = KEY_PAUSE,
1335 [ 0x0d ] = KEY_FORWARD,
1336 [ 0x05 ] = KEY_ZOOM, /*FULL*/
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001337
Pedro0938e312007-10-17 17:58:40 -03001338 [ 0x2a ] = KEY_F21, /* LIVE TIMESHIFT */
1339 [ 0x0e ] = KEY_F22, /* MIN TIMESHIFT */
1340 [ 0x1e ] = KEY_F23, /* TIMESHIFT */
1341 [ 0x38 ] = KEY_F24, /* NORMAL TIMESHIFT */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001342};
1343
1344EXPORT_SYMBOL_GPL(ir_codes_gotview7135);
1345
1346IR_KEYTAB_TYPE ir_codes_purpletv[IR_KEYTAB_SIZE] = {
1347 [ 0x03 ] = KEY_POWER,
1348 [ 0x6f ] = KEY_MUTE,
1349 [ 0x10 ] = KEY_BACKSPACE, /* Recall */
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,
1361 [ 0x12 ] = KEY_DOT, /* 100+ */
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
1373 [ 0x1b ] = KEY_VIDEO, /* Video source */
1374 [ 0x49 ] = KEY_LANGUAGE, /* MTS Select */
1375 [ 0x19 ] = KEY_SEARCH, /* Auto Scan */
1376
1377 [ 0x4b ] = KEY_RECORD,
1378 [ 0x46 ] = KEY_PLAY,
1379 [ 0x45 ] = KEY_PAUSE, /* Pause */
1380 [ 0x44 ] = KEY_STOP,
1381 [ 0x40 ] = KEY_FORWARD, /* Forward ? */
1382 [ 0x42 ] = KEY_REWIND, /* Backward ? */
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
Mauro Lacye80faad2008-04-22 14:45:58 -03001390 Pavel Mihaylov <bin@bash.info>
1391 Also for the remote bundled with Kozumi KTV-01C card */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001392IR_KEYTAB_TYPE ir_codes_pctv_sedna[IR_KEYTAB_SIZE] = {
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
1404 [ 0x0a ] = KEY_AGAIN, /* Recall */
1405 [ 0x0b ] = KEY_CHANNELUP,
1406 [ 0x0c ] = KEY_VOLUMEUP,
1407 [ 0x0d ] = KEY_MODE, /* Stereo */
1408 [ 0x0e ] = KEY_STOP,
1409 [ 0x0f ] = KEY_PREVIOUSSONG,
1410 [ 0x10 ] = KEY_ZOOM,
1411 [ 0x11 ] = KEY_TUNER, /* Source */
1412 [ 0x12 ] = KEY_POWER,
1413 [ 0x13 ] = KEY_MUTE,
1414 [ 0x15 ] = KEY_CHANNELDOWN,
1415 [ 0x18 ] = KEY_VOLUMEDOWN,
1416 [ 0x19 ] = KEY_SHUFFLE, /* Snapshot */
1417 [ 0x1a ] = KEY_NEXTSONG,
1418 [ 0x1b ] = KEY_TEXT, /* Time Shift */
1419 [ 0x1c ] = KEY_RADIO, /* FM Radio */
1420 [ 0x1d ] = KEY_RECORD,
1421 [ 0x1e ] = KEY_PAUSE,
Mauro Lacye80faad2008-04-22 14:45:58 -03001422 /* additional codes for Kozumi's remote */
1423 [0x14] = KEY_INFO, /* OSD */
1424 [0x16] = KEY_OK, /* OK */
1425 [0x17] = KEY_DIGITS, /* Plus */
1426 [0x1f] = KEY_PLAY, /* Play */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001427};
1428
1429EXPORT_SYMBOL_GPL(ir_codes_pctv_sedna);
1430
1431/* Mark Phalan <phalanm@o2.ie> */
1432IR_KEYTAB_TYPE ir_codes_pv951[IR_KEYTAB_SIZE] = {
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 */
1460 [ 0x19 ] = KEY_MODE, /* FUNC */
1461 [ 0x0c ] = KEY_SEARCH, /* AUTOSCAN */
1462
1463 /* Not sure what to do with these ones! */
1464 [ 0x0f ] = KEY_SELECT, /* SOURCE */
1465 [ 0x0a ] = KEY_KPPLUS, /* +100 */
1466 [ 0x14 ] = KEY_EQUAL, /* SYNC */
1467 [ 0x1c ] = KEY_MEDIA, /* PC/TV */
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 */
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 + */
1497 [ 0x20 ] = KEY_CHANNELUP, /* channel / program + */
1498 [ 0x21 ] = KEY_CHANNELDOWN, /* channel / program - */
1499 [ 0x22 ] = KEY_CHANNEL, /* alt / channel */
1500 [ 0x23 ] = KEY_LANGUAGE, /* 1st / 2nd language */
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 */
1509 [ 0x3c ] = KEY_TEXT, /* teletext submode (Japan: 12) */
1510 [ 0x3d ] = KEY_SUSPEND, /* system standby */
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 */
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,
Malcolm Valentine2de873e2006-05-29 13:56:24 -03001531 [ 0x1b ] = KEY_AUDIO, /* Audio Source */
1532 [ 0x02 ] = KEY_TUNER, /* TV/FM, not on Y0400052 */
1533 [ 0x1e ] = KEY_VIDEO, /* Video Source */
1534 [ 0x16 ] = KEY_INFO, /* Display information */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001535 [ 0x04 ] = KEY_VOLUMEUP,
1536 [ 0x08 ] = KEY_VOLUMEDOWN,
1537 [ 0x0c ] = KEY_CHANNELUP,
1538 [ 0x10 ] = KEY_CHANNELDOWN,
1539 [ 0x03 ] = KEY_ZOOM, /* fullscreen */
Malcolm Valentine2de873e2006-05-29 13:56:24 -03001540 [ 0x1f ] = KEY_TEXT, /* closed caption/teletext */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001541 [ 0x20 ] = KEY_SLEEP,
Malcolm Valentine2de873e2006-05-29 13:56:24 -03001542 [ 0x29 ] = KEY_CLEAR, /* boss key */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001543 [ 0x14 ] = KEY_MUTE,
1544 [ 0x2b ] = KEY_RED,
1545 [ 0x2c ] = KEY_GREEN,
1546 [ 0x2d ] = KEY_YELLOW,
1547 [ 0x2e ] = KEY_BLUE,
Malcolm Valentine2de873e2006-05-29 13:56:24 -03001548 [ 0x18 ] = KEY_KPPLUS, /* fine tune + , not on Y040052 */
1549 [ 0x19 ] = KEY_KPMINUS, /* fine tune - , not on Y040052 */
1550 [ 0x2a ] = KEY_MEDIA, /* PIP (Picture in picture */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001551 [ 0x21 ] = KEY_DOT,
1552 [ 0x13 ] = KEY_ENTER,
Malcolm Valentine2de873e2006-05-29 13:56:24 -03001553 [ 0x11 ] = KEY_LAST, /* Recall (last channel */
1554 [ 0x22 ] = KEY_PREVIOUS,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001555 [ 0x23 ] = KEY_PLAYPAUSE,
1556 [ 0x24 ] = KEY_NEXT,
Malcolm Valentine2de873e2006-05-29 13:56:24 -03001557 [ 0x25 ] = KEY_ARCHIVE, /* Time Shifting */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001558 [ 0x26 ] = KEY_STOP,
Malcolm Valentine2de873e2006-05-29 13:56:24 -03001559 [ 0x27 ] = KEY_RECORD,
1560 [ 0x28 ] = KEY_SAVE, /* Screenshot */
1561 [ 0x2f ] = KEY_MENU,
1562 [ 0x30 ] = KEY_CANCEL,
1563 [ 0x31 ] = KEY_CHANNEL, /* Channel Surf */
1564 [ 0x32 ] = KEY_SUBTITLE,
1565 [ 0x33 ] = KEY_LANGUAGE,
1566 [ 0x34 ] = KEY_REWIND,
1567 [ 0x35 ] = KEY_FASTFORWARD,
1568 [ 0x36 ] = KEY_TV,
1569 [ 0x37 ] = KEY_RADIO, /* FM */
Michel Lespinasse102df6a2007-11-26 18:57:10 -03001570 [ 0x38 ] = KEY_DVD,
1571
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 */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001576};
1577
1578EXPORT_SYMBOL_GPL(ir_codes_winfast);
1579
Sylvain Pascheb93eedb2006-03-25 23:14:42 -03001580IR_KEYTAB_TYPE ir_codes_pinnacle_color[IR_KEYTAB_SIZE] = {
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001581 [ 0x59 ] = KEY_MUTE,
1582 [ 0x4a ] = KEY_POWER,
1583
1584 [ 0x18 ] = KEY_TEXT,
1585 [ 0x26 ] = KEY_TV,
1586 [ 0x3d ] = KEY_PRINT,
1587
1588 [ 0x48 ] = KEY_RED,
1589 [ 0x04 ] = KEY_GREEN,
1590 [ 0x11 ] = KEY_YELLOW,
1591 [ 0x00 ] = KEY_BLUE,
1592
1593 [ 0x2d ] = KEY_VOLUMEUP,
1594 [ 0x1e ] = KEY_VOLUMEDOWN,
1595
1596 [ 0x49 ] = KEY_MENU,
1597
1598 [ 0x16 ] = KEY_CHANNELUP,
1599 [ 0x17 ] = KEY_CHANNELDOWN,
1600
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,
1636};
1637
Sylvain Pascheb93eedb2006-03-25 23:14:42 -03001638EXPORT_SYMBOL_GPL(ir_codes_pinnacle_color);
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001639
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 */
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
1656 [ 0x0a ] = KEY_TEXT, /* keypad asterisk as well */
1657 [ 0x0b ] = KEY_RED, /* red button */
1658 [ 0x0c ] = KEY_RADIO,
1659 [ 0x0d ] = KEY_MENU,
1660 [ 0x0e ] = KEY_SUBTITLE, /* also the # key */
1661 [ 0x0f ] = KEY_MUTE,
1662 [ 0x10 ] = KEY_VOLUMEUP,
1663 [ 0x11 ] = KEY_VOLUMEDOWN,
1664 [ 0x12 ] = KEY_PREVIOUS, /* previous channel */
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 */
1671 /* 0x1a: Pictures - presume this means
1672 "Multimedia Home Platform" -
1673 no "PICTURES" key in input.h
1674 */
1675 [ 0x1a ] = KEY_MHP,
1676
1677 [ 0x1b ] = KEY_EPG, /* Guide */
1678 [ 0x1c ] = KEY_TV,
1679 [ 0x1e ] = KEY_NEXTSONG, /* skip >| */
1680 [ 0x1f ] = KEY_EXIT, /* back/exit */
1681 [ 0x20 ] = KEY_CHANNELUP, /* channel / program + */
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) */
1699};
1700
1701EXPORT_SYMBOL_GPL(ir_codes_hauppauge_new);
Ricardo Cerqueira680543c2006-05-22 07:44:02 -03001702
1703IR_KEYTAB_TYPE ir_codes_npgtech[IR_KEYTAB_SIZE] = {
1704 [ 0x1d ] = KEY_SWITCHVIDEOMODE, /* switch inputs */
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,
1717 [ 0x22 ] = KEY_NUMLOCK, /* -/-- */
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,
1738 [ 0x30 ] = KEY_GOTO, /* Pointing arrow */
1739 [ 0x36 ] = KEY_MACRO, /* Maximize/Minimize (yellow) */
1740 [ 0x0b ] = KEY_RADIO,
1741 [ 0x10 ] = KEY_POWER,
1742
1743};
1744
1745EXPORT_SYMBOL_GPL(ir_codes_npgtech);
Peter Naullsd1009bd2006-08-08 09:10:05 -03001746
1747/* Norwood Micro (non-Pro) TV Tuner
1748 By Peter Naulls <peter@chocky.org>
1749 Key comments are the functions given in the manual */
1750IR_KEYTAB_TYPE ir_codes_norwood[IR_KEYTAB_SIZE] = {
1751 /* Keys 0 to 9 */
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
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 */
1791};
1792
1793EXPORT_SYMBOL_GPL(ir_codes_norwood);
David Hardeman2520fff2006-12-02 21:16:05 -02001794
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] = {
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,
1813 [ 0x0c ] = KEY_POWER, /* RADIO on Hauppauge */
1814 [ 0x0d ] = KEY_MUTE,
1815 [ 0x0f ] = KEY_A, /* TV on Hauppauge */
1816 [ 0x10 ] = KEY_VOLUMEUP,
1817 [ 0x11 ] = KEY_VOLUMEDOWN,
1818 [ 0x14 ] = KEY_B,
1819 [ 0x1c ] = KEY_UP,
1820 [ 0x1d ] = KEY_DOWN,
1821 [ 0x1e ] = KEY_OPTION, /* RESERVED on Hauppauge */
1822 [ 0x1f ] = KEY_BREAK,
1823 [ 0x20 ] = KEY_CHANNELUP,
1824 [ 0x21 ] = KEY_CHANNELDOWN,
1825 [ 0x22 ] = KEY_PREVIOUS, /* Prev. Ch on Zenith, SOURCE on Hauppauge */
1826 [ 0x24 ] = KEY_RESTART,
1827 [ 0x25 ] = KEY_OK,
1828 [ 0x26 ] = KEY_CYCLEWINDOWS, /* MINIMIZE on Hauppauge */
1829 [ 0x28 ] = KEY_ENTER, /* VCR mode on Zenith */
1830 [ 0x29 ] = KEY_PAUSE,
1831 [ 0x2b ] = KEY_RIGHT,
1832 [ 0x2c ] = KEY_LEFT,
1833 [ 0x2e ] = KEY_MENU, /* FULL SCREEN on Hauppauge */
1834 [ 0x30 ] = KEY_SLOW,
1835 [ 0x31 ] = KEY_PREVIOUS, /* VCR mode on Zenith */
1836 [ 0x32 ] = KEY_REWIND,
1837 [ 0x34 ] = KEY_FASTFORWARD,
1838 [ 0x35 ] = KEY_PLAY,
1839 [ 0x36 ] = KEY_STOP,
1840 [ 0x37 ] = KEY_RECORD,
1841 [ 0x38 ] = KEY_TUNER, /* TV/VCR on Zenith */
1842 [ 0x3a ] = KEY_C,
1843 [ 0x3c ] = KEY_EXIT,
1844 [ 0x3d ] = KEY_POWER2,
1845 [ 0x3e ] = KEY_TUNER,
1846};
1847
1848EXPORT_SYMBOL_GPL(ir_codes_budget_ci_old);
Hermann Pitton91607232006-12-07 21:45:28 -03001849
1850/*
1851 * Marc Fargas <telenieko@telenieko.com>
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 */
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 */
1881 [ 0x0a ] = KEY_CHANNELUP, /* channel / program + */
1882 [ 0x1b ] = KEY_CHANNELDOWN, /* channel / program - */
1883 [ 0x1a ] = KEY_ENTER, /* enter */
1884
1885 [ 0x06 ] = KEY_PAUSE, /* play/pause */
1886 [ 0x1e ] = KEY_PREVIOUS, /* rew */
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 */
1900};
1901
1902EXPORT_SYMBOL_GPL(ir_codes_asus_pc39);
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001903
1904
1905/* Encore ENLTV-FM - black plastic, white front cover with white glowing buttons
1906 Juan Pablo Sormani <sorman@gmail.com> */
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?) */
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
1929 [ 0x09 ] = KEY_LIST, /* -/-- */
1930 [ 0x0b ] = KEY_LAST, /* recall */
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,
1942 [ 0x13 ] = KEY_D, /* desktop */
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
1961 [ 0x4c ] = KEY_FAVORITES, /* tv wall */
1962 [ 0x4d ] = KEY_SOUND, /* DVD sound */
1963 [ 0x4e ] = KEY_LANGUAGE, /* DVD lang */
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 */
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001976};
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001977EXPORT_SYMBOL_GPL(ir_codes_encore_enltv);
Ville-Pekka Vainioae1942c2007-01-12 14:06:21 -03001978
Mauro Carvalho Chehab7d341a62008-08-05 10:14:13 -03001979/* Encore ENLTV2-FM - silver plastic - "Wand Media" written at the botton
1980 Mauro Carvalho Chehab <mchehab@infradead.org> */
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,
2020 [0x51] = KEY_SHUFFLE, /* Snapshot */
2021 [0x75] = KEY_TIME, /* Timeshift */
2022 [0x71] = KEY_TV2, /* PIP */
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
Ville-Pekka Vainio28aedb82007-04-14 15:38:23 -03002031/* for the Technotrend 1500 bundled remotes (grey and black): */
Ville-Pekka Vainioae1942c2007-01-12 14:06:21 -03002032IR_KEYTAB_TYPE ir_codes_tt_1500[IR_KEYTAB_SIZE] = {
2033 [ 0x01 ] = KEY_POWER,
2034 [ 0x02 ] = KEY_SHUFFLE, /* ? double-arrow key */
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,
2058 [ 0x1a ] = KEY_MODE, /* ? TV/Radio */
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,
Ville-Pekka Vainio28aedb82007-04-14 15:38:23 -03002066 [ 0x3a ] = KEY_RECORD, /* these keys are only in the black remote */
2067 [ 0x3b ] = KEY_PLAY,
2068 [ 0x3c ] = KEY_STOP,
2069 [ 0x3d ] = KEY_REWIND,
2070 [ 0x3e ] = KEY_PAUSE,
2071 [ 0x3f ] = KEY_FORWARD,
Ville-Pekka Vainioae1942c2007-01-12 14:06:21 -03002072};
2073
2074EXPORT_SYMBOL_GPL(ir_codes_tt_1500);
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002075
Michael Krufky3c443582007-08-24 01:07:12 -03002076/* DViCO FUSION HDTV MCE remote */
2077IR_KEYTAB_TYPE ir_codes_fusionhdtv_mce[IR_KEYTAB_SIZE] = {
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002078
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,
Michael Krufky3c443582007-08-24 01:07:12 -03002099 [ 0x1e ] = KEY_FAVORITES, /* Labeled CPF on remote */
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002100 [ 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 */
Michael Krufky3c443582007-08-24 01:07:12 -03002108
2109 [ 0x0f ] = KEY_PREVIOUSSONG, /* Labeled |<< REPLAY on remote */
2110 [ 0x12 ] = KEY_NEXTSONG, /* Labeled >>| SKIP on remote */
2111 [ 0x42 ] = KEY_ENTER, /* Labeled START with a green
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002112 * MS windows logo on remote */
2113
2114 [ 0x15 ] = KEY_VOLUMEUP,
2115 [ 0x05 ] = KEY_VOLUMEDOWN,
2116 [ 0x11 ] = KEY_CHANNELUP,
2117 [ 0x09 ] = KEY_CHANNELDOWN,
2118
Michael Krufky3c443582007-08-24 01:07:12 -03002119 [ 0x52 ] = KEY_CAMERA,
2120 [ 0x5a ] = KEY_TUNER,
2121 [ 0x19 ] = KEY_OPEN,
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002122
2123 [ 0x13 ] = KEY_MODE, /* 4:3 16:9 select */
2124 [ 0x1f ] = KEY_ZOOM,
2125
2126 [ 0x43 ] = KEY_REWIND,
2127 [ 0x47 ] = KEY_PLAYPAUSE,
Michael Krufky3c443582007-08-24 01:07:12 -03002128 [ 0x4f ] = KEY_FASTFORWARD,
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002129 [ 0x57 ] = KEY_MUTE,
2130 [ 0x0d ] = KEY_STOP,
2131 [ 0x01 ] = KEY_RECORD,
2132 [ 0x4e ] = KEY_POWER,
2133};
2134
Michael Krufky3c443582007-08-24 01:07:12 -03002135EXPORT_SYMBOL_GPL(ir_codes_fusionhdtv_mce);
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002136
Steven Toth91211062008-01-22 01:00:33 -03002137/* 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
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002172/*
2173 * Igor Kuznetsov <igk72@ya.ru>
2174 * Andrey J. Melnikov <temnota@kmv.ru>
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 * */
2188 [ 0x1c ] = KEY_TUNER, /*XXX KEY_TV KEY_RADIO */
2189 [ 0x12 ] = KEY_POWER,
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 * */
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,
2209
2210 /* 0x0a 0x00 0x17 *
2211 * RECALL 0 MODE *
2212 * */
2213 [ 0x0a ] = KEY_AGAIN,
2214 [ 0x00 ] = KEY_0,
2215 [ 0x17 ] = KEY_MODE,
2216
2217 /* 0x14 0x10 *
2218 * ASPECT FULLSCREEN *
2219 * */
2220 [ 0x14 ] = KEY_SCREEN,
2221 [ 0x10 ] = KEY_ZOOM,
2222
2223 /* 0x0b *
2224 * Up *
2225 * *
2226 * 0x18 0x16 0x0c *
2227 * Left Ok Right *
2228 * *
2229 * 0x015 *
2230 * Down *
2231 * */
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 */
2237
2238 /* 0x11 0x0d *
2239 * MUTE INFO *
2240 * */
2241 [ 0x11 ] = KEY_MUTE,
2242 [ 0x0d ] = KEY_INFO,
2243
2244 /* 0x0f 0x1b 0x1a *
2245 * RECORD PLAY/PAUSE STOP *
2246 * *
2247 * 0x0e 0x1f 0x1e *
2248 *TELETEXT AUDIO SOURCE *
2249 * RED YELLOW *
2250 * */
2251 [ 0x0f ] = KEY_RECORD,
2252 [ 0x1b ] = KEY_PLAYPAUSE,
2253 [ 0x1a ] = KEY_STOP,
2254 [ 0x0e ] = KEY_TEXT,
2255 [ 0x1f ] = KEY_RED, /*XXX KEY_AUDIO */
2256 [ 0x1e ] = KEY_YELLOW, /*XXX KEY_SOURCE */
2257
2258 /* 0x1d 0x13 0x19 *
2259 * SLEEP PREVIEW DVB *
2260 * GREEN BLUE *
2261 * */
2262 [ 0x1d ] = KEY_SLEEP,
2263 [ 0x13 ] = KEY_GREEN,
2264 [ 0x19 ] = KEY_BLUE, /*XXX KEY_SAT */
2265
2266 /* 0x58 0x5c *
2267 * FREEZE SNAPSHOT *
2268 * */
2269 [ 0x58 ] = KEY_SLOW,
2270 [ 0x5c ] = KEY_SAVE,
2271
2272};
2273
2274EXPORT_SYMBOL_GPL(ir_codes_behold);
Adrian Pardinif0ba3562008-02-11 12:40:53 -03002275
Dmitry Belimovb34dddb2008-04-23 14:09:08 -03002276/* Beholder Intl. Ltd. 2008
2277 * Dmitry Belimov d.belimov@google.com
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,
2292 [0x1C] = KEY_TUNER, /* KEY_TV/KEY_RADIO */
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,
2311 [0x19] = KEY_BOOKMARKS, /* Snapshot key */
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
Adrian Pardinif0ba3562008-02-11 12:40:53 -03002346/*
2347 * Remote control for the Genius TVGO A11MCE
2348 * Adrian Pardini <pardo.bsso@gmail.com>
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 */
2377 [0x0e] = KEY_PREVIOUS, /* also Rewind */
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);
Dâniel Fragaba928032008-04-08 19:56:44 -03002391
2392/*
2393 * Remote control for Powercolor Real Angel 330
2394 * Daniel Fraga <fragabr@gmail.com>
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);
Tim Farrington6e501a32008-06-15 13:33:42 -03002434
Mauro Carvalho Chehab26d5f3a2008-12-07 13:19:29 -03002435/* Kworld Plus TV Analog Lite PCI IR
2436 Mauro Carvalho Chehab <mchehab@infradead.org>
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
Mauro Carvalho Chehab9fc2c5e2009-02-11 14:15:14 -03002496/* Kaiomy TVnPC U2
2497 Mauro Carvalho Chehab <mchehab@infradead.org>
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
Tim Farrington6e501a32008-06-15 13:33:42 -03002545IR_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);
Mauro Carvalho Chehabbf1ece62008-06-26 17:03:00 -03002582
2583/* Encore ENLTV-FM v5.3
2584 Mauro Carvalho Chehab <mchehab@infradead.org>
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);
Mauro Carvalho Chehab9b000192008-06-26 17:03:00 -03002625
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);
Devin Heitmueller60245e82008-11-16 08:03:53 -03002665
2666/* ATI TV Wonder HD 600 USB
2667 Devin Heitmueller <devin.heitmueller@gmail.com>
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);
Igor M. Liplianinb72857d2009-02-26 03:49:44 -03002697
2698/* DVBWorld remotes
2699 Igor M. Liplianin <liplianin@me.by>
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);
Devin Heitmuellera4c47302009-06-20 21:34:42 -03002735
Devin Heitmueller8cd9aae2009-08-03 23:56:51 -03002736
2737/* Terratec Cinergy Hybrid T USB XS
2738 Devin Heitmueller <dheitmueller@linuxtv.org>
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
Devin Heitmuellera4c47302009-06-20 21:34:42 -03002791/* EVGA inDtube
2792 Devin Heitmueller <devin.heitmueller@gmail.com>
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);
Igor M. Liplianinecfcfec2009-08-13 21:42:21 -03002813
2814IR_KEYTAB_TYPE ir_codes_videomate_s350[IR_KEYTAB_SIZE] = {
2815 [0x00] = KEY_TV,
2816 [0x01] = KEY_DVD,
2817 [0x04] = KEY_RECORD,
2818 [0x05] = KEY_VIDEO, /* TV/Video */
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,
2840 [0x25] = KEY_LAST, /* Recall */
2841 [0x26] = KEY_SUBTITLE, /* CC */
2842 [0x27] = KEY_LANGUAGE, /* MTS */
2843 [0x29] = KEY_CHANNEL, /* SURF */
2844 [0x2b] = KEY_A,
2845 [0x2c] = KEY_B,
2846 [0x2f] = KEY_SHUFFLE, /* Snapshot */
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);