blob: e8af24f9d2e3a7355c2fed8f32eda52789379104 [file] [log] [blame]
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001/*
Mauro Carvalho Chehab7f9d6912009-08-29 08:43:20 -03002 Keytables for supported remote controls, used on drivers/media
3 devices.
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02004
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Mauro Carvalho Chehab7f9d6912009-08-29 08:43:20 -030018*/
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -020019
Mauro Carvalho Chehab7f9d6912009-08-29 08:43:20 -030020/*
21 * NOTICE FOR DEVELOPERS:
22 * The IR mappings should be as close as possible to what's
23 * specified at:
24 * http://linuxtv.org/wiki/index.php/Remote_Controllers
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -020025 */
26#include <linux/module.h>
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -020027
28#include <linux/input.h>
29#include <media/ir-common.h>
30
31/* empty keytable, can be used as placeholder for not-yet created keytables */
32IR_KEYTAB_TYPE ir_codes_empty[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -030033 [0x2a] = KEY_COFFEE,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -020034};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -020035EXPORT_SYMBOL_GPL(ir_codes_empty);
36
Michal Majchrowiczb04c1ba2006-09-13 16:42:42 -030037/* Michal Majchrowicz <mmajchrowicz@gmail.com> */
38IR_KEYTAB_TYPE ir_codes_proteus_2309[IR_KEYTAB_SIZE] = {
39 /* numeric */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -030040 [0x00] = KEY_0,
41 [0x01] = KEY_1,
42 [0x02] = KEY_2,
43 [0x03] = KEY_3,
44 [0x04] = KEY_4,
45 [0x05] = KEY_5,
46 [0x06] = KEY_6,
47 [0x07] = KEY_7,
48 [0x08] = KEY_8,
49 [0x09] = KEY_9,
Michal Majchrowiczb04c1ba2006-09-13 16:42:42 -030050
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -030051 [0x5c] = KEY_POWER, /* power */
Mauro Carvalho Chehab62f1aa92009-08-29 09:01:54 -030052 [0x20] = KEY_ZOOM, /* full screen */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -030053 [0x0f] = KEY_BACKSPACE, /* recall */
54 [0x1b] = KEY_ENTER, /* mute */
55 [0x41] = KEY_RECORD, /* record */
56 [0x43] = KEY_STOP, /* stop */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -030057 [0x16] = KEY_S,
Mauro Carvalho Chehab62f1aa92009-08-29 09:01:54 -030058 [0x1a] = KEY_POWER2, /* off */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -030059 [0x2e] = KEY_RED,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -030060 [0x1f] = KEY_DOWN, /* channel - */
61 [0x1c] = KEY_UP, /* channel + */
62 [0x10] = KEY_LEFT, /* volume - */
63 [0x1e] = KEY_RIGHT, /* volume + */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -030064 [0x14] = KEY_F1,
Michal Majchrowiczb04c1ba2006-09-13 16:42:42 -030065};
Michal Majchrowiczb04c1ba2006-09-13 16:42:42 -030066EXPORT_SYMBOL_GPL(ir_codes_proteus_2309);
Mauro Carvalho Chehaba83520f2009-08-27 09:54:44 -030067
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -020068/* Matt Jesson <dvb@jesson.eclipse.co.uk */
69IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -030070 [0x28] = KEY_0, /* '0' / 'enter' */
71 [0x22] = KEY_1, /* '1' */
72 [0x12] = KEY_2, /* '2' / 'up arrow' */
73 [0x32] = KEY_3, /* '3' */
74 [0x24] = KEY_4, /* '4' / 'left arrow' */
75 [0x14] = KEY_5, /* '5' */
76 [0x34] = KEY_6, /* '6' / 'right arrow' */
77 [0x26] = KEY_7, /* '7' */
78 [0x16] = KEY_8, /* '8' / 'down arrow' */
79 [0x36] = KEY_9, /* '9' */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -020080
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -030081 [0x20] = KEY_LIST, /* 'source' */
82 [0x10] = KEY_TEXT, /* 'teletext' */
83 [0x00] = KEY_POWER, /* 'power' */
84 [0x04] = KEY_AUDIO, /* 'audio' */
85 [0x06] = KEY_ZOOM, /* 'full screen' */
86 [0x18] = KEY_VIDEO, /* 'display' */
87 [0x38] = KEY_SEARCH, /* 'loop' */
88 [0x08] = KEY_INFO, /* 'preview' */
89 [0x2a] = KEY_REWIND, /* 'backward <<' */
90 [0x1a] = KEY_FASTFORWARD, /* 'forward >>' */
91 [0x3a] = KEY_RECORD, /* 'capture' */
92 [0x0a] = KEY_MUTE, /* 'mute' */
93 [0x2c] = KEY_RECORD, /* 'record' */
94 [0x1c] = KEY_PAUSE, /* 'pause' */
95 [0x3c] = KEY_STOP, /* 'stop' */
96 [0x0c] = KEY_PLAY, /* 'play' */
97 [0x2e] = KEY_RED, /* 'red' */
98 [0x01] = KEY_BLUE, /* 'blue' / 'cancel' */
99 [0x0e] = KEY_YELLOW, /* 'yellow' / 'ok' */
100 [0x21] = KEY_GREEN, /* 'green' */
101 [0x11] = KEY_CHANNELDOWN, /* 'channel -' */
102 [0x31] = KEY_CHANNELUP, /* 'channel +' */
103 [0x1e] = KEY_VOLUMEDOWN, /* 'volume -' */
104 [0x3e] = KEY_VOLUMEUP, /* 'volume +' */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200105};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200106EXPORT_SYMBOL_GPL(ir_codes_avermedia_dvbt);
107
Mauro Carvalho Chehab36f6bb92008-06-26 17:03:00 -0300108/* Mauro Carvalho Chehab <mchehab@infradead.org> */
109IR_KEYTAB_TYPE ir_codes_avermedia_m135a[IR_KEYTAB_SIZE] = {
110 [0x00] = KEY_POWER2,
111 [0x2e] = KEY_DOT, /* '.' */
112 [0x01] = KEY_MODE, /* TV/FM */
113
114 [0x05] = KEY_1,
115 [0x06] = KEY_2,
116 [0x07] = KEY_3,
117 [0x09] = KEY_4,
118 [0x0a] = KEY_5,
119 [0x0b] = KEY_6,
120 [0x0d] = KEY_7,
121 [0x0e] = KEY_8,
122 [0x0f] = KEY_9,
123 [0x11] = KEY_0,
124
125 [0x13] = KEY_RIGHT, /* -> */
126 [0x12] = KEY_LEFT, /* <- */
127
128 [0x17] = KEY_SLEEP, /* Capturar Imagem */
129 [0x10] = KEY_SHUFFLE, /* Amostra */
130
131 /* FIXME: The keys bellow aren't ok */
132
133 [0x43] = KEY_CHANNELUP,
134 [0x42] = KEY_CHANNELDOWN,
135 [0x1f] = KEY_VOLUMEUP,
136 [0x1e] = KEY_VOLUMEDOWN,
137 [0x0c] = KEY_ENTER,
138
139 [0x14] = KEY_MUTE,
140 [0x08] = KEY_AUDIO,
141
142 [0x03] = KEY_TEXT,
143 [0x04] = KEY_EPG,
144 [0x2b] = KEY_TV2, /* TV2 */
145
146 [0x1d] = KEY_RED,
147 [0x1c] = KEY_YELLOW,
148 [0x41] = KEY_GREEN,
149 [0x40] = KEY_BLUE,
150
151 [0x1a] = KEY_PLAYPAUSE,
152 [0x19] = KEY_RECORD,
153 [0x18] = KEY_PLAY,
154 [0x1b] = KEY_STOP,
155};
156EXPORT_SYMBOL_GPL(ir_codes_avermedia_m135a);
157
Oldřich Jedličkacb3bf502009-02-12 03:43:11 -0300158/* Oldrich Jedlicka <oldium.pro@seznam.cz> */
159IR_KEYTAB_TYPE ir_codes_avermedia_cardbus[IR_KEYTAB_SIZE] = {
160 [0x00] = KEY_POWER,
161 [0x01] = KEY_TUNER, /* TV/FM */
162 [0x03] = KEY_TEXT, /* Teletext */
163 [0x04] = KEY_EPG,
164 [0x05] = KEY_1,
165 [0x06] = KEY_2,
166 [0x07] = KEY_3,
167 [0x08] = KEY_AUDIO,
168 [0x09] = KEY_4,
169 [0x0a] = KEY_5,
170 [0x0b] = KEY_6,
171 [0x0c] = KEY_ZOOM, /* Full screen */
172 [0x0d] = KEY_7,
173 [0x0e] = KEY_8,
174 [0x0f] = KEY_9,
175 [0x10] = KEY_PAGEUP, /* 16-CH PREV */
176 [0x11] = KEY_0,
177 [0x12] = KEY_INFO,
178 [0x13] = KEY_AGAIN, /* CH RTN - channel return */
179 [0x14] = KEY_MUTE,
180 [0x15] = KEY_EDIT, /* Autoscan */
181 [0x17] = KEY_SAVE, /* Screenshot */
182 [0x18] = KEY_PLAYPAUSE,
183 [0x19] = KEY_RECORD,
184 [0x1a] = KEY_PLAY,
185 [0x1b] = KEY_STOP,
186 [0x1c] = KEY_FASTFORWARD,
187 [0x1d] = KEY_REWIND,
188 [0x1e] = KEY_VOLUMEDOWN,
189 [0x1f] = KEY_VOLUMEUP,
190 [0x22] = KEY_SLEEP, /* Sleep */
191 [0x23] = KEY_ZOOM, /* Aspect */
192 [0x26] = KEY_SCREEN, /* Pos */
193 [0x27] = KEY_ANGLE, /* Size */
194 [0x28] = KEY_SELECT, /* Select */
195 [0x29] = KEY_BLUE, /* Blue/Picture */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300196 [0x2a] = KEY_BACKSPACE, /* Back */
Oldřich Jedličkacb3bf502009-02-12 03:43:11 -0300197 [0x2b] = KEY_MEDIA, /* PIP (Picture-in-picture) */
198 [0x2c] = KEY_DOWN,
199 [0x2e] = KEY_DOT,
200 [0x2f] = KEY_TV, /* Live TV */
201 [0x32] = KEY_LEFT,
202 [0x33] = KEY_CLEAR, /* Clear */
203 [0x35] = KEY_RED, /* Red/TV */
204 [0x36] = KEY_UP,
205 [0x37] = KEY_HOME, /* Home */
206 [0x39] = KEY_GREEN, /* Green/Video */
207 [0x3d] = KEY_YELLOW, /* Yellow/Music */
208 [0x3e] = KEY_OK, /* Ok */
209 [0x3f] = KEY_RIGHT,
210 [0x40] = KEY_NEXT, /* Next */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300211 [0x41] = KEY_PREVIOUS, /* Previous */
Oldřich Jedličkacb3bf502009-02-12 03:43:11 -0300212 [0x42] = KEY_CHANNELDOWN, /* Channel down */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300213 [0x43] = KEY_CHANNELUP, /* Channel up */
Oldřich Jedličkacb3bf502009-02-12 03:43:11 -0300214};
215EXPORT_SYMBOL_GPL(ir_codes_avermedia_cardbus);
216
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200217/* Attila Kondoros <attila.kondoros@chello.hu> */
218IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE] = {
219
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300220 [0x01] = KEY_1,
221 [0x02] = KEY_2,
222 [0x03] = KEY_3,
223 [0x04] = KEY_4,
224 [0x05] = KEY_5,
225 [0x06] = KEY_6,
226 [0x07] = KEY_7,
227 [0x08] = KEY_8,
228 [0x09] = KEY_9,
229 [0x00] = KEY_0,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300230 [0x17] = KEY_LAST, /* +100 */
231 [0x0a] = KEY_LIST, /* recall */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200232
233
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300234 [0x1c] = KEY_TUNER, /* TV/FM */
235 [0x15] = KEY_SEARCH, /* scan */
236 [0x12] = KEY_POWER, /* power */
237 [0x1f] = KEY_VOLUMEDOWN, /* vol up */
238 [0x1b] = KEY_VOLUMEUP, /* vol down */
239 [0x1e] = KEY_CHANNELDOWN, /* chn up */
240 [0x1a] = KEY_CHANNELUP, /* chn down */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200241
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300242 [0x11] = KEY_VIDEO, /* video */
243 [0x0f] = KEY_ZOOM, /* full screen */
244 [0x13] = KEY_MUTE, /* mute/unmute */
245 [0x10] = KEY_TEXT, /* min */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200246
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300247 [0x0d] = KEY_STOP, /* freeze */
248 [0x0e] = KEY_RECORD, /* record */
249 [0x1d] = KEY_PLAYPAUSE, /* stop */
250 [0x19] = KEY_PLAY, /* play */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200251
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300252 [0x16] = KEY_GOTO, /* osd */
253 [0x14] = KEY_REFRESH, /* default */
254 [0x0c] = KEY_KPPLUS, /* fine tune >>>> */
255 [0x18] = KEY_KPMINUS, /* fine tune <<<< */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200256};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200257EXPORT_SYMBOL_GPL(ir_codes_apac_viewcomp);
258
259/* ---------------------------------------------------------------------- */
260
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -0200261IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE] = {
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200262
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300263 [0x1e] = KEY_POWER, /* power */
264 [0x07] = KEY_MEDIA, /* source */
265 [0x1c] = KEY_SEARCH, /* scan */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200266
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200267
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300268 [0x03] = KEY_TUNER, /* TV/FM */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200269
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300270 [0x00] = KEY_RECORD,
271 [0x08] = KEY_STOP,
272 [0x11] = KEY_PLAY,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200273
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300274 [0x1a] = KEY_PLAYPAUSE, /* freeze */
275 [0x19] = KEY_ZOOM, /* zoom */
276 [0x0f] = KEY_TEXT, /* min */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200277
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300278 [0x01] = KEY_1,
279 [0x0b] = KEY_2,
280 [0x1b] = KEY_3,
281 [0x05] = KEY_4,
282 [0x09] = KEY_5,
283 [0x15] = KEY_6,
284 [0x06] = KEY_7,
285 [0x0a] = KEY_8,
286 [0x12] = KEY_9,
287 [0x02] = KEY_0,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300288 [0x10] = KEY_LAST, /* +100 */
289 [0x13] = KEY_LIST, /* recall */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200290
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300291 [0x1f] = KEY_CHANNELUP, /* chn down */
292 [0x17] = KEY_CHANNELDOWN, /* chn up */
293 [0x16] = KEY_VOLUMEUP, /* vol down */
294 [0x14] = KEY_VOLUMEDOWN, /* vol up */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200295
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300296 [0x04] = KEY_KPMINUS, /* <<< */
297 [0x0e] = KEY_SETUP, /* function */
298 [0x0c] = KEY_KPPLUS, /* >>> */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200299
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300300 [0x0d] = KEY_GOTO, /* mts */
301 [0x1d] = KEY_REFRESH, /* reset */
302 [0x18] = KEY_MUTE, /* mute/unmute */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200303};
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] = {
Mauro Carvalho Chehabf545cb42009-08-29 09:06:07 -0300311 [0x3c] = KEY_TIME, /* Timeshift */
Mauro Carvalho Chehab7f0dd172008-04-22 14:46:01 -0300312 [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] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300352 [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,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300406 [0x36] = KEY_PC,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200407};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200408EXPORT_SYMBOL_GPL(ir_codes_nebula);
409
410/* DigitalNow DNTV Live DVB-T Remote */
411IR_KEYTAB_TYPE ir_codes_dntv_live_dvb_t[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300412 [0x00] = KEY_ESC, /* 'go up a level?' */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200413 /* Keys 0 to 9 */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300414 [0x0a] = KEY_0,
415 [0x01] = KEY_1,
416 [0x02] = KEY_2,
417 [0x03] = KEY_3,
418 [0x04] = KEY_4,
419 [0x05] = KEY_5,
420 [0x06] = KEY_6,
421 [0x07] = KEY_7,
422 [0x08] = KEY_8,
423 [0x09] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200424
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300425 [0x0b] = KEY_TUNER, /* tv/fm */
426 [0x0c] = KEY_SEARCH, /* scan */
427 [0x0d] = KEY_STOP,
428 [0x0e] = KEY_PAUSE,
429 [0x0f] = KEY_LIST, /* source */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200430
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300431 [0x10] = KEY_MUTE,
432 [0x11] = KEY_REWIND, /* backward << */
433 [0x12] = KEY_POWER,
Mauro Carvalho Chehab62f1aa92009-08-29 09:01:54 -0300434 [0x13] = KEY_CAMERA, /* snap */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300435 [0x14] = KEY_AUDIO, /* stereo */
436 [0x15] = KEY_CLEAR, /* reset */
437 [0x16] = KEY_PLAY,
438 [0x17] = KEY_ENTER,
439 [0x18] = KEY_ZOOM, /* full screen */
440 [0x19] = KEY_FASTFORWARD, /* forward >> */
441 [0x1a] = KEY_CHANNELUP,
442 [0x1b] = KEY_VOLUMEUP,
443 [0x1c] = KEY_INFO, /* preview */
444 [0x1d] = KEY_RECORD, /* record */
445 [0x1e] = KEY_CHANNELDOWN,
446 [0x1f] = KEY_VOLUMEDOWN,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200447};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200448EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvb_t);
449
450/* ---------------------------------------------------------------------- */
451
452/* IO-DATA BCTV7E Remote */
453IR_KEYTAB_TYPE ir_codes_iodata_bctv7e[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300454 [0x40] = KEY_TV,
455 [0x20] = KEY_RADIO, /* FM */
456 [0x60] = KEY_EPG,
457 [0x00] = KEY_POWER,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200458
459 /* Keys 0 to 9 */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300460 [0x44] = KEY_0, /* 10 */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300461 [0x50] = KEY_1,
462 [0x30] = KEY_2,
463 [0x70] = KEY_3,
464 [0x48] = KEY_4,
465 [0x28] = KEY_5,
466 [0x68] = KEY_6,
467 [0x58] = KEY_7,
468 [0x38] = KEY_8,
469 [0x78] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200470
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300471 [0x10] = KEY_L, /* Live */
Mauro Carvalho Chehabf545cb42009-08-29 09:06:07 -0300472 [0x08] = KEY_TIME, /* Time Shift */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200473
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300474 [0x18] = KEY_PLAYPAUSE, /* Play */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200475
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300476 [0x24] = KEY_ENTER, /* 11 */
477 [0x64] = KEY_ESC, /* 12 */
478 [0x04] = KEY_M, /* Multi */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200479
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300480 [0x54] = KEY_VIDEO,
481 [0x34] = KEY_CHANNELUP,
482 [0x74] = KEY_VOLUMEUP,
483 [0x14] = KEY_MUTE,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200484
Mauro Carvalho Chehab62f1aa92009-08-29 09:01:54 -0300485 [0x4c] = KEY_VCR, /* SVIDEO */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300486 [0x2c] = KEY_CHANNELDOWN,
487 [0x6c] = KEY_VOLUMEDOWN,
488 [0x0c] = KEY_ZOOM,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200489
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300490 [0x5c] = KEY_PAUSE,
Mauro Carvalho Chehab62f1aa92009-08-29 09:01:54 -0300491 [0x3c] = KEY_RED, /* || (red) */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300492 [0x7c] = KEY_RECORD, /* recording */
493 [0x1c] = KEY_STOP,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200494
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300495 [0x41] = KEY_REWIND, /* backward << */
496 [0x21] = KEY_PLAY,
497 [0x61] = KEY_FASTFORWARD, /* forward >> */
498 [0x01] = KEY_NEXT, /* skip >| */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200499};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200500EXPORT_SYMBOL_GPL(ir_codes_iodata_bctv7e);
501
502/* ---------------------------------------------------------------------- */
503
504/* ADS Tech Instant TV DVB-T PCI Remote */
505IR_KEYTAB_TYPE ir_codes_adstech_dvb_t_pci[IR_KEYTAB_SIZE] = {
506 /* Keys 0 to 9 */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300507 [0x4d] = KEY_0,
508 [0x57] = KEY_1,
509 [0x4f] = KEY_2,
510 [0x53] = KEY_3,
511 [0x56] = KEY_4,
512 [0x4e] = KEY_5,
513 [0x5e] = KEY_6,
514 [0x54] = KEY_7,
515 [0x4c] = KEY_8,
516 [0x5c] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200517
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300518 [0x5b] = KEY_POWER,
519 [0x5f] = KEY_MUTE,
520 [0x55] = KEY_GOTO,
521 [0x5d] = KEY_SEARCH,
522 [0x17] = KEY_EPG, /* Guide */
523 [0x1f] = KEY_MENU,
524 [0x0f] = KEY_UP,
525 [0x46] = KEY_DOWN,
526 [0x16] = KEY_LEFT,
527 [0x1e] = KEY_RIGHT,
528 [0x0e] = KEY_SELECT, /* Enter */
529 [0x5a] = KEY_INFO,
530 [0x52] = KEY_EXIT,
531 [0x59] = KEY_PREVIOUS,
532 [0x51] = KEY_NEXT,
533 [0x58] = KEY_REWIND,
534 [0x50] = KEY_FORWARD,
535 [0x44] = KEY_PLAYPAUSE,
536 [0x07] = KEY_STOP,
537 [0x1b] = KEY_RECORD,
538 [0x13] = KEY_TUNER, /* Live */
539 [0x0a] = KEY_A,
540 [0x12] = KEY_B,
541 [0x03] = KEY_PROG1, /* 1 */
542 [0x01] = KEY_PROG2, /* 2 */
543 [0x00] = KEY_PROG3, /* 3 */
544 [0x06] = KEY_DVD,
545 [0x48] = KEY_AUX, /* Photo */
546 [0x40] = KEY_VIDEO,
547 [0x19] = KEY_AUDIO, /* Music */
548 [0x0b] = KEY_CHANNELUP,
549 [0x08] = KEY_CHANNELDOWN,
550 [0x15] = KEY_VOLUMEUP,
551 [0x1c] = KEY_VOLUMEDOWN,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200552};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200553EXPORT_SYMBOL_GPL(ir_codes_adstech_dvb_t_pci);
554
555/* ---------------------------------------------------------------------- */
556
Brian Rogersba340b42008-10-13 08:37:06 -0300557/* MSI TV@nywhere MASTER remote */
558
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200559IR_KEYTAB_TYPE ir_codes_msi_tvanywhere[IR_KEYTAB_SIZE] = {
560 /* Keys 0 to 9 */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300561 [0x00] = KEY_0,
562 [0x01] = KEY_1,
563 [0x02] = KEY_2,
564 [0x03] = KEY_3,
565 [0x04] = KEY_4,
566 [0x05] = KEY_5,
567 [0x06] = KEY_6,
568 [0x07] = KEY_7,
569 [0x08] = KEY_8,
570 [0x09] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200571
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300572 [0x0c] = KEY_MUTE,
573 [0x0f] = KEY_SCREEN, /* Full Screen */
Mauro Carvalho Chehab62f1aa92009-08-29 09:01:54 -0300574 [0x10] = KEY_FN, /* Funtion */
Mauro Carvalho Chehabf545cb42009-08-29 09:06:07 -0300575 [0x11] = KEY_TIME, /* Time shift */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300576 [0x12] = KEY_POWER,
577 [0x13] = KEY_MEDIA, /* MTS */
578 [0x14] = KEY_SLOW,
579 [0x16] = KEY_REWIND, /* backward << */
580 [0x17] = KEY_ENTER, /* Return */
581 [0x18] = KEY_FASTFORWARD, /* forward >> */
582 [0x1a] = KEY_CHANNELUP,
583 [0x1b] = KEY_VOLUMEUP,
584 [0x1e] = KEY_CHANNELDOWN,
585 [0x1f] = KEY_VOLUMEDOWN,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200586};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200587EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere);
588
589/* ---------------------------------------------------------------------- */
590
Brian Rogersba340b42008-10-13 08:37:06 -0300591/*
592 Keycodes for remote on the MSI TV@nywhere Plus. The controller IC on the card
593 is marked "KS003". The controller is I2C at address 0x30, but does not seem
594 to respond to probes until a read is performed from a valid device.
595 I don't know why...
596
597 Note: This remote may be of similar or identical design to the
598 Pixelview remote (?). The raw codes and duplicate button codes
599 appear to be the same.
600
601 Henry Wong <henry@stuffedcow.net>
602 Some changes to formatting and keycodes by Mark Schultz <n9xmj@yahoo.com>
603
604*/
605
606IR_KEYTAB_TYPE ir_codes_msi_tvanywhere_plus[IR_KEYTAB_SIZE] = {
607
608/* ---- Remote Button Layout ----
609
610 POWER SOURCE SCAN MUTE
611 TV/FM 1 2 3
612 |> 4 5 6
613 <| 7 8 9
614 ^^UP 0 + RECALL
615 vvDN RECORD STOP PLAY
616
617 MINIMIZE ZOOM
618
619 CH+
620 VOL- VOL+
621 CH-
622
623 SNAPSHOT MTS
624
625 << FUNC >> RESET
626*/
627
Mauro Carvalho Chehab88d25a12009-08-29 08:37:58 -0300628 [0x01] = KEY_1, /* 1 */
629 [0x0b] = KEY_2, /* 2 */
630 [0x1b] = KEY_3, /* 3 */
631 [0x05] = KEY_4, /* 4 */
632 [0x09] = KEY_5, /* 5 */
633 [0x15] = KEY_6, /* 6 */
634 [0x06] = KEY_7, /* 7 */
635 [0x0a] = KEY_8, /* 8 */
636 [0x12] = KEY_9, /* 9 */
637 [0x02] = KEY_0, /* 0 */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300638 [0x10] = KEY_KPPLUS, /* + */
639 [0x13] = KEY_AGAIN, /* Recall */
Brian Rogersba340b42008-10-13 08:37:06 -0300640
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300641 [0x1e] = KEY_POWER, /* Power */
642 [0x07] = KEY_TUNER, /* Source */
643 [0x1c] = KEY_SEARCH, /* Scan */
644 [0x18] = KEY_MUTE, /* Mute */
Brian Rogersba340b42008-10-13 08:37:06 -0300645
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300646 [0x03] = KEY_RADIO, /* TV/FM */
Brian Rogersba340b42008-10-13 08:37:06 -0300647 /* The next four keys are duplicates that appear to send the
648 same IR code as Ch+, Ch-, >>, and << . The raw code assigned
649 to them is the actual code + 0x20 - they will never be
650 detected as such unless some way is discovered to distinguish
651 these buttons from those that have the same code. */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300652 [0x3f] = KEY_RIGHT, /* |> and Ch+ */
653 [0x37] = KEY_LEFT, /* <| and Ch- */
654 [0x2c] = KEY_UP, /* ^^Up and >> */
655 [0x24] = KEY_DOWN, /* vvDn and << */
Brian Rogersba340b42008-10-13 08:37:06 -0300656
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300657 [0x00] = KEY_RECORD, /* Record */
658 [0x08] = KEY_STOP, /* Stop */
659 [0x11] = KEY_PLAY, /* Play */
Brian Rogersba340b42008-10-13 08:37:06 -0300660
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300661 [0x0f] = KEY_CLOSE, /* Minimize */
662 [0x19] = KEY_ZOOM, /* Zoom */
663 [0x1a] = KEY_SHUFFLE, /* Snapshot */
664 [0x0d] = KEY_LANGUAGE, /* MTS */
Brian Rogersba340b42008-10-13 08:37:06 -0300665
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300666 [0x14] = KEY_VOLUMEDOWN,/* Vol- */
667 [0x16] = KEY_VOLUMEUP, /* Vol+ */
668 [0x17] = KEY_CHANNELDOWN,/* Ch- */
669 [0x1f] = KEY_CHANNELUP, /* Ch+ */
Brian Rogersba340b42008-10-13 08:37:06 -0300670
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300671 [0x04] = KEY_REWIND, /* << */
672 [0x0e] = KEY_MENU, /* Function */
673 [0x0c] = KEY_FASTFORWARD,/* >> */
674 [0x1d] = KEY_RESTART, /* Reset */
Brian Rogersba340b42008-10-13 08:37:06 -0300675};
676EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere_plus);
677
678/* ---------------------------------------------------------------------- */
679
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200680/* Cinergy 1400 DVB-T */
681IR_KEYTAB_TYPE ir_codes_cinergy_1400[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300682 [0x01] = KEY_POWER,
683 [0x02] = KEY_1,
684 [0x03] = KEY_2,
685 [0x04] = KEY_3,
686 [0x05] = KEY_4,
687 [0x06] = KEY_5,
688 [0x07] = KEY_6,
689 [0x08] = KEY_7,
690 [0x09] = KEY_8,
691 [0x0a] = KEY_9,
692 [0x0c] = KEY_0,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200693
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300694 [0x0b] = KEY_VIDEO,
695 [0x0d] = KEY_REFRESH,
696 [0x0e] = KEY_SELECT,
697 [0x0f] = KEY_EPG,
698 [0x10] = KEY_UP,
699 [0x11] = KEY_LEFT,
700 [0x12] = KEY_OK,
701 [0x13] = KEY_RIGHT,
702 [0x14] = KEY_DOWN,
703 [0x15] = KEY_TEXT,
704 [0x16] = KEY_INFO,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200705
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300706 [0x17] = KEY_RED,
707 [0x18] = KEY_GREEN,
708 [0x19] = KEY_YELLOW,
709 [0x1a] = KEY_BLUE,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200710
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300711 [0x1b] = KEY_CHANNELUP,
712 [0x1c] = KEY_VOLUMEUP,
713 [0x1d] = KEY_MUTE,
714 [0x1e] = KEY_VOLUMEDOWN,
715 [0x1f] = KEY_CHANNELDOWN,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200716
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300717 [0x40] = KEY_PAUSE,
718 [0x4c] = KEY_PLAY,
719 [0x58] = KEY_RECORD,
720 [0x54] = KEY_PREVIOUS,
721 [0x48] = KEY_STOP,
722 [0x5c] = KEY_NEXT,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200723};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200724EXPORT_SYMBOL_GPL(ir_codes_cinergy_1400);
725
726/* ---------------------------------------------------------------------- */
727
728/* AVERTV STUDIO 303 Remote */
729IR_KEYTAB_TYPE ir_codes_avertv_303[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300730 [0x2a] = KEY_1,
731 [0x32] = KEY_2,
732 [0x3a] = KEY_3,
733 [0x4a] = KEY_4,
734 [0x52] = KEY_5,
735 [0x5a] = KEY_6,
736 [0x6a] = KEY_7,
737 [0x72] = KEY_8,
738 [0x7a] = KEY_9,
739 [0x0e] = KEY_0,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200740
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300741 [0x02] = KEY_POWER,
742 [0x22] = KEY_VIDEO,
743 [0x42] = KEY_AUDIO,
744 [0x62] = KEY_ZOOM,
745 [0x0a] = KEY_TV,
746 [0x12] = KEY_CD,
747 [0x1a] = KEY_TEXT,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200748
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300749 [0x16] = KEY_SUBTITLE,
750 [0x1e] = KEY_REWIND,
751 [0x06] = KEY_PRINT,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200752
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300753 [0x2e] = KEY_SEARCH,
754 [0x36] = KEY_SLEEP,
755 [0x3e] = KEY_SHUFFLE,
756 [0x26] = KEY_MUTE,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200757
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300758 [0x4e] = KEY_RECORD,
759 [0x56] = KEY_PAUSE,
760 [0x5e] = KEY_STOP,
761 [0x46] = KEY_PLAY,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200762
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300763 [0x6e] = KEY_RED,
764 [0x0b] = KEY_GREEN,
765 [0x66] = KEY_YELLOW,
766 [0x03] = KEY_BLUE,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200767
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300768 [0x76] = KEY_LEFT,
769 [0x7e] = KEY_RIGHT,
770 [0x13] = KEY_DOWN,
771 [0x1b] = KEY_UP,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200772};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200773EXPORT_SYMBOL_GPL(ir_codes_avertv_303);
774
775/* ---------------------------------------------------------------------- */
776
777/* DigitalNow DNTV Live! DVB-T Pro Remote */
778IR_KEYTAB_TYPE ir_codes_dntv_live_dvbt_pro[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300779 [0x16] = KEY_POWER,
780 [0x5b] = KEY_HOME,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200781
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300782 [0x55] = KEY_TV, /* live tv */
783 [0x58] = KEY_TUNER, /* digital Radio */
784 [0x5a] = KEY_RADIO, /* FM radio */
785 [0x59] = KEY_DVD, /* dvd menu */
786 [0x03] = KEY_1,
787 [0x01] = KEY_2,
788 [0x06] = KEY_3,
789 [0x09] = KEY_4,
790 [0x1d] = KEY_5,
791 [0x1f] = KEY_6,
792 [0x0d] = KEY_7,
793 [0x19] = KEY_8,
794 [0x1b] = KEY_9,
795 [0x0c] = KEY_CANCEL,
796 [0x15] = KEY_0,
797 [0x4a] = KEY_CLEAR,
798 [0x13] = KEY_BACK,
799 [0x00] = KEY_TAB,
800 [0x4b] = KEY_UP,
801 [0x4e] = KEY_LEFT,
802 [0x4f] = KEY_OK,
803 [0x52] = KEY_RIGHT,
804 [0x51] = KEY_DOWN,
805 [0x1e] = KEY_VOLUMEUP,
806 [0x0a] = KEY_VOLUMEDOWN,
807 [0x02] = KEY_CHANNELDOWN,
808 [0x05] = KEY_CHANNELUP,
809 [0x11] = KEY_RECORD,
810 [0x14] = KEY_PLAY,
811 [0x4c] = KEY_PAUSE,
812 [0x1a] = KEY_STOP,
813 [0x40] = KEY_REWIND,
814 [0x12] = KEY_FASTFORWARD,
815 [0x41] = KEY_PREVIOUSSONG, /* replay |< */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300816 [0x42] = KEY_NEXTSONG, /* skip >| */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300817 [0x54] = KEY_CAMERA, /* capture */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300818 [0x50] = KEY_LANGUAGE, /* sap */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300819 [0x47] = KEY_TV2, /* pip */
820 [0x4d] = KEY_SCREEN,
821 [0x43] = KEY_SUBTITLE,
822 [0x10] = KEY_MUTE,
823 [0x49] = KEY_AUDIO, /* l/r */
824 [0x07] = KEY_SLEEP,
825 [0x08] = KEY_VIDEO, /* a/v */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300826 [0x0e] = KEY_PREVIOUS, /* recall */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300827 [0x45] = KEY_ZOOM, /* zoom + */
828 [0x46] = KEY_ANGLE, /* zoom - */
829 [0x56] = KEY_RED,
830 [0x57] = KEY_GREEN,
831 [0x5c] = KEY_YELLOW,
832 [0x5d] = KEY_BLUE,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200833};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200834EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvbt_pro);
835
836IR_KEYTAB_TYPE ir_codes_em_terratec[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300837 [0x01] = KEY_CHANNEL,
838 [0x02] = KEY_SELECT,
839 [0x03] = KEY_MUTE,
840 [0x04] = KEY_POWER,
841 [0x05] = KEY_1,
842 [0x06] = KEY_2,
843 [0x07] = KEY_3,
844 [0x08] = KEY_CHANNELUP,
845 [0x09] = KEY_4,
846 [0x0a] = KEY_5,
847 [0x0b] = KEY_6,
848 [0x0c] = KEY_CHANNELDOWN,
849 [0x0d] = KEY_7,
850 [0x0e] = KEY_8,
851 [0x0f] = KEY_9,
852 [0x10] = KEY_VOLUMEUP,
853 [0x11] = KEY_0,
854 [0x12] = KEY_MENU,
855 [0x13] = KEY_PRINT,
856 [0x14] = KEY_VOLUMEDOWN,
857 [0x16] = KEY_PAUSE,
858 [0x18] = KEY_RECORD,
859 [0x19] = KEY_REWIND,
860 [0x1a] = KEY_PLAY,
861 [0x1b] = KEY_FORWARD,
862 [0x1c] = KEY_BACKSPACE,
863 [0x1e] = KEY_STOP,
864 [0x40] = KEY_ZOOM,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200865};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200866EXPORT_SYMBOL_GPL(ir_codes_em_terratec);
867
Sylvain Pascheb93eedb2006-03-25 23:14:42 -0300868IR_KEYTAB_TYPE ir_codes_pinnacle_grey[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300869 [0x3a] = KEY_0,
870 [0x31] = KEY_1,
871 [0x32] = KEY_2,
872 [0x33] = KEY_3,
873 [0x34] = KEY_4,
874 [0x35] = KEY_5,
875 [0x36] = KEY_6,
876 [0x37] = KEY_7,
877 [0x38] = KEY_8,
878 [0x39] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200879
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300880 [0x2f] = KEY_POWER,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200881
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300882 [0x2e] = KEY_P,
883 [0x1f] = KEY_L,
884 [0x2b] = KEY_I,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200885
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300886 [0x2d] = KEY_SCREEN,
887 [0x1e] = KEY_ZOOM,
888 [0x1b] = KEY_VOLUMEUP,
889 [0x0f] = KEY_VOLUMEDOWN,
890 [0x17] = KEY_CHANNELUP,
891 [0x1c] = KEY_CHANNELDOWN,
892 [0x25] = KEY_INFO,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200893
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300894 [0x3c] = KEY_MUTE,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200895
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300896 [0x3d] = KEY_LEFT,
897 [0x3b] = KEY_RIGHT,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200898
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300899 [0x3f] = KEY_UP,
900 [0x3e] = KEY_DOWN,
901 [0x1a] = KEY_ENTER,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200902
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300903 [0x1d] = KEY_MENU,
904 [0x19] = KEY_AGAIN,
905 [0x16] = KEY_PREVIOUSSONG,
906 [0x13] = KEY_NEXTSONG,
907 [0x15] = KEY_PAUSE,
908 [0x0e] = KEY_REWIND,
909 [0x0d] = KEY_PLAY,
910 [0x0b] = KEY_STOP,
911 [0x07] = KEY_FORWARD,
912 [0x27] = KEY_RECORD,
913 [0x26] = KEY_TUNER,
914 [0x29] = KEY_TEXT,
915 [0x2a] = KEY_MEDIA,
916 [0x18] = KEY_EPG,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200917};
Sylvain Pascheb93eedb2006-03-25 23:14:42 -0300918EXPORT_SYMBOL_GPL(ir_codes_pinnacle_grey);
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200919
920IR_KEYTAB_TYPE ir_codes_flyvideo[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300921 [0x0f] = KEY_0,
922 [0x03] = KEY_1,
923 [0x04] = KEY_2,
924 [0x05] = KEY_3,
925 [0x07] = KEY_4,
926 [0x08] = KEY_5,
927 [0x09] = KEY_6,
928 [0x0b] = KEY_7,
929 [0x0c] = KEY_8,
930 [0x0d] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200931
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300932 [0x0e] = KEY_MODE, /* Air/Cable */
933 [0x11] = KEY_VIDEO, /* Video */
934 [0x15] = KEY_AUDIO, /* Audio */
935 [0x00] = KEY_POWER, /* Power */
936 [0x18] = KEY_TUNER, /* AV Source */
937 [0x02] = KEY_ZOOM, /* Fullscreen */
938 [0x1a] = KEY_LANGUAGE, /* Stereo */
939 [0x1b] = KEY_MUTE, /* Mute */
940 [0x14] = KEY_VOLUMEUP, /* Volume + */
941 [0x17] = KEY_VOLUMEDOWN,/* Volume - */
942 [0x12] = KEY_CHANNELUP, /* Channel + */
943 [0x13] = KEY_CHANNELDOWN,/* Channel - */
944 [0x06] = KEY_AGAIN, /* Recall */
945 [0x10] = KEY_ENTER, /* Enter */
Ivan Bobyr9e05c0f2008-04-16 16:01:55 -0300946
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -0300947 [0x19] = KEY_BACK, /* Rewind ( <<< ) */
948 [0x1f] = KEY_FORWARD, /* Forward ( >>> ) */
949 [0x0a] = KEY_ANGLE, /* no label, may be used as the PAUSE button */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200950};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200951EXPORT_SYMBOL_GPL(ir_codes_flyvideo);
952
953IR_KEYTAB_TYPE ir_codes_flydvb[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300954 [0x01] = KEY_ZOOM, /* Full Screen */
955 [0x00] = KEY_POWER, /* Power */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200956
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300957 [0x03] = KEY_1,
958 [0x04] = KEY_2,
959 [0x05] = KEY_3,
960 [0x07] = KEY_4,
961 [0x08] = KEY_5,
962 [0x09] = KEY_6,
963 [0x0b] = KEY_7,
964 [0x0c] = KEY_8,
965 [0x0d] = KEY_9,
966 [0x06] = KEY_AGAIN, /* Recall */
967 [0x0f] = KEY_0,
968 [0x10] = KEY_MUTE, /* Mute */
969 [0x02] = KEY_RADIO, /* TV/Radio */
970 [0x1b] = KEY_LANGUAGE, /* SAP (Second Audio Program) */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200971
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300972 [0x14] = KEY_VOLUMEUP, /* VOL+ */
973 [0x17] = KEY_VOLUMEDOWN, /* VOL- */
974 [0x12] = KEY_CHANNELUP, /* CH+ */
975 [0x13] = KEY_CHANNELDOWN, /* CH- */
976 [0x1d] = KEY_ENTER, /* Enter */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200977
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300978 [0x1a] = KEY_MODE, /* PIP */
979 [0x18] = KEY_TUNER, /* Source */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200980
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300981 [0x1e] = KEY_RECORD, /* Record/Pause */
982 [0x15] = KEY_ANGLE, /* Swap (no label on key) */
983 [0x1c] = KEY_PAUSE, /* Timeshift/Pause */
984 [0x19] = KEY_BACK, /* Rewind << */
985 [0x0a] = KEY_PLAYPAUSE, /* Play/Pause */
986 [0x1f] = KEY_FORWARD, /* Forward >> */
987 [0x16] = KEY_PREVIOUS, /* Back |<< */
988 [0x11] = KEY_STOP, /* Stop */
989 [0x0e] = KEY_NEXT, /* End >>| */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200990};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200991EXPORT_SYMBOL_GPL(ir_codes_flydvb);
992
993IR_KEYTAB_TYPE ir_codes_cinergy[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -0300994 [0x00] = KEY_0,
995 [0x01] = KEY_1,
996 [0x02] = KEY_2,
997 [0x03] = KEY_3,
998 [0x04] = KEY_4,
999 [0x05] = KEY_5,
1000 [0x06] = KEY_6,
1001 [0x07] = KEY_7,
1002 [0x08] = KEY_8,
1003 [0x09] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001004
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001005 [0x0a] = KEY_POWER,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001006 [0x0b] = KEY_PROG1, /* app */
1007 [0x0c] = KEY_ZOOM, /* zoom/fullscreen */
1008 [0x0d] = KEY_CHANNELUP, /* channel */
1009 [0x0e] = KEY_CHANNELDOWN,/* channel- */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001010 [0x0f] = KEY_VOLUMEUP,
1011 [0x10] = KEY_VOLUMEDOWN,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001012 [0x11] = KEY_TUNER, /* AV */
1013 [0x12] = KEY_NUMLOCK, /* -/-- */
1014 [0x13] = KEY_AUDIO, /* audio */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001015 [0x14] = KEY_MUTE,
1016 [0x15] = KEY_UP,
1017 [0x16] = KEY_DOWN,
1018 [0x17] = KEY_LEFT,
1019 [0x18] = KEY_RIGHT,
1020 [0x19] = BTN_LEFT,
1021 [0x1a] = BTN_RIGHT,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001022 [0x1b] = KEY_WWW, /* text */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001023 [0x1c] = KEY_REWIND,
1024 [0x1d] = KEY_FORWARD,
1025 [0x1e] = KEY_RECORD,
1026 [0x1f] = KEY_PLAY,
1027 [0x20] = KEY_PREVIOUSSONG,
1028 [0x21] = KEY_NEXTSONG,
1029 [0x22] = KEY_PAUSE,
1030 [0x23] = KEY_STOP,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001031};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001032EXPORT_SYMBOL_GPL(ir_codes_cinergy);
1033
1034/* Alfons Geser <a.geser@cox.net>
1035 * updates from Job D. R. Borges <jobdrb@ig.com.br> */
1036IR_KEYTAB_TYPE ir_codes_eztv[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001037 [0x12] = KEY_POWER,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001038 [0x01] = KEY_TV, /* DVR */
1039 [0x15] = KEY_DVD, /* DVD */
1040 [0x17] = KEY_AUDIO, /* music */
1041 /* DVR mode / DVD mode / music mode */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001042
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001043 [0x1b] = KEY_MUTE, /* mute */
1044 [0x02] = KEY_LANGUAGE, /* MTS/SAP / audio / autoseek */
1045 [0x1e] = KEY_SUBTITLE, /* closed captioning / subtitle / seek */
1046 [0x16] = KEY_ZOOM, /* full screen */
1047 [0x1c] = KEY_VIDEO, /* video source / eject / delall */
1048 [0x1d] = KEY_RESTART, /* playback / angle / del */
1049 [0x2f] = KEY_SEARCH, /* scan / menu / playlist */
1050 [0x30] = KEY_CHANNEL, /* CH surfing / bookmark / memo */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001051
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001052 [0x31] = KEY_HELP, /* help */
1053 [0x32] = KEY_MODE, /* num/memo */
1054 [0x33] = KEY_ESC, /* cancel */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001055
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001056 [0x0c] = KEY_UP, /* up */
1057 [0x10] = KEY_DOWN, /* down */
1058 [0x08] = KEY_LEFT, /* left */
1059 [0x04] = KEY_RIGHT, /* right */
1060 [0x03] = KEY_SELECT, /* select */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001061
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001062 [0x1f] = KEY_REWIND, /* rewind */
1063 [0x20] = KEY_PLAYPAUSE, /* play/pause */
1064 [0x29] = KEY_FORWARD, /* forward */
1065 [0x14] = KEY_AGAIN, /* repeat */
1066 [0x2b] = KEY_RECORD, /* recording */
1067 [0x2c] = KEY_STOP, /* stop */
1068 [0x2d] = KEY_PLAY, /* play */
1069 [0x2e] = KEY_SHUFFLE, /* snapshot / shuffle */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001070
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001071 [0x00] = KEY_0,
1072 [0x05] = KEY_1,
1073 [0x06] = KEY_2,
1074 [0x07] = KEY_3,
1075 [0x09] = KEY_4,
1076 [0x0a] = KEY_5,
1077 [0x0b] = KEY_6,
1078 [0x0d] = KEY_7,
1079 [0x0e] = KEY_8,
1080 [0x0f] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001081
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001082 [0x2a] = KEY_VOLUMEUP,
1083 [0x11] = KEY_VOLUMEDOWN,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001084 [0x18] = KEY_CHANNELUP, /* CH.tracking up */
1085 [0x19] = KEY_CHANNELDOWN,/* CH.tracking down */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001086
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001087 [0x13] = KEY_ENTER, /* enter */
1088 [0x21] = KEY_DOT, /* . (decimal dot) */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001089};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001090EXPORT_SYMBOL_GPL(ir_codes_eztv);
1091
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001092/* Alex Hermann <gaaf@gmx.net> */
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -02001093IR_KEYTAB_TYPE ir_codes_avermedia[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001094 [0x28] = KEY_1,
1095 [0x18] = KEY_2,
1096 [0x38] = KEY_3,
1097 [0x24] = KEY_4,
1098 [0x14] = KEY_5,
1099 [0x34] = KEY_6,
1100 [0x2c] = KEY_7,
1101 [0x1c] = KEY_8,
1102 [0x3c] = KEY_9,
1103 [0x22] = KEY_0,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001104
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001105 [0x20] = KEY_TV, /* TV/FM */
1106 [0x10] = KEY_CD, /* CD */
1107 [0x30] = KEY_TEXT, /* TELETEXT */
1108 [0x00] = KEY_POWER, /* POWER */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001109
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001110 [0x08] = KEY_VIDEO, /* VIDEO */
1111 [0x04] = KEY_AUDIO, /* AUDIO */
1112 [0x0c] = KEY_ZOOM, /* FULL SCREEN */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001113
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001114 [0x12] = KEY_SUBTITLE, /* DISPLAY */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001115 [0x32] = KEY_REWIND, /* LOOP */
1116 [0x02] = KEY_PRINT, /* PREVIEW */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001117
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001118 [0x2a] = KEY_SEARCH, /* AUTOSCAN */
1119 [0x1a] = KEY_SLEEP, /* FREEZE */
1120 [0x3a] = KEY_SHUFFLE, /* SNAPSHOT */
1121 [0x0a] = KEY_MUTE, /* MUTE */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001122
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001123 [0x26] = KEY_RECORD, /* RECORD */
1124 [0x16] = KEY_PAUSE, /* PAUSE */
1125 [0x36] = KEY_STOP, /* STOP */
1126 [0x06] = KEY_PLAY, /* PLAY */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001127
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001128 [0x2e] = KEY_RED, /* RED */
1129 [0x21] = KEY_GREEN, /* GREEN */
1130 [0x0e] = KEY_YELLOW, /* YELLOW */
1131 [0x01] = KEY_BLUE, /* BLUE */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001132
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001133 [0x1e] = KEY_VOLUMEDOWN, /* VOLUME- */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001134 [0x3e] = KEY_VOLUMEUP, /* VOLUME+ */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001135 [0x11] = KEY_CHANNELDOWN, /* CHANNEL/PAGE- */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001136 [0x31] = KEY_CHANNELUP /* CHANNEL/PAGE+ */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001137};
Nickolay V. Shmyrevb639f9d2006-01-23 09:44:10 -02001138EXPORT_SYMBOL_GPL(ir_codes_avermedia);
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001139
1140IR_KEYTAB_TYPE ir_codes_videomate_tv_pvr[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001141 [0x14] = KEY_MUTE,
1142 [0x24] = KEY_ZOOM,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001143
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001144 [0x01] = KEY_DVD,
1145 [0x23] = KEY_RADIO,
1146 [0x00] = KEY_TV,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001147
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001148 [0x0a] = KEY_REWIND,
1149 [0x08] = KEY_PLAYPAUSE,
1150 [0x0f] = KEY_FORWARD,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001151
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001152 [0x02] = KEY_PREVIOUS,
1153 [0x07] = KEY_STOP,
1154 [0x06] = KEY_NEXT,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001155
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001156 [0x0c] = KEY_UP,
1157 [0x0e] = KEY_DOWN,
1158 [0x0b] = KEY_LEFT,
1159 [0x0d] = KEY_RIGHT,
1160 [0x11] = KEY_OK,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001161
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001162 [0x03] = KEY_MENU,
1163 [0x09] = KEY_SETUP,
1164 [0x05] = KEY_VIDEO,
1165 [0x22] = KEY_CHANNEL,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001166
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001167 [0x12] = KEY_VOLUMEUP,
1168 [0x15] = KEY_VOLUMEDOWN,
1169 [0x10] = KEY_CHANNELUP,
1170 [0x13] = KEY_CHANNELDOWN,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001171
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001172 [0x04] = KEY_RECORD,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001173
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001174 [0x16] = KEY_1,
1175 [0x17] = KEY_2,
1176 [0x18] = KEY_3,
1177 [0x19] = KEY_4,
1178 [0x1a] = KEY_5,
1179 [0x1b] = KEY_6,
1180 [0x1c] = KEY_7,
1181 [0x1d] = KEY_8,
1182 [0x1e] = KEY_9,
1183 [0x1f] = KEY_0,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001184
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001185 [0x20] = KEY_LANGUAGE,
1186 [0x21] = KEY_SLEEP,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001187};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001188EXPORT_SYMBOL_GPL(ir_codes_videomate_tv_pvr);
1189
1190/* Michael Tokarev <mjt@tls.msk.ru>
1191 http://www.corpit.ru/mjt/beholdTV/remote_control.jpg
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001192 keytable is used by MANLI MTV00[0x0c] and BeholdTV 40[13] at
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001193 least, and probably other cards too.
1194 The "ascii-art picture" below (in comments, first row
1195 is the keycode in hex, and subsequent row(s) shows
1196 the button labels (several variants when appropriate)
1197 helps to descide which keycodes to assign to the buttons.
1198 */
1199IR_KEYTAB_TYPE ir_codes_manli[IR_KEYTAB_SIZE] = {
1200
1201 /* 0x1c 0x12 *
1202 * FUNCTION POWER *
1203 * FM (|) *
1204 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001205 [0x1c] = KEY_RADIO, /*XXX*/
1206 [0x12] = KEY_POWER,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001207
1208 /* 0x01 0x02 0x03 *
1209 * 1 2 3 *
1210 * *
1211 * 0x04 0x05 0x06 *
1212 * 4 5 6 *
1213 * *
1214 * 0x07 0x08 0x09 *
1215 * 7 8 9 *
1216 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001217 [0x01] = KEY_1,
1218 [0x02] = KEY_2,
1219 [0x03] = KEY_3,
1220 [0x04] = KEY_4,
1221 [0x05] = KEY_5,
1222 [0x06] = KEY_6,
1223 [0x07] = KEY_7,
1224 [0x08] = KEY_8,
1225 [0x09] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001226
1227 /* 0x0a 0x00 0x17 *
1228 * RECALL 0 +100 *
1229 * PLUS *
1230 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001231 [0x0a] = KEY_AGAIN, /*XXX KEY_REWIND? */
1232 [0x00] = KEY_0,
1233 [0x17] = KEY_DIGITS, /*XXX*/
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001234
1235 /* 0x14 0x10 *
1236 * MENU INFO *
1237 * OSD */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001238 [0x14] = KEY_MENU,
1239 [0x10] = KEY_INFO,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001240
1241 /* 0x0b *
1242 * Up *
1243 * *
1244 * 0x18 0x16 0x0c *
1245 * Left Ok Right *
1246 * *
1247 * 0x015 *
1248 * Down *
1249 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001250 [0x0b] = KEY_UP, /*XXX KEY_SCROLLUP? */
1251 [0x18] = KEY_LEFT, /*XXX KEY_BACK? */
1252 [0x16] = KEY_OK, /*XXX KEY_SELECT? KEY_ENTER? */
1253 [0x0c] = KEY_RIGHT, /*XXX KEY_FORWARD? */
1254 [0x15] = KEY_DOWN, /*XXX KEY_SCROLLDOWN? */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001255
1256 /* 0x11 0x0d *
1257 * TV/AV MODE *
1258 * SOURCE STEREO *
1259 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001260 [0x11] = KEY_TV, /*XXX*/
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001261 [0x0d] = KEY_MODE, /*XXX there's no KEY_STEREO */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001262
1263 /* 0x0f 0x1b 0x1a *
1264 * AUDIO Vol+ Chan+ *
1265 * TIMESHIFT??? *
1266 * *
1267 * 0x0e 0x1f 0x1e *
1268 * SLEEP Vol- Chan- *
1269 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001270 [0x0f] = KEY_AUDIO,
1271 [0x1b] = KEY_VOLUMEUP,
1272 [0x1a] = KEY_CHANNELUP,
Mauro Carvalho Chehabf545cb42009-08-29 09:06:07 -03001273 [0x0e] = KEY_TIME,
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001274 [0x1f] = KEY_VOLUMEDOWN,
1275 [0x1e] = KEY_CHANNELDOWN,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001276
1277 /* 0x13 0x19 *
1278 * MUTE SNAPSHOT*
1279 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001280 [0x13] = KEY_MUTE,
1281 [0x19] = KEY_RECORD, /*XXX*/
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001282
Mauro Carvalho Chehab97fd4f72009-08-27 09:28:48 -03001283 /* 0x1d unused ? */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001284};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001285EXPORT_SYMBOL_GPL(ir_codes_manli);
1286
1287/* Mike Baikov <mike@baikov.com> */
1288IR_KEYTAB_TYPE ir_codes_gotview7135[IR_KEYTAB_SIZE] = {
1289
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001290 [0x11] = KEY_POWER,
1291 [0x35] = KEY_TV,
1292 [0x1b] = KEY_0,
1293 [0x29] = KEY_1,
1294 [0x19] = KEY_2,
1295 [0x39] = KEY_3,
1296 [0x1f] = KEY_4,
1297 [0x2c] = KEY_5,
1298 [0x21] = KEY_6,
1299 [0x24] = KEY_7,
1300 [0x18] = KEY_8,
1301 [0x2b] = KEY_9,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001302 [0x3b] = KEY_AGAIN, /* LOOP */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001303 [0x06] = KEY_AUDIO,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001304 [0x31] = KEY_PRINT, /* PREVIEW */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001305 [0x3e] = KEY_VIDEO,
1306 [0x10] = KEY_CHANNELUP,
1307 [0x20] = KEY_CHANNELDOWN,
1308 [0x0c] = KEY_VOLUMEDOWN,
1309 [0x28] = KEY_VOLUMEUP,
1310 [0x08] = KEY_MUTE,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001311 [0x26] = KEY_SEARCH, /*SCAN*/
1312 [0x3f] = KEY_SHUFFLE, /* SNAPSHOT */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001313 [0x12] = KEY_RECORD,
1314 [0x32] = KEY_STOP,
1315 [0x3c] = KEY_PLAY,
1316 [0x1d] = KEY_REWIND,
1317 [0x2d] = KEY_PAUSE,
1318 [0x0d] = KEY_FORWARD,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001319 [0x05] = KEY_ZOOM, /*FULL*/
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001320
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001321 [0x2a] = KEY_F21, /* LIVE TIMESHIFT */
1322 [0x0e] = KEY_F22, /* MIN TIMESHIFT */
Mauro Carvalho Chehabf545cb42009-08-29 09:06:07 -03001323 [0x1e] = KEY_TIME, /* TIMESHIFT */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001324 [0x38] = KEY_F24, /* NORMAL TIMESHIFT */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001325};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001326EXPORT_SYMBOL_GPL(ir_codes_gotview7135);
1327
1328IR_KEYTAB_TYPE ir_codes_purpletv[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001329 [0x03] = KEY_POWER,
1330 [0x6f] = KEY_MUTE,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001331 [0x10] = KEY_BACKSPACE, /* Recall */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001332
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001333 [0x11] = KEY_0,
1334 [0x04] = KEY_1,
1335 [0x05] = KEY_2,
1336 [0x06] = KEY_3,
1337 [0x08] = KEY_4,
1338 [0x09] = KEY_5,
1339 [0x0a] = KEY_6,
1340 [0x0c] = KEY_7,
1341 [0x0d] = KEY_8,
1342 [0x0e] = KEY_9,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001343 [0x12] = KEY_DOT, /* 100+ */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001344
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001345 [0x07] = KEY_VOLUMEUP,
1346 [0x0b] = KEY_VOLUMEDOWN,
1347 [0x1a] = KEY_KPPLUS,
1348 [0x18] = KEY_KPMINUS,
1349 [0x15] = KEY_UP,
1350 [0x1d] = KEY_DOWN,
1351 [0x0f] = KEY_CHANNELUP,
1352 [0x13] = KEY_CHANNELDOWN,
1353 [0x48] = KEY_ZOOM,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001354
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001355 [0x1b] = KEY_VIDEO, /* Video source */
Mauro Carvalho Chehab62f1aa92009-08-29 09:01:54 -03001356 [0x1f] = KEY_CAMERA, /* Snapshot */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001357 [0x49] = KEY_LANGUAGE, /* MTS Select */
1358 [0x19] = KEY_SEARCH, /* Auto Scan */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001359
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001360 [0x4b] = KEY_RECORD,
1361 [0x46] = KEY_PLAY,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001362 [0x45] = KEY_PAUSE, /* Pause */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001363 [0x44] = KEY_STOP,
Mauro Carvalho Chehabf545cb42009-08-29 09:06:07 -03001364 [0x43] = KEY_TIME, /* Time Shift */
Mauro Carvalho Chehab62f1aa92009-08-29 09:01:54 -03001365 [0x17] = KEY_CHANNEL, /* SURF CH */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001366 [0x40] = KEY_FORWARD, /* Forward ? */
1367 [0x42] = KEY_REWIND, /* Backward ? */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001368
1369};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001370EXPORT_SYMBOL_GPL(ir_codes_purpletv);
1371
1372/* Mapping for the 28 key remote control as seen at
1373 http://www.sednacomputer.com/photo/cardbus-tv.jpg
Mauro Lacye80faad2008-04-22 14:45:58 -03001374 Pavel Mihaylov <bin@bash.info>
1375 Also for the remote bundled with Kozumi KTV-01C card */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001376IR_KEYTAB_TYPE ir_codes_pctv_sedna[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001377 [0x00] = KEY_0,
1378 [0x01] = KEY_1,
1379 [0x02] = KEY_2,
1380 [0x03] = KEY_3,
1381 [0x04] = KEY_4,
1382 [0x05] = KEY_5,
1383 [0x06] = KEY_6,
1384 [0x07] = KEY_7,
1385 [0x08] = KEY_8,
1386 [0x09] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001387
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001388 [0x0a] = KEY_AGAIN, /* Recall */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001389 [0x0b] = KEY_CHANNELUP,
1390 [0x0c] = KEY_VOLUMEUP,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001391 [0x0d] = KEY_MODE, /* Stereo */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001392 [0x0e] = KEY_STOP,
1393 [0x0f] = KEY_PREVIOUSSONG,
1394 [0x10] = KEY_ZOOM,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001395 [0x11] = KEY_TUNER, /* Source */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001396 [0x12] = KEY_POWER,
1397 [0x13] = KEY_MUTE,
1398 [0x15] = KEY_CHANNELDOWN,
1399 [0x18] = KEY_VOLUMEDOWN,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001400 [0x19] = KEY_SHUFFLE, /* Snapshot */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001401 [0x1a] = KEY_NEXTSONG,
Mauro Carvalho Chehabf545cb42009-08-29 09:06:07 -03001402 [0x1b] = KEY_TIME, /* Time Shift */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001403 [0x1c] = KEY_RADIO, /* FM Radio */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001404 [0x1d] = KEY_RECORD,
1405 [0x1e] = KEY_PAUSE,
Mauro Lacye80faad2008-04-22 14:45:58 -03001406 /* additional codes for Kozumi's remote */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001407 [0x14] = KEY_INFO, /* OSD */
1408 [0x16] = KEY_OK, /* OK */
1409 [0x17] = KEY_DIGITS, /* Plus */
1410 [0x1f] = KEY_PLAY, /* Play */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001411};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001412EXPORT_SYMBOL_GPL(ir_codes_pctv_sedna);
1413
1414/* Mark Phalan <phalanm@o2.ie> */
1415IR_KEYTAB_TYPE ir_codes_pv951[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001416 [0x00] = KEY_0,
1417 [0x01] = KEY_1,
1418 [0x02] = KEY_2,
1419 [0x03] = KEY_3,
1420 [0x04] = KEY_4,
1421 [0x05] = KEY_5,
1422 [0x06] = KEY_6,
1423 [0x07] = KEY_7,
1424 [0x08] = KEY_8,
1425 [0x09] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001426
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001427 [0x12] = KEY_POWER,
1428 [0x10] = KEY_MUTE,
1429 [0x1f] = KEY_VOLUMEDOWN,
1430 [0x1b] = KEY_VOLUMEUP,
1431 [0x1a] = KEY_CHANNELUP,
1432 [0x1e] = KEY_CHANNELDOWN,
1433 [0x0e] = KEY_PAGEUP,
1434 [0x1d] = KEY_PAGEDOWN,
1435 [0x13] = KEY_SOUND,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001436
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001437 [0x18] = KEY_KPPLUSMINUS, /* CH +/- */
1438 [0x16] = KEY_SUBTITLE, /* CC */
1439 [0x0d] = KEY_TEXT, /* TTX */
1440 [0x0b] = KEY_TV, /* AIR/CBL */
1441 [0x11] = KEY_PC, /* PC/TV */
1442 [0x17] = KEY_OK, /* CH RTN */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001443 [0x19] = KEY_MODE, /* FUNC */
1444 [0x0c] = KEY_SEARCH, /* AUTOSCAN */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001445
1446 /* Not sure what to do with these ones! */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001447 [0x0f] = KEY_SELECT, /* SOURCE */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001448 [0x0a] = KEY_KPPLUS, /* +100 */
1449 [0x14] = KEY_EQUAL, /* SYNC */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001450 [0x1c] = KEY_MEDIA, /* PC/TV */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001451};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001452EXPORT_SYMBOL_GPL(ir_codes_pv951);
1453
1454/* generic RC5 keytable */
1455/* see http://users.pandora.be/nenya/electronics/rc5/codes00.htm */
1456/* used by old (black) Hauppauge remotes */
1457IR_KEYTAB_TYPE ir_codes_rc5_tv[IR_KEYTAB_SIZE] = {
1458 /* Keys 0 to 9 */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001459 [0x00] = KEY_0,
1460 [0x01] = KEY_1,
1461 [0x02] = KEY_2,
1462 [0x03] = KEY_3,
1463 [0x04] = KEY_4,
1464 [0x05] = KEY_5,
1465 [0x06] = KEY_6,
1466 [0x07] = KEY_7,
1467 [0x08] = KEY_8,
1468 [0x09] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001469
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001470 [0x0b] = KEY_CHANNEL, /* channel / program (japan: 11) */
1471 [0x0c] = KEY_POWER, /* standby */
1472 [0x0d] = KEY_MUTE, /* mute / demute */
1473 [0x0f] = KEY_TV, /* display */
1474 [0x10] = KEY_VOLUMEUP,
1475 [0x11] = KEY_VOLUMEDOWN,
1476 [0x12] = KEY_BRIGHTNESSUP,
1477 [0x13] = KEY_BRIGHTNESSDOWN,
1478 [0x1e] = KEY_SEARCH, /* search + */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001479 [0x20] = KEY_CHANNELUP, /* channel / program + */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001480 [0x21] = KEY_CHANNELDOWN, /* channel / program - */
1481 [0x22] = KEY_CHANNEL, /* alt / channel */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001482 [0x23] = KEY_LANGUAGE, /* 1st / 2nd language */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001483 [0x26] = KEY_SLEEP, /* sleeptimer */
1484 [0x2e] = KEY_MENU, /* 2nd controls (USA: menu) */
1485 [0x30] = KEY_PAUSE,
1486 [0x32] = KEY_REWIND,
1487 [0x33] = KEY_GOTO,
1488 [0x35] = KEY_PLAY,
1489 [0x36] = KEY_STOP,
1490 [0x37] = KEY_RECORD, /* recording */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001491 [0x3c] = KEY_TEXT, /* teletext submode (Japan: 12) */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001492 [0x3d] = KEY_SUSPEND, /* system standby */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001493
1494};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001495EXPORT_SYMBOL_GPL(ir_codes_rc5_tv);
1496
1497/* Table for Leadtek Winfast Remote Controls - used by both bttv and cx88 */
1498IR_KEYTAB_TYPE ir_codes_winfast[IR_KEYTAB_SIZE] = {
1499 /* Keys 0 to 9 */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001500 [0x12] = KEY_0,
1501 [0x05] = KEY_1,
1502 [0x06] = KEY_2,
1503 [0x07] = KEY_3,
1504 [0x09] = KEY_4,
1505 [0x0a] = KEY_5,
1506 [0x0b] = KEY_6,
1507 [0x0d] = KEY_7,
1508 [0x0e] = KEY_8,
1509 [0x0f] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001510
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001511 [0x00] = KEY_POWER,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001512 [0x1b] = KEY_AUDIO, /* Audio Source */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001513 [0x02] = KEY_TUNER, /* TV/FM, not on Y0400052 */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001514 [0x1e] = KEY_VIDEO, /* Video Source */
1515 [0x16] = KEY_INFO, /* Display information */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001516 [0x04] = KEY_VOLUMEUP,
1517 [0x08] = KEY_VOLUMEDOWN,
1518 [0x0c] = KEY_CHANNELUP,
1519 [0x10] = KEY_CHANNELDOWN,
1520 [0x03] = KEY_ZOOM, /* fullscreen */
1521 [0x1f] = KEY_TEXT, /* closed caption/teletext */
1522 [0x20] = KEY_SLEEP,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001523 [0x29] = KEY_CLEAR, /* boss key */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001524 [0x14] = KEY_MUTE,
1525 [0x2b] = KEY_RED,
1526 [0x2c] = KEY_GREEN,
1527 [0x2d] = KEY_YELLOW,
1528 [0x2e] = KEY_BLUE,
1529 [0x18] = KEY_KPPLUS, /* fine tune + , not on Y040052 */
1530 [0x19] = KEY_KPMINUS, /* fine tune - , not on Y040052 */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001531 [0x2a] = KEY_MEDIA, /* PIP (Picture in picture */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001532 [0x21] = KEY_DOT,
1533 [0x13] = KEY_ENTER,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001534 [0x11] = KEY_LAST, /* Recall (last channel */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001535 [0x22] = KEY_PREVIOUS,
1536 [0x23] = KEY_PLAYPAUSE,
1537 [0x24] = KEY_NEXT,
Mauro Carvalho Chehabf545cb42009-08-29 09:06:07 -03001538 [0x25] = KEY_TIME, /* Time Shifting */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001539 [0x26] = KEY_STOP,
1540 [0x27] = KEY_RECORD,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001541 [0x28] = KEY_SAVE, /* Screenshot */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001542 [0x2f] = KEY_MENU,
1543 [0x30] = KEY_CANCEL,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001544 [0x31] = KEY_CHANNEL, /* Channel Surf */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001545 [0x32] = KEY_SUBTITLE,
1546 [0x33] = KEY_LANGUAGE,
1547 [0x34] = KEY_REWIND,
1548 [0x35] = KEY_FASTFORWARD,
1549 [0x36] = KEY_TV,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001550 [0x37] = KEY_RADIO, /* FM */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001551 [0x38] = KEY_DVD,
Michel Lespinasse102df6a2007-11-26 18:57:10 -03001552
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001553 [0x3e] = KEY_F21, /* MCE +VOL, on Y04G0033 */
1554 [0x3a] = KEY_F22, /* MCE -VOL, on Y04G0033 */
1555 [0x3b] = KEY_F23, /* MCE +CH, on Y04G0033 */
1556 [0x3f] = KEY_F24 /* MCE -CH, on Y04G0033 */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001557};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001558EXPORT_SYMBOL_GPL(ir_codes_winfast);
1559
Sylvain Pascheb93eedb2006-03-25 23:14:42 -03001560IR_KEYTAB_TYPE ir_codes_pinnacle_color[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001561 [0x59] = KEY_MUTE,
1562 [0x4a] = KEY_POWER,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001563
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001564 [0x18] = KEY_TEXT,
1565 [0x26] = KEY_TV,
1566 [0x3d] = KEY_PRINT,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001567
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001568 [0x48] = KEY_RED,
1569 [0x04] = KEY_GREEN,
1570 [0x11] = KEY_YELLOW,
1571 [0x00] = KEY_BLUE,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001572
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001573 [0x2d] = KEY_VOLUMEUP,
1574 [0x1e] = KEY_VOLUMEDOWN,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001575
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001576 [0x49] = KEY_MENU,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001577
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001578 [0x16] = KEY_CHANNELUP,
1579 [0x17] = KEY_CHANNELDOWN,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001580
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001581 [0x20] = KEY_UP,
1582 [0x21] = KEY_DOWN,
1583 [0x22] = KEY_LEFT,
1584 [0x23] = KEY_RIGHT,
1585 [0x0d] = KEY_SELECT,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001586
1587
1588
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001589 [0x08] = KEY_BACK,
1590 [0x07] = KEY_REFRESH,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001591
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001592 [0x2f] = KEY_ZOOM,
1593 [0x29] = KEY_RECORD,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001594
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001595 [0x4b] = KEY_PAUSE,
1596 [0x4d] = KEY_REWIND,
1597 [0x2e] = KEY_PLAY,
1598 [0x4e] = KEY_FORWARD,
1599 [0x53] = KEY_PREVIOUS,
1600 [0x4c] = KEY_STOP,
1601 [0x54] = KEY_NEXT,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001602
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001603 [0x69] = KEY_0,
1604 [0x6a] = KEY_1,
1605 [0x6b] = KEY_2,
1606 [0x6c] = KEY_3,
1607 [0x6d] = KEY_4,
1608 [0x6e] = KEY_5,
1609 [0x6f] = KEY_6,
1610 [0x70] = KEY_7,
1611 [0x71] = KEY_8,
1612 [0x72] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001613
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001614 [0x74] = KEY_CHANNEL,
1615 [0x0a] = KEY_BACKSPACE,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001616};
Sylvain Pascheb93eedb2006-03-25 23:14:42 -03001617EXPORT_SYMBOL_GPL(ir_codes_pinnacle_color);
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001618
1619/* Hauppauge: the newer, gray remotes (seems there are multiple
1620 * slightly different versions), shipped with cx88+ivtv cards.
1621 * almost rc5 coding, but some non-standard keys */
1622IR_KEYTAB_TYPE ir_codes_hauppauge_new[IR_KEYTAB_SIZE] = {
1623 /* Keys 0 to 9 */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001624 [0x00] = KEY_0,
1625 [0x01] = KEY_1,
1626 [0x02] = KEY_2,
1627 [0x03] = KEY_3,
1628 [0x04] = KEY_4,
1629 [0x05] = KEY_5,
1630 [0x06] = KEY_6,
1631 [0x07] = KEY_7,
1632 [0x08] = KEY_8,
1633 [0x09] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001634
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001635 [0x0a] = KEY_TEXT, /* keypad asterisk as well */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001636 [0x0b] = KEY_RED, /* red button */
1637 [0x0c] = KEY_RADIO,
1638 [0x0d] = KEY_MENU,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001639 [0x0e] = KEY_SUBTITLE, /* also the # key */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001640 [0x0f] = KEY_MUTE,
1641 [0x10] = KEY_VOLUMEUP,
1642 [0x11] = KEY_VOLUMEDOWN,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001643 [0x12] = KEY_PREVIOUS, /* previous channel */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001644 [0x14] = KEY_UP,
1645 [0x15] = KEY_DOWN,
1646 [0x16] = KEY_LEFT,
1647 [0x17] = KEY_RIGHT,
1648 [0x18] = KEY_VIDEO, /* Videos */
1649 [0x19] = KEY_AUDIO, /* Music */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001650 /* 0x1a: Pictures - presume this means
1651 "Multimedia Home Platform" -
1652 no "PICTURES" key in input.h
1653 */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001654 [0x1a] = KEY_MHP,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001655
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001656 [0x1b] = KEY_EPG, /* Guide */
1657 [0x1c] = KEY_TV,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001658 [0x1e] = KEY_NEXTSONG, /* skip >| */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001659 [0x1f] = KEY_EXIT, /* back/exit */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001660 [0x20] = KEY_CHANNELUP, /* channel / program + */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001661 [0x21] = KEY_CHANNELDOWN, /* channel / program - */
1662 [0x22] = KEY_CHANNEL, /* source (old black remote) */
1663 [0x24] = KEY_PREVIOUSSONG, /* replay |< */
1664 [0x25] = KEY_ENTER, /* OK */
1665 [0x26] = KEY_SLEEP, /* minimize (old black remote) */
1666 [0x29] = KEY_BLUE, /* blue key */
1667 [0x2e] = KEY_GREEN, /* green button */
1668 [0x30] = KEY_PAUSE, /* pause */
1669 [0x32] = KEY_REWIND, /* backward << */
1670 [0x34] = KEY_FASTFORWARD, /* forward >> */
1671 [0x35] = KEY_PLAY,
1672 [0x36] = KEY_STOP,
1673 [0x37] = KEY_RECORD, /* recording */
1674 [0x38] = KEY_YELLOW, /* yellow key */
1675 [0x3b] = KEY_SELECT, /* top right button */
1676 [0x3c] = KEY_ZOOM, /* full */
1677 [0x3d] = KEY_POWER, /* system power (green button) */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001678};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001679EXPORT_SYMBOL_GPL(ir_codes_hauppauge_new);
Ricardo Cerqueira680543c2006-05-22 07:44:02 -03001680
1681IR_KEYTAB_TYPE ir_codes_npgtech[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001682 [0x1d] = KEY_SWITCHVIDEOMODE, /* switch inputs */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001683 [0x2a] = KEY_FRONT,
Ricardo Cerqueira680543c2006-05-22 07:44:02 -03001684
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001685 [0x3e] = KEY_1,
1686 [0x02] = KEY_2,
1687 [0x06] = KEY_3,
1688 [0x0a] = KEY_4,
1689 [0x0e] = KEY_5,
1690 [0x12] = KEY_6,
1691 [0x16] = KEY_7,
1692 [0x1a] = KEY_8,
1693 [0x1e] = KEY_9,
1694 [0x3a] = KEY_0,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001695 [0x22] = KEY_NUMLOCK, /* -/-- */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001696 [0x20] = KEY_REFRESH,
Ricardo Cerqueira680543c2006-05-22 07:44:02 -03001697
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001698 [0x03] = KEY_BRIGHTNESSDOWN,
1699 [0x28] = KEY_AUDIO,
1700 [0x3c] = KEY_UP,
1701 [0x3f] = KEY_LEFT,
1702 [0x2e] = KEY_MUTE,
1703 [0x3b] = KEY_RIGHT,
1704 [0x00] = KEY_DOWN,
1705 [0x07] = KEY_BRIGHTNESSUP,
1706 [0x2c] = KEY_TEXT,
Ricardo Cerqueira680543c2006-05-22 07:44:02 -03001707
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001708 [0x37] = KEY_RECORD,
1709 [0x17] = KEY_PLAY,
1710 [0x13] = KEY_PAUSE,
1711 [0x26] = KEY_STOP,
1712 [0x18] = KEY_FASTFORWARD,
1713 [0x14] = KEY_REWIND,
1714 [0x33] = KEY_ZOOM,
1715 [0x32] = KEY_KEYBOARD,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001716 [0x30] = KEY_GOTO, /* Pointing arrow */
1717 [0x36] = KEY_MACRO, /* Maximize/Minimize (yellow) */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001718 [0x0b] = KEY_RADIO,
1719 [0x10] = KEY_POWER,
Ricardo Cerqueira680543c2006-05-22 07:44:02 -03001720
1721};
Ricardo Cerqueira680543c2006-05-22 07:44:02 -03001722EXPORT_SYMBOL_GPL(ir_codes_npgtech);
Peter Naullsd1009bd2006-08-08 09:10:05 -03001723
1724/* Norwood Micro (non-Pro) TV Tuner
1725 By Peter Naulls <peter@chocky.org>
1726 Key comments are the functions given in the manual */
1727IR_KEYTAB_TYPE ir_codes_norwood[IR_KEYTAB_SIZE] = {
1728 /* Keys 0 to 9 */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001729 [0x20] = KEY_0,
1730 [0x21] = KEY_1,
1731 [0x22] = KEY_2,
1732 [0x23] = KEY_3,
1733 [0x24] = KEY_4,
1734 [0x25] = KEY_5,
1735 [0x26] = KEY_6,
1736 [0x27] = KEY_7,
1737 [0x28] = KEY_8,
1738 [0x29] = KEY_9,
Peter Naullsd1009bd2006-08-08 09:10:05 -03001739
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001740 [0x78] = KEY_TUNER, /* Video Source */
1741 [0x2c] = KEY_EXIT, /* Open/Close software */
1742 [0x2a] = KEY_SELECT, /* 2 Digit Select */
1743 [0x69] = KEY_AGAIN, /* Recall */
Peter Naullsd1009bd2006-08-08 09:10:05 -03001744
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001745 [0x32] = KEY_BRIGHTNESSUP, /* Brightness increase */
1746 [0x33] = KEY_BRIGHTNESSDOWN, /* Brightness decrease */
1747 [0x6b] = KEY_KPPLUS, /* (not named >>>>>) */
1748 [0x6c] = KEY_KPMINUS, /* (not named <<<<<) */
Peter Naullsd1009bd2006-08-08 09:10:05 -03001749
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001750 [0x2d] = KEY_MUTE, /* Mute */
1751 [0x30] = KEY_VOLUMEUP, /* Volume up */
1752 [0x31] = KEY_VOLUMEDOWN,/* Volume down */
1753 [0x60] = KEY_CHANNELUP, /* Channel up */
1754 [0x61] = KEY_CHANNELDOWN,/* Channel down */
Peter Naullsd1009bd2006-08-08 09:10:05 -03001755
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001756 [0x3f] = KEY_RECORD, /* Record */
1757 [0x37] = KEY_PLAY, /* Play */
1758 [0x36] = KEY_PAUSE, /* Pause */
1759 [0x2b] = KEY_STOP, /* Stop */
1760 [0x67] = KEY_FASTFORWARD,/* Foward */
1761 [0x66] = KEY_REWIND, /* Rewind */
1762 [0x3e] = KEY_SEARCH, /* Auto Scan */
1763 [0x2e] = KEY_CAMERA, /* Capture Video */
1764 [0x6d] = KEY_MENU, /* Show/Hide Control */
1765 [0x2f] = KEY_ZOOM, /* Full Screen */
1766 [0x34] = KEY_RADIO, /* FM */
1767 [0x65] = KEY_POWER, /* Computer power */
Peter Naullsd1009bd2006-08-08 09:10:05 -03001768};
Peter Naullsd1009bd2006-08-08 09:10:05 -03001769EXPORT_SYMBOL_GPL(ir_codes_norwood);
David Hardeman2520fff2006-12-02 21:16:05 -02001770
1771/* From reading the following remotes:
1772 * Zenith Universal 7 / TV Mode 807 / VCR Mode 837
1773 * Hauppauge (from NOVA-CI-s box product)
1774 * This is a "middle of the road" approach, differences are noted
1775 */
1776IR_KEYTAB_TYPE ir_codes_budget_ci_old[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001777 [0x00] = KEY_0,
1778 [0x01] = KEY_1,
1779 [0x02] = KEY_2,
1780 [0x03] = KEY_3,
1781 [0x04] = KEY_4,
1782 [0x05] = KEY_5,
1783 [0x06] = KEY_6,
1784 [0x07] = KEY_7,
1785 [0x08] = KEY_8,
1786 [0x09] = KEY_9,
1787 [0x0a] = KEY_ENTER,
1788 [0x0b] = KEY_RED,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001789 [0x0c] = KEY_POWER, /* RADIO on Hauppauge */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001790 [0x0d] = KEY_MUTE,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001791 [0x0f] = KEY_A, /* TV on Hauppauge */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001792 [0x10] = KEY_VOLUMEUP,
1793 [0x11] = KEY_VOLUMEDOWN,
1794 [0x14] = KEY_B,
1795 [0x1c] = KEY_UP,
1796 [0x1d] = KEY_DOWN,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001797 [0x1e] = KEY_OPTION, /* RESERVED on Hauppauge */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001798 [0x1f] = KEY_BREAK,
1799 [0x20] = KEY_CHANNELUP,
1800 [0x21] = KEY_CHANNELDOWN,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001801 [0x22] = KEY_PREVIOUS, /* Prev Ch on Zenith, SOURCE on Hauppauge */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001802 [0x24] = KEY_RESTART,
1803 [0x25] = KEY_OK,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001804 [0x26] = KEY_CYCLEWINDOWS, /* MINIMIZE on Hauppauge */
1805 [0x28] = KEY_ENTER, /* VCR mode on Zenith */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001806 [0x29] = KEY_PAUSE,
1807 [0x2b] = KEY_RIGHT,
1808 [0x2c] = KEY_LEFT,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001809 [0x2e] = KEY_MENU, /* FULL SCREEN on Hauppauge */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001810 [0x30] = KEY_SLOW,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001811 [0x31] = KEY_PREVIOUS, /* VCR mode on Zenith */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001812 [0x32] = KEY_REWIND,
1813 [0x34] = KEY_FASTFORWARD,
1814 [0x35] = KEY_PLAY,
1815 [0x36] = KEY_STOP,
1816 [0x37] = KEY_RECORD,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001817 [0x38] = KEY_TUNER, /* TV/VCR on Zenith */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001818 [0x3a] = KEY_C,
1819 [0x3c] = KEY_EXIT,
1820 [0x3d] = KEY_POWER2,
1821 [0x3e] = KEY_TUNER,
David Hardeman2520fff2006-12-02 21:16:05 -02001822};
David Hardeman2520fff2006-12-02 21:16:05 -02001823EXPORT_SYMBOL_GPL(ir_codes_budget_ci_old);
Hermann Pitton91607232006-12-07 21:45:28 -03001824
1825/*
1826 * Marc Fargas <telenieko@telenieko.com>
1827 * this is the remote control that comes with the asus p7131
1828 * which has a label saying is "Model PC-39"
1829 */
1830IR_KEYTAB_TYPE ir_codes_asus_pc39[IR_KEYTAB_SIZE] = {
1831 /* Keys 0 to 9 */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001832 [0x15] = KEY_0,
1833 [0x29] = KEY_1,
1834 [0x2d] = KEY_2,
1835 [0x2b] = KEY_3,
1836 [0x09] = KEY_4,
1837 [0x0d] = KEY_5,
1838 [0x0b] = KEY_6,
1839 [0x31] = KEY_7,
1840 [0x35] = KEY_8,
1841 [0x33] = KEY_9,
Hermann Pitton91607232006-12-07 21:45:28 -03001842
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001843 [0x3e] = KEY_RADIO, /* radio */
1844 [0x03] = KEY_MENU, /* dvd/menu */
1845 [0x2a] = KEY_VOLUMEUP,
1846 [0x19] = KEY_VOLUMEDOWN,
1847 [0x37] = KEY_UP,
1848 [0x3b] = KEY_DOWN,
1849 [0x27] = KEY_LEFT,
1850 [0x2f] = KEY_RIGHT,
1851 [0x25] = KEY_VIDEO, /* video */
1852 [0x39] = KEY_AUDIO, /* music */
Hermann Pitton91607232006-12-07 21:45:28 -03001853
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001854 [0x21] = KEY_TV, /* tv */
1855 [0x1d] = KEY_EXIT, /* back */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001856 [0x0a] = KEY_CHANNELUP, /* channel / program + */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001857 [0x1b] = KEY_CHANNELDOWN, /* channel / program - */
1858 [0x1a] = KEY_ENTER, /* enter */
Hermann Pitton91607232006-12-07 21:45:28 -03001859
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001860 [0x06] = KEY_PAUSE, /* play/pause */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001861 [0x1e] = KEY_PREVIOUS, /* rew */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001862 [0x26] = KEY_NEXT, /* forward */
1863 [0x0e] = KEY_REWIND, /* backward << */
1864 [0x3a] = KEY_FASTFORWARD, /* forward >> */
1865 [0x36] = KEY_STOP,
1866 [0x2e] = KEY_RECORD, /* recording */
1867 [0x16] = KEY_POWER, /* the button that reads "close" */
Hermann Pitton91607232006-12-07 21:45:28 -03001868
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001869 [0x11] = KEY_ZOOM, /* full screen */
1870 [0x13] = KEY_MACRO, /* recall */
1871 [0x23] = KEY_HOME, /* home */
1872 [0x05] = KEY_PVR, /* picture */
1873 [0x3d] = KEY_MUTE, /* mute */
1874 [0x01] = KEY_DVD, /* dvd */
Hermann Pitton91607232006-12-07 21:45:28 -03001875};
Hermann Pitton91607232006-12-07 21:45:28 -03001876EXPORT_SYMBOL_GPL(ir_codes_asus_pc39);
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001877
1878
1879/* Encore ENLTV-FM - black plastic, white front cover with white glowing buttons
1880 Juan Pablo Sormani <sorman@gmail.com> */
1881IR_KEYTAB_TYPE ir_codes_encore_enltv[IR_KEYTAB_SIZE] = {
1882
1883 /* Power button does nothing, neither in Windows app,
1884 although it sends data (used for BIOS wakeup?) */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001885 [0x0d] = KEY_MUTE,
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001886
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001887 [0x1e] = KEY_TV,
1888 [0x00] = KEY_VIDEO,
1889 [0x01] = KEY_AUDIO, /* music */
1890 [0x02] = KEY_MHP, /* picture */
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001891
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001892 [0x1f] = KEY_1,
1893 [0x03] = KEY_2,
1894 [0x04] = KEY_3,
1895 [0x05] = KEY_4,
1896 [0x1c] = KEY_5,
1897 [0x06] = KEY_6,
1898 [0x07] = KEY_7,
1899 [0x08] = KEY_8,
1900 [0x1d] = KEY_9,
1901 [0x0a] = KEY_0,
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001902
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001903 [0x09] = KEY_LIST, /* -/-- */
1904 [0x0b] = KEY_LAST, /* recall */
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001905
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001906 [0x14] = KEY_HOME, /* win start menu */
1907 [0x15] = KEY_EXIT, /* exit */
1908 [0x16] = KEY_UP,
1909 [0x12] = KEY_DOWN,
1910 [0x0c] = KEY_RIGHT,
1911 [0x17] = KEY_LEFT,
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001912
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001913 [0x18] = KEY_ENTER, /* OK */
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001914
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001915 [0x0e] = KEY_ESC,
Mauro Carvalho Chehab62f1aa92009-08-29 09:01:54 -03001916 [0x13] = KEY_CYCLEWINDOWS, /* desktop */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001917 [0x11] = KEY_TAB,
1918 [0x19] = KEY_SWITCHVIDEOMODE, /* switch */
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001919
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001920 [0x1a] = KEY_MENU,
1921 [0x1b] = KEY_ZOOM, /* fullscreen */
1922 [0x44] = KEY_TIME, /* time shift */
1923 [0x40] = KEY_MODE, /* source */
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001924
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001925 [0x5a] = KEY_RECORD,
1926 [0x42] = KEY_PLAY, /* play/pause */
1927 [0x45] = KEY_STOP,
1928 [0x43] = KEY_CAMERA, /* camera icon */
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001929
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001930 [0x48] = KEY_REWIND,
1931 [0x4a] = KEY_FASTFORWARD,
1932 [0x49] = KEY_PREVIOUS,
1933 [0x4b] = KEY_NEXT,
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001934
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001935 [0x4c] = KEY_FAVORITES, /* tv wall */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001936 [0x4d] = KEY_SOUND, /* DVD sound */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001937 [0x4e] = KEY_LANGUAGE, /* DVD lang */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001938 [0x4f] = KEY_TEXT, /* DVD text */
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001939
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001940 [0x50] = KEY_SLEEP, /* shutdown */
1941 [0x51] = KEY_MODE, /* stereo > main */
1942 [0x52] = KEY_SELECT, /* stereo > sap */
1943 [0x53] = KEY_PROG1, /* teletext */
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001944
1945
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001946 [0x59] = KEY_RED, /* AP1 */
1947 [0x41] = KEY_GREEN, /* AP2 */
1948 [0x47] = KEY_YELLOW, /* AP3 */
1949 [0x57] = KEY_BLUE, /* AP4 */
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001950};
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001951EXPORT_SYMBOL_GPL(ir_codes_encore_enltv);
Ville-Pekka Vainioae1942c2007-01-12 14:06:21 -03001952
Mauro Carvalho Chehab7d341a62008-08-05 10:14:13 -03001953/* Encore ENLTV2-FM - silver plastic - "Wand Media" written at the botton
1954 Mauro Carvalho Chehab <mchehab@infradead.org> */
1955IR_KEYTAB_TYPE ir_codes_encore_enltv2[IR_KEYTAB_SIZE] = {
1956 [0x4c] = KEY_POWER2,
1957 [0x4a] = KEY_TUNER,
1958 [0x40] = KEY_1,
1959 [0x60] = KEY_2,
1960 [0x50] = KEY_3,
1961 [0x70] = KEY_4,
1962 [0x48] = KEY_5,
1963 [0x68] = KEY_6,
1964 [0x58] = KEY_7,
1965 [0x78] = KEY_8,
1966 [0x44] = KEY_9,
1967 [0x54] = KEY_0,
1968
1969 [0x64] = KEY_LAST, /* +100 */
1970 [0x4e] = KEY_AGAIN, /* Recall */
1971
1972 [0x6c] = KEY_SWITCHVIDEOMODE, /* Video Source */
1973 [0x5e] = KEY_MENU,
1974 [0x56] = KEY_SCREEN,
1975 [0x7a] = KEY_SETUP,
1976
1977 [0x46] = KEY_MUTE,
1978 [0x5c] = KEY_MODE, /* Stereo */
1979 [0x74] = KEY_INFO,
1980 [0x7c] = KEY_CLEAR,
1981
1982 [0x55] = KEY_UP,
1983 [0x49] = KEY_DOWN,
1984 [0x7e] = KEY_LEFT,
1985 [0x59] = KEY_RIGHT,
1986 [0x6a] = KEY_ENTER,
1987
1988 [0x42] = KEY_VOLUMEUP,
1989 [0x62] = KEY_VOLUMEDOWN,
1990 [0x52] = KEY_CHANNELUP,
1991 [0x72] = KEY_CHANNELDOWN,
1992
1993 [0x41] = KEY_RECORD,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001994 [0x51] = KEY_SHUFFLE, /* Snapshot */
1995 [0x75] = KEY_TIME, /* Timeshift */
1996 [0x71] = KEY_TV2, /* PIP */
Mauro Carvalho Chehab7d341a62008-08-05 10:14:13 -03001997
1998 [0x45] = KEY_REWIND,
1999 [0x6f] = KEY_PAUSE,
2000 [0x7d] = KEY_FORWARD,
2001 [0x79] = KEY_STOP,
2002};
2003EXPORT_SYMBOL_GPL(ir_codes_encore_enltv2);
2004
Ville-Pekka Vainio28aedb82007-04-14 15:38:23 -03002005/* for the Technotrend 1500 bundled remotes (grey and black): */
Ville-Pekka Vainioae1942c2007-01-12 14:06:21 -03002006IR_KEYTAB_TYPE ir_codes_tt_1500[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002007 [0x01] = KEY_POWER,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002008 [0x02] = KEY_SHUFFLE, /* ? double-arrow key */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002009 [0x03] = KEY_1,
2010 [0x04] = KEY_2,
2011 [0x05] = KEY_3,
2012 [0x06] = KEY_4,
2013 [0x07] = KEY_5,
2014 [0x08] = KEY_6,
2015 [0x09] = KEY_7,
2016 [0x0a] = KEY_8,
2017 [0x0b] = KEY_9,
2018 [0x0c] = KEY_0,
2019 [0x0d] = KEY_UP,
2020 [0x0e] = KEY_LEFT,
2021 [0x0f] = KEY_OK,
2022 [0x10] = KEY_RIGHT,
2023 [0x11] = KEY_DOWN,
2024 [0x12] = KEY_INFO,
2025 [0x13] = KEY_EXIT,
2026 [0x14] = KEY_RED,
2027 [0x15] = KEY_GREEN,
2028 [0x16] = KEY_YELLOW,
2029 [0x17] = KEY_BLUE,
2030 [0x18] = KEY_MUTE,
2031 [0x19] = KEY_TEXT,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002032 [0x1a] = KEY_MODE, /* ? TV/Radio */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002033 [0x21] = KEY_OPTION,
2034 [0x22] = KEY_EPG,
2035 [0x23] = KEY_CHANNELUP,
2036 [0x24] = KEY_CHANNELDOWN,
2037 [0x25] = KEY_VOLUMEUP,
2038 [0x26] = KEY_VOLUMEDOWN,
2039 [0x27] = KEY_SETUP,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002040 [0x3a] = KEY_RECORD, /* these keys are only in the black remote */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002041 [0x3b] = KEY_PLAY,
2042 [0x3c] = KEY_STOP,
2043 [0x3d] = KEY_REWIND,
2044 [0x3e] = KEY_PAUSE,
2045 [0x3f] = KEY_FORWARD,
Ville-Pekka Vainioae1942c2007-01-12 14:06:21 -03002046};
Ville-Pekka Vainioae1942c2007-01-12 14:06:21 -03002047EXPORT_SYMBOL_GPL(ir_codes_tt_1500);
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002048
Michael Krufky3c443582007-08-24 01:07:12 -03002049/* DViCO FUSION HDTV MCE remote */
2050IR_KEYTAB_TYPE ir_codes_fusionhdtv_mce[IR_KEYTAB_SIZE] = {
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002051
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002052 [0x0b] = KEY_1,
2053 [0x17] = KEY_2,
2054 [0x1b] = KEY_3,
2055 [0x07] = KEY_4,
2056 [0x50] = KEY_5,
2057 [0x54] = KEY_6,
2058 [0x48] = KEY_7,
2059 [0x4c] = KEY_8,
2060 [0x58] = KEY_9,
2061 [0x03] = KEY_0,
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002062
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002063 [0x5e] = KEY_OK,
2064 [0x51] = KEY_UP,
2065 [0x53] = KEY_DOWN,
2066 [0x5b] = KEY_LEFT,
2067 [0x5f] = KEY_RIGHT,
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002068
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002069 [0x02] = KEY_TV, /* Labeled DTV on remote */
2070 [0x0e] = KEY_MP3,
2071 [0x1a] = KEY_DVD,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002072 [0x1e] = KEY_FAVORITES, /* Labeled CPF on remote */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002073 [0x16] = KEY_SETUP,
2074 [0x46] = KEY_POWER2, /* TV On/Off button on remote */
2075 [0x0a] = KEY_EPG, /* Labeled Guide on remote */
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002076
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002077 [0x49] = KEY_BACK,
2078 [0x59] = KEY_INFO, /* Labeled MORE on remote */
2079 [0x4d] = KEY_MENU, /* Labeled DVDMENU on remote */
2080 [0x55] = KEY_CYCLEWINDOWS, /* Labeled ALT-TAB on remote */
Michael Krufky3c443582007-08-24 01:07:12 -03002081
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002082 [0x0f] = KEY_PREVIOUSSONG, /* Labeled |<< REPLAY on remote */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002083 [0x12] = KEY_NEXTSONG, /* Labeled >>| SKIP on remote */
2084 [0x42] = KEY_ENTER, /* Labeled START with a green
2085 MS windows logo on remote */
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002086
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002087 [0x15] = KEY_VOLUMEUP,
2088 [0x05] = KEY_VOLUMEDOWN,
2089 [0x11] = KEY_CHANNELUP,
2090 [0x09] = KEY_CHANNELDOWN,
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002091
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002092 [0x52] = KEY_CAMERA,
2093 [0x5a] = KEY_TUNER,
2094 [0x19] = KEY_OPEN,
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002095
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002096 [0x13] = KEY_MODE, /* 4:3 16:9 select */
2097 [0x1f] = KEY_ZOOM,
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002098
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002099 [0x43] = KEY_REWIND,
2100 [0x47] = KEY_PLAYPAUSE,
2101 [0x4f] = KEY_FASTFORWARD,
2102 [0x57] = KEY_MUTE,
2103 [0x0d] = KEY_STOP,
2104 [0x01] = KEY_RECORD,
2105 [0x4e] = KEY_POWER,
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002106};
Michael Krufky3c443582007-08-24 01:07:12 -03002107EXPORT_SYMBOL_GPL(ir_codes_fusionhdtv_mce);
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002108
Steven Toth91211062008-01-22 01:00:33 -03002109/* Pinnacle PCTV HD 800i mini remote */
2110IR_KEYTAB_TYPE ir_codes_pinnacle_pctv_hd[IR_KEYTAB_SIZE] = {
2111
2112 [0x0f] = KEY_1,
2113 [0x15] = KEY_2,
2114 [0x10] = KEY_3,
2115 [0x18] = KEY_4,
2116 [0x1b] = KEY_5,
2117 [0x1e] = KEY_6,
2118 [0x11] = KEY_7,
2119 [0x21] = KEY_8,
2120 [0x12] = KEY_9,
2121 [0x27] = KEY_0,
2122
2123 [0x24] = KEY_ZOOM,
2124 [0x2a] = KEY_SUBTITLE,
2125
2126 [0x00] = KEY_MUTE,
2127 [0x01] = KEY_ENTER, /* Pinnacle Logo */
2128 [0x39] = KEY_POWER,
2129
2130 [0x03] = KEY_VOLUMEUP,
2131 [0x09] = KEY_VOLUMEDOWN,
2132 [0x06] = KEY_CHANNELUP,
2133 [0x0c] = KEY_CHANNELDOWN,
2134
2135 [0x2d] = KEY_REWIND,
2136 [0x30] = KEY_PLAYPAUSE,
2137 [0x33] = KEY_FASTFORWARD,
2138 [0x3c] = KEY_STOP,
2139 [0x36] = KEY_RECORD,
2140 [0x3f] = KEY_EPG, /* Labeled "?" */
2141};
2142EXPORT_SYMBOL_GPL(ir_codes_pinnacle_pctv_hd);
2143
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002144/*
2145 * Igor Kuznetsov <igk72@ya.ru>
2146 * Andrey J. Melnikov <temnota@kmv.ru>
2147 *
2148 * Keytable is used by BeholdTV 60x series, M6 series at
2149 * least, and probably other cards too.
2150 * The "ascii-art picture" below (in comments, first row
2151 * is the keycode in hex, and subsequent row(s) shows
2152 * the button labels (several variants when appropriate)
2153 * helps to descide which keycodes to assign to the buttons.
2154 */
2155IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE] = {
2156
2157 /* 0x1c 0x12 *
2158 * TV/FM POWER *
2159 * */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002160 [0x1c] = KEY_TUNER, /* XXX KEY_TV / KEY_RADIO */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002161 [0x12] = KEY_POWER,
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002162
2163 /* 0x01 0x02 0x03 *
2164 * 1 2 3 *
2165 * *
2166 * 0x04 0x05 0x06 *
2167 * 4 5 6 *
2168 * *
2169 * 0x07 0x08 0x09 *
2170 * 7 8 9 *
2171 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002172 [0x01] = KEY_1,
2173 [0x02] = KEY_2,
2174 [0x03] = KEY_3,
2175 [0x04] = KEY_4,
2176 [0x05] = KEY_5,
2177 [0x06] = KEY_6,
2178 [0x07] = KEY_7,
2179 [0x08] = KEY_8,
2180 [0x09] = KEY_9,
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002181
2182 /* 0x0a 0x00 0x17 *
2183 * RECALL 0 MODE *
2184 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002185 [0x0a] = KEY_AGAIN,
2186 [0x00] = KEY_0,
2187 [0x17] = KEY_MODE,
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002188
2189 /* 0x14 0x10 *
2190 * ASPECT FULLSCREEN *
2191 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002192 [0x14] = KEY_SCREEN,
2193 [0x10] = KEY_ZOOM,
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002194
2195 /* 0x0b *
2196 * Up *
2197 * *
2198 * 0x18 0x16 0x0c *
2199 * Left Ok Right *
2200 * *
2201 * 0x015 *
2202 * Down *
2203 * */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002204 [0x0b] = KEY_CHANNELUP, /* XXX KEY_UP */
2205 [0x18] = KEY_VOLUMEDOWN, /* XXX KEY_LEFT */
2206 [0x16] = KEY_OK, /* XXX KEY_ENTER */
2207 [0x0c] = KEY_VOLUMEUP, /* XXX KEY_RIGHT */
2208 [0x15] = KEY_CHANNELDOWN, /* XXX KEY_DOWN */
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002209
2210 /* 0x11 0x0d *
2211 * MUTE INFO *
2212 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002213 [0x11] = KEY_MUTE,
2214 [0x0d] = KEY_INFO,
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002215
2216 /* 0x0f 0x1b 0x1a *
2217 * RECORD PLAY/PAUSE STOP *
2218 * *
2219 * 0x0e 0x1f 0x1e *
2220 *TELETEXT AUDIO SOURCE *
2221 * RED YELLOW *
2222 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002223 [0x0f] = KEY_RECORD,
2224 [0x1b] = KEY_PLAYPAUSE,
2225 [0x1a] = KEY_STOP,
2226 [0x0e] = KEY_TEXT,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002227 [0x1f] = KEY_RED, /*XXX KEY_AUDIO */
2228 [0x1e] = KEY_YELLOW, /*XXX KEY_SOURCE */
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002229
2230 /* 0x1d 0x13 0x19 *
2231 * SLEEP PREVIEW DVB *
2232 * GREEN BLUE *
2233 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002234 [0x1d] = KEY_SLEEP,
2235 [0x13] = KEY_GREEN,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002236 [0x19] = KEY_BLUE, /* XXX KEY_SAT */
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002237
2238 /* 0x58 0x5c *
2239 * FREEZE SNAPSHOT *
2240 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002241 [0x58] = KEY_SLOW,
2242 [0x5c] = KEY_SAVE,
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002243
2244};
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002245EXPORT_SYMBOL_GPL(ir_codes_behold);
Adrian Pardinif0ba3562008-02-11 12:40:53 -03002246
Dmitry Belimovb34dddb2008-04-23 14:09:08 -03002247/* Beholder Intl. Ltd. 2008
2248 * Dmitry Belimov d.belimov@google.com
2249 * Keytable is used by BeholdTV Columbus
2250 * The "ascii-art picture" below (in comments, first row
2251 * is the keycode in hex, and subsequent row(s) shows
2252 * the button labels (several variants when appropriate)
2253 * helps to descide which keycodes to assign to the buttons.
2254 */
2255IR_KEYTAB_TYPE ir_codes_behold_columbus[IR_KEYTAB_SIZE] = {
2256
2257 /* 0x13 0x11 0x1C 0x12 *
2258 * Mute Source TV/FM Power *
2259 * */
2260
2261 [0x13] = KEY_MUTE,
2262 [0x11] = KEY_PROPS,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002263 [0x1C] = KEY_TUNER, /* KEY_TV/KEY_RADIO */
Dmitry Belimovb34dddb2008-04-23 14:09:08 -03002264 [0x12] = KEY_POWER,
2265
2266 /* 0x01 0x02 0x03 0x0D *
2267 * 1 2 3 Stereo *
2268 * *
2269 * 0x04 0x05 0x06 0x19 *
2270 * 4 5 6 Snapshot *
2271 * *
2272 * 0x07 0x08 0x09 0x10 *
2273 * 7 8 9 Zoom *
2274 * */
2275 [0x01] = KEY_1,
2276 [0x02] = KEY_2,
2277 [0x03] = KEY_3,
2278 [0x0D] = KEY_SETUP, /* Setup key */
2279 [0x04] = KEY_4,
2280 [0x05] = KEY_5,
2281 [0x06] = KEY_6,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002282 [0x19] = KEY_BOOKMARKS, /* Snapshot key */
Dmitry Belimovb34dddb2008-04-23 14:09:08 -03002283 [0x07] = KEY_7,
2284 [0x08] = KEY_8,
2285 [0x09] = KEY_9,
2286 [0x10] = KEY_ZOOM,
2287
2288 /* 0x0A 0x00 0x0B 0x0C *
2289 * RECALL 0 ChannelUp VolumeUp *
2290 * */
2291 [0x0A] = KEY_AGAIN,
2292 [0x00] = KEY_0,
2293 [0x0B] = KEY_CHANNELUP,
2294 [0x0C] = KEY_VOLUMEUP,
2295
2296 /* 0x1B 0x1D 0x15 0x18 *
2297 * Timeshift Record ChannelDown VolumeDown *
2298 * */
2299
Mauro Carvalho Chehabf545cb42009-08-29 09:06:07 -03002300 [0x1B] = KEY_TIME,
Dmitry Belimovb34dddb2008-04-23 14:09:08 -03002301 [0x1D] = KEY_RECORD,
2302 [0x15] = KEY_CHANNELDOWN,
2303 [0x18] = KEY_VOLUMEDOWN,
2304
2305 /* 0x0E 0x1E 0x0F 0x1A *
2306 * Stop Pause Previouse Next *
2307 * */
2308
2309 [0x0E] = KEY_STOP,
2310 [0x1E] = KEY_PAUSE,
2311 [0x0F] = KEY_PREVIOUS,
2312 [0x1A] = KEY_NEXT,
2313
2314};
2315EXPORT_SYMBOL_GPL(ir_codes_behold_columbus);
2316
Adrian Pardinif0ba3562008-02-11 12:40:53 -03002317/*
2318 * Remote control for the Genius TVGO A11MCE
2319 * Adrian Pardini <pardo.bsso@gmail.com>
2320 */
2321IR_KEYTAB_TYPE ir_codes_genius_tvgo_a11mce[IR_KEYTAB_SIZE] = {
2322 /* Keys 0 to 9 */
2323 [0x48] = KEY_0,
2324 [0x09] = KEY_1,
2325 [0x1d] = KEY_2,
2326 [0x1f] = KEY_3,
2327 [0x19] = KEY_4,
2328 [0x1b] = KEY_5,
2329 [0x11] = KEY_6,
2330 [0x17] = KEY_7,
2331 [0x12] = KEY_8,
2332 [0x16] = KEY_9,
2333
2334 [0x54] = KEY_RECORD, /* recording */
2335 [0x06] = KEY_MUTE, /* mute */
2336 [0x10] = KEY_POWER,
2337 [0x40] = KEY_LAST, /* recall */
2338 [0x4c] = KEY_CHANNELUP, /* channel / program + */
2339 [0x00] = KEY_CHANNELDOWN, /* channel / program - */
2340 [0x0d] = KEY_VOLUMEUP,
2341 [0x15] = KEY_VOLUMEDOWN,
2342 [0x4d] = KEY_OK, /* also labeled as Pause */
2343 [0x1c] = KEY_ZOOM, /* full screen and Stop*/
2344 [0x02] = KEY_MODE, /* AV Source or Rewind*/
2345 [0x04] = KEY_LIST, /* -/-- */
2346 /* small arrows above numbers */
2347 [0x1a] = KEY_NEXT, /* also Fast Forward */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002348 [0x0e] = KEY_PREVIOUS, /* also Rewind */
Adrian Pardinif0ba3562008-02-11 12:40:53 -03002349 /* these are in a rather non standard layout and have
2350 an alternate name written */
2351 [0x1e] = KEY_UP, /* Video Setting */
2352 [0x0a] = KEY_DOWN, /* Video Default */
2353 [0x05] = KEY_LEFT, /* Snapshot */
2354 [0x0c] = KEY_RIGHT, /* Hide Panel */
2355 /* Four buttons without label */
2356 [0x49] = KEY_RED,
2357 [0x0b] = KEY_GREEN,
2358 [0x13] = KEY_YELLOW,
2359 [0x50] = KEY_BLUE,
2360};
2361EXPORT_SYMBOL_GPL(ir_codes_genius_tvgo_a11mce);
Dâniel Fragaba928032008-04-08 19:56:44 -03002362
2363/*
2364 * Remote control for Powercolor Real Angel 330
2365 * Daniel Fraga <fragabr@gmail.com>
2366 */
2367IR_KEYTAB_TYPE ir_codes_powercolor_real_angel[IR_KEYTAB_SIZE] = {
2368 [0x38] = KEY_SWITCHVIDEOMODE, /* switch inputs */
2369 [0x0c] = KEY_MEDIA, /* Turn ON/OFF App */
2370 [0x00] = KEY_0,
2371 [0x01] = KEY_1,
2372 [0x02] = KEY_2,
2373 [0x03] = KEY_3,
2374 [0x04] = KEY_4,
2375 [0x05] = KEY_5,
2376 [0x06] = KEY_6,
2377 [0x07] = KEY_7,
2378 [0x08] = KEY_8,
2379 [0x09] = KEY_9,
2380 [0x0a] = KEY_DIGITS, /* single, double, tripple digit */
2381 [0x29] = KEY_PREVIOUS, /* previous channel */
2382 [0x12] = KEY_BRIGHTNESSUP,
2383 [0x13] = KEY_BRIGHTNESSDOWN,
2384 [0x2b] = KEY_MODE, /* stereo/mono */
2385 [0x2c] = KEY_TEXT, /* teletext */
2386 [0x20] = KEY_UP, /* channel up */
2387 [0x21] = KEY_DOWN, /* channel down */
2388 [0x10] = KEY_RIGHT, /* volume up */
2389 [0x11] = KEY_LEFT, /* volume down */
2390 [0x0d] = KEY_MUTE,
2391 [0x1f] = KEY_RECORD,
2392 [0x17] = KEY_PLAY,
2393 [0x16] = KEY_PAUSE,
2394 [0x0b] = KEY_STOP,
2395 [0x27] = KEY_FASTFORWARD,
2396 [0x26] = KEY_REWIND,
2397 [0x1e] = KEY_SEARCH, /* autoscan */
2398 [0x0e] = KEY_SHUFFLE, /* snapshot */
2399 [0x2d] = KEY_SETUP,
2400 [0x0f] = KEY_SCREEN, /* full screen */
2401 [0x14] = KEY_RADIO, /* FM radio */
2402 [0x25] = KEY_POWER, /* power */
2403};
2404EXPORT_SYMBOL_GPL(ir_codes_powercolor_real_angel);
Tim Farrington6e501a32008-06-15 13:33:42 -03002405
Mauro Carvalho Chehab26d5f3a2008-12-07 13:19:29 -03002406/* Kworld Plus TV Analog Lite PCI IR
2407 Mauro Carvalho Chehab <mchehab@infradead.org>
2408 */
2409IR_KEYTAB_TYPE ir_codes_kworld_plus_tv_analog[IR_KEYTAB_SIZE] = {
2410 [0x0c] = KEY_PROG1, /* Kworld key */
2411 [0x16] = KEY_CLOSECD, /* -> ) */
2412 [0x1d] = KEY_POWER2,
2413
2414 [0x00] = KEY_1,
2415 [0x01] = KEY_2,
2416 [0x02] = KEY_3, /* Two keys have the same code: 3 and left */
2417 [0x03] = KEY_4, /* Two keys have the same code: 3 and right */
2418 [0x04] = KEY_5,
2419 [0x05] = KEY_6,
2420 [0x06] = KEY_7,
2421 [0x07] = KEY_8,
2422 [0x08] = KEY_9,
2423 [0x0a] = KEY_0,
2424
2425 [0x09] = KEY_AGAIN,
2426 [0x14] = KEY_MUTE,
2427
2428 [0x20] = KEY_UP,
2429 [0x21] = KEY_DOWN,
2430 [0x0b] = KEY_ENTER,
2431
2432 [0x10] = KEY_CHANNELUP,
2433 [0x11] = KEY_CHANNELDOWN,
2434
2435 /* Couldn't map key left/key right since those
2436 conflict with '3' and '4' scancodes
2437 I dunno what the original driver does
2438 */
2439
2440 [0x13] = KEY_VOLUMEUP,
2441 [0x12] = KEY_VOLUMEDOWN,
2442
2443 /* The lower part of the IR
2444 There are several duplicated keycodes there.
2445 Most of them conflict with digits.
2446 Add mappings just to the unused scancodes.
2447 Somehow, the original driver has a way to know,
2448 but this doesn't seem to be on some GPIO.
2449 Also, it is not related to the time between keyup
2450 and keydown.
2451 */
Mauro Carvalho Chehabf545cb42009-08-29 09:06:07 -03002452 [0x19] = KEY_TIME, /* Timeshift */
Mauro Carvalho Chehab26d5f3a2008-12-07 13:19:29 -03002453 [0x1a] = KEY_STOP,
2454 [0x1b] = KEY_RECORD,
2455
2456 [0x22] = KEY_TEXT,
2457
2458 [0x15] = KEY_AUDIO, /* ((*)) */
2459 [0x0f] = KEY_ZOOM,
2460 [0x1c] = KEY_SHUFFLE, /* snapshot */
2461
2462 [0x18] = KEY_RED, /* B */
2463 [0x23] = KEY_GREEN, /* C */
2464};
2465EXPORT_SYMBOL_GPL(ir_codes_kworld_plus_tv_analog);
2466
Mauro Carvalho Chehab9fc2c5e2009-02-11 14:15:14 -03002467/* Kaiomy TVnPC U2
2468 Mauro Carvalho Chehab <mchehab@infradead.org>
2469 */
2470IR_KEYTAB_TYPE ir_codes_kaiomy[IR_KEYTAB_SIZE] = {
2471 [0x43] = KEY_POWER2,
2472 [0x01] = KEY_LIST,
2473 [0x0b] = KEY_ZOOM,
2474 [0x03] = KEY_POWER,
2475
2476 [0x04] = KEY_1,
2477 [0x08] = KEY_2,
2478 [0x02] = KEY_3,
2479
2480 [0x0f] = KEY_4,
2481 [0x05] = KEY_5,
2482 [0x06] = KEY_6,
2483
2484 [0x0c] = KEY_7,
2485 [0x0d] = KEY_8,
2486 [0x0a] = KEY_9,
2487
2488 [0x11] = KEY_0,
2489
2490 [0x09] = KEY_CHANNELUP,
2491 [0x07] = KEY_CHANNELDOWN,
2492
2493 [0x0e] = KEY_VOLUMEUP,
2494 [0x13] = KEY_VOLUMEDOWN,
2495
2496 [0x10] = KEY_HOME,
2497 [0x12] = KEY_ENTER,
2498
2499 [0x14] = KEY_RECORD,
2500 [0x15] = KEY_STOP,
2501 [0x16] = KEY_PLAY,
2502 [0x17] = KEY_MUTE,
2503
2504 [0x18] = KEY_UP,
2505 [0x19] = KEY_DOWN,
2506 [0x1a] = KEY_LEFT,
2507 [0x1b] = KEY_RIGHT,
2508
2509 [0x1c] = KEY_RED,
2510 [0x1d] = KEY_GREEN,
2511 [0x1e] = KEY_YELLOW,
2512 [0x1f] = KEY_BLUE,
2513};
2514EXPORT_SYMBOL_GPL(ir_codes_kaiomy);
2515
Tim Farrington6e501a32008-06-15 13:33:42 -03002516IR_KEYTAB_TYPE ir_codes_avermedia_a16d[IR_KEYTAB_SIZE] = {
2517 [0x20] = KEY_LIST,
2518 [0x00] = KEY_POWER,
2519 [0x28] = KEY_1,
2520 [0x18] = KEY_2,
2521 [0x38] = KEY_3,
2522 [0x24] = KEY_4,
2523 [0x14] = KEY_5,
2524 [0x34] = KEY_6,
2525 [0x2c] = KEY_7,
2526 [0x1c] = KEY_8,
2527 [0x3c] = KEY_9,
2528 [0x12] = KEY_SUBTITLE,
2529 [0x22] = KEY_0,
2530 [0x32] = KEY_REWIND,
2531 [0x3a] = KEY_SHUFFLE,
2532 [0x02] = KEY_PRINT,
2533 [0x11] = KEY_CHANNELDOWN,
2534 [0x31] = KEY_CHANNELUP,
2535 [0x0c] = KEY_ZOOM,
2536 [0x1e] = KEY_VOLUMEDOWN,
2537 [0x3e] = KEY_VOLUMEUP,
2538 [0x0a] = KEY_MUTE,
2539 [0x04] = KEY_AUDIO,
2540 [0x26] = KEY_RECORD,
2541 [0x06] = KEY_PLAY,
2542 [0x36] = KEY_STOP,
2543 [0x16] = KEY_PAUSE,
2544 [0x2e] = KEY_REWIND,
2545 [0x0e] = KEY_FASTFORWARD,
2546 [0x30] = KEY_TEXT,
2547 [0x21] = KEY_GREEN,
2548 [0x01] = KEY_BLUE,
2549 [0x08] = KEY_EPG,
2550 [0x2a] = KEY_MENU,
2551};
2552EXPORT_SYMBOL_GPL(ir_codes_avermedia_a16d);
Mauro Carvalho Chehabbf1ece62008-06-26 17:03:00 -03002553
2554/* Encore ENLTV-FM v5.3
2555 Mauro Carvalho Chehab <mchehab@infradead.org>
2556 */
2557IR_KEYTAB_TYPE ir_codes_encore_enltv_fm53[IR_KEYTAB_SIZE] = {
2558 [0x10] = KEY_POWER2,
2559 [0x06] = KEY_MUTE,
2560
2561 [0x09] = KEY_1,
2562 [0x1d] = KEY_2,
2563 [0x1f] = KEY_3,
2564 [0x19] = KEY_4,
2565 [0x1b] = KEY_5,
2566 [0x11] = KEY_6,
2567 [0x17] = KEY_7,
2568 [0x12] = KEY_8,
2569 [0x16] = KEY_9,
2570 [0x48] = KEY_0,
2571
2572 [0x04] = KEY_LIST, /* -/-- */
2573 [0x40] = KEY_LAST, /* recall */
2574
2575 [0x02] = KEY_MODE, /* TV/AV */
2576 [0x05] = KEY_SHUFFLE, /* SNAPSHOT */
2577
2578 [0x4c] = KEY_CHANNELUP, /* UP */
2579 [0x00] = KEY_CHANNELDOWN, /* DOWN */
2580 [0x0d] = KEY_VOLUMEUP, /* RIGHT */
2581 [0x15] = KEY_VOLUMEDOWN, /* LEFT */
2582 [0x49] = KEY_ENTER, /* OK */
2583
2584 [0x54] = KEY_RECORD,
2585 [0x4d] = KEY_PLAY, /* pause */
2586
2587 [0x1e] = KEY_UP, /* video setting */
2588 [0x0e] = KEY_RIGHT, /* <- */
2589 [0x1a] = KEY_LEFT, /* -> */
2590
2591 [0x0a] = KEY_DOWN, /* video default */
2592 [0x0c] = KEY_ZOOM, /* hide pannel */
2593 [0x47] = KEY_SLEEP, /* shutdown */
2594};
2595EXPORT_SYMBOL_GPL(ir_codes_encore_enltv_fm53);
Mauro Carvalho Chehab9b000192008-06-26 17:03:00 -03002596
2597/* Zogis Real Audio 220 - 32 keys IR */
2598IR_KEYTAB_TYPE ir_codes_real_audio_220_32_keys[IR_KEYTAB_SIZE] = {
2599 [0x1c] = KEY_RADIO,
2600 [0x12] = KEY_POWER2,
2601
2602 [0x01] = KEY_1,
2603 [0x02] = KEY_2,
2604 [0x03] = KEY_3,
2605 [0x04] = KEY_4,
2606 [0x05] = KEY_5,
2607 [0x06] = KEY_6,
2608 [0x07] = KEY_7,
2609 [0x08] = KEY_8,
2610 [0x09] = KEY_9,
2611 [0x00] = KEY_0,
2612
2613 [0x0c] = KEY_VOLUMEUP,
2614 [0x18] = KEY_VOLUMEDOWN,
2615 [0x0b] = KEY_CHANNELUP,
2616 [0x15] = KEY_CHANNELDOWN,
2617 [0x16] = KEY_ENTER,
2618
2619 [0x11] = KEY_LIST, /* Source */
2620 [0x0d] = KEY_AUDIO, /* stereo */
2621
2622 [0x0f] = KEY_PREVIOUS, /* Prev */
Mauro Carvalho Chehabf545cb42009-08-29 09:06:07 -03002623 [0x1b] = KEY_TIME, /* Timeshift */
Mauro Carvalho Chehab9b000192008-06-26 17:03:00 -03002624 [0x1a] = KEY_NEXT, /* Next */
2625
2626 [0x0e] = KEY_STOP,
2627 [0x1f] = KEY_PLAY,
2628 [0x1e] = KEY_PLAYPAUSE, /* Pause */
2629
2630 [0x1d] = KEY_RECORD,
2631 [0x13] = KEY_MUTE,
2632 [0x19] = KEY_SHUFFLE, /* Snapshot */
2633
2634};
2635EXPORT_SYMBOL_GPL(ir_codes_real_audio_220_32_keys);
Devin Heitmueller60245e82008-11-16 08:03:53 -03002636
2637/* ATI TV Wonder HD 600 USB
2638 Devin Heitmueller <devin.heitmueller@gmail.com>
2639 */
2640IR_KEYTAB_TYPE ir_codes_ati_tv_wonder_hd_600[IR_KEYTAB_SIZE] = {
2641 [0x00] = KEY_RECORD, /* Row 1 */
2642 [0x01] = KEY_PLAYPAUSE,
2643 [0x02] = KEY_STOP,
2644 [0x03] = KEY_POWER,
2645 [0x04] = KEY_PREVIOUS, /* Row 2 */
2646 [0x05] = KEY_REWIND,
2647 [0x06] = KEY_FORWARD,
2648 [0x07] = KEY_NEXT,
2649 [0x08] = KEY_EPG, /* Row 3 */
2650 [0x09] = KEY_HOME,
2651 [0x0a] = KEY_MENU,
2652 [0x0b] = KEY_CHANNELUP,
2653 [0x0c] = KEY_BACK, /* Row 4 */
2654 [0x0d] = KEY_UP,
2655 [0x0e] = KEY_INFO,
2656 [0x0f] = KEY_CHANNELDOWN,
2657 [0x10] = KEY_LEFT, /* Row 5 */
2658 [0x11] = KEY_SELECT,
2659 [0x12] = KEY_RIGHT,
2660 [0x13] = KEY_VOLUMEUP,
2661 [0x14] = KEY_LAST, /* Row 6 */
2662 [0x15] = KEY_DOWN,
2663 [0x16] = KEY_MUTE,
2664 [0x17] = KEY_VOLUMEDOWN,
2665};
Devin Heitmueller60245e82008-11-16 08:03:53 -03002666EXPORT_SYMBOL_GPL(ir_codes_ati_tv_wonder_hd_600);
Igor M. Liplianinb72857d2009-02-26 03:49:44 -03002667
2668/* DVBWorld remotes
2669 Igor M. Liplianin <liplianin@me.by>
2670 */
2671IR_KEYTAB_TYPE ir_codes_dm1105_nec[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab62f1aa92009-08-29 09:01:54 -03002672 [0x0a] = KEY_POWER2, /* power */
2673 [0x0c] = KEY_MUTE, /* mute */
Igor M. Liplianinb72857d2009-02-26 03:49:44 -03002674 [0x11] = KEY_1,
2675 [0x12] = KEY_2,
2676 [0x13] = KEY_3,
2677 [0x14] = KEY_4,
2678 [0x15] = KEY_5,
2679 [0x16] = KEY_6,
2680 [0x17] = KEY_7,
2681 [0x18] = KEY_8,
2682 [0x19] = KEY_9,
2683 [0x10] = KEY_0,
Mauro Carvalho Chehab62f1aa92009-08-29 09:01:54 -03002684 [0x1c] = KEY_PAGEUP, /* ch+ */
2685 [0x0f] = KEY_PAGEDOWN, /* ch- */
2686 [0x1a] = KEY_VOLUMEUP, /* vol+ */
2687 [0x0e] = KEY_VOLUMEDOWN, /* vol- */
2688 [0x04] = KEY_RECORD, /* rec */
2689 [0x09] = KEY_CHANNEL, /* fav */
2690 [0x08] = KEY_BACKSPACE, /* rewind */
2691 [0x07] = KEY_FASTFORWARD, /* fast */
2692 [0x0b] = KEY_PAUSE, /* pause */
2693 [0x02] = KEY_ESC, /* cancel */
2694 [0x03] = KEY_TAB, /* tab */
2695 [0x00] = KEY_UP, /* up */
2696 [0x1f] = KEY_ENTER, /* ok */
2697 [0x01] = KEY_DOWN, /* down */
2698 [0x05] = KEY_RECORD, /* cap */
2699 [0x06] = KEY_STOP, /* stop */
2700 [0x40] = KEY_ZOOM, /* full */
2701 [0x1e] = KEY_TV, /* tvmode */
2702 [0x1b] = KEY_B, /* recall */
Igor M. Liplianinb72857d2009-02-26 03:49:44 -03002703};
2704EXPORT_SYMBOL_GPL(ir_codes_dm1105_nec);
Devin Heitmuellera4c47302009-06-20 21:34:42 -03002705
Devin Heitmueller8cd9aae2009-08-03 23:56:51 -03002706
2707/* Terratec Cinergy Hybrid T USB XS
2708 Devin Heitmueller <dheitmueller@linuxtv.org>
2709 */
2710IR_KEYTAB_TYPE ir_codes_terratec_cinergy_xs[IR_KEYTAB_SIZE] = {
2711 [0x41] = KEY_HOME,
2712 [0x01] = KEY_POWER,
2713 [0x42] = KEY_MENU,
2714 [0x02] = KEY_1,
2715 [0x03] = KEY_2,
2716 [0x04] = KEY_3,
2717 [0x43] = KEY_SUBTITLE,
2718 [0x05] = KEY_4,
2719 [0x06] = KEY_5,
2720 [0x07] = KEY_6,
2721 [0x44] = KEY_TEXT,
2722 [0x08] = KEY_7,
2723 [0x09] = KEY_8,
2724 [0x0a] = KEY_9,
2725 [0x45] = KEY_DELETE,
2726 [0x0b] = KEY_TUNER,
2727 [0x0c] = KEY_0,
2728 [0x0d] = KEY_MODE,
2729 [0x46] = KEY_TV,
2730 [0x47] = KEY_DVD,
2731 [0x49] = KEY_VIDEO,
2732 [0x4b] = KEY_AUX,
2733 [0x10] = KEY_UP,
2734 [0x11] = KEY_LEFT,
2735 [0x12] = KEY_OK,
2736 [0x13] = KEY_RIGHT,
2737 [0x14] = KEY_DOWN,
2738 [0x0f] = KEY_EPG,
2739 [0x16] = KEY_INFO,
2740 [0x4d] = KEY_BACKSPACE,
2741 [0x1c] = KEY_VOLUMEUP,
2742 [0x4c] = KEY_PLAY,
2743 [0x1b] = KEY_CHANNELUP,
2744 [0x1e] = KEY_VOLUMEDOWN,
2745 [0x1d] = KEY_MUTE,
2746 [0x1f] = KEY_CHANNELDOWN,
2747 [0x17] = KEY_RED,
2748 [0x18] = KEY_GREEN,
2749 [0x19] = KEY_YELLOW,
2750 [0x1a] = KEY_BLUE,
2751 [0x58] = KEY_RECORD,
2752 [0x48] = KEY_STOP,
2753 [0x40] = KEY_PAUSE,
2754 [0x54] = KEY_LAST,
2755 [0x4e] = KEY_REWIND,
2756 [0x4f] = KEY_FASTFORWARD,
2757 [0x5c] = KEY_NEXT,
2758};
2759EXPORT_SYMBOL_GPL(ir_codes_terratec_cinergy_xs);
2760
Devin Heitmuellera4c47302009-06-20 21:34:42 -03002761/* EVGA inDtube
2762 Devin Heitmueller <devin.heitmueller@gmail.com>
2763 */
2764IR_KEYTAB_TYPE ir_codes_evga_indtube[IR_KEYTAB_SIZE] = {
2765 [0x12] = KEY_POWER,
2766 [0x02] = KEY_MODE, /* TV */
2767 [0x14] = KEY_MUTE,
2768 [0x1a] = KEY_CHANNELUP,
2769 [0x16] = KEY_TV2, /* PIP */
2770 [0x1d] = KEY_VOLUMEUP,
2771 [0x05] = KEY_CHANNELDOWN,
2772 [0x0f] = KEY_PLAYPAUSE,
2773 [0x19] = KEY_VOLUMEDOWN,
2774 [0x1c] = KEY_REWIND,
2775 [0x0d] = KEY_RECORD,
2776 [0x18] = KEY_FORWARD,
2777 [0x1e] = KEY_PREVIOUS,
2778 [0x1b] = KEY_STOP,
2779 [0x1f] = KEY_NEXT,
2780 [0x13] = KEY_CAMERA,
2781};
2782EXPORT_SYMBOL_GPL(ir_codes_evga_indtube);
Igor M. Liplianinecfcfec2009-08-13 21:42:21 -03002783
2784IR_KEYTAB_TYPE ir_codes_videomate_s350[IR_KEYTAB_SIZE] = {
2785 [0x00] = KEY_TV,
2786 [0x01] = KEY_DVD,
2787 [0x04] = KEY_RECORD,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002788 [0x05] = KEY_VIDEO, /* TV/Video */
Igor M. Liplianinecfcfec2009-08-13 21:42:21 -03002789 [0x07] = KEY_STOP,
2790 [0x08] = KEY_PLAYPAUSE,
2791 [0x0a] = KEY_REWIND,
2792 [0x0f] = KEY_FASTFORWARD,
2793 [0x10] = KEY_CHANNELUP,
2794 [0x12] = KEY_VOLUMEUP,
2795 [0x13] = KEY_CHANNELDOWN,
2796 [0x14] = KEY_MUTE,
2797 [0x15] = KEY_VOLUMEDOWN,
2798 [0x16] = KEY_1,
2799 [0x17] = KEY_2,
2800 [0x18] = KEY_3,
2801 [0x19] = KEY_4,
2802 [0x1a] = KEY_5,
2803 [0x1b] = KEY_6,
2804 [0x1c] = KEY_7,
2805 [0x1d] = KEY_8,
2806 [0x1e] = KEY_9,
2807 [0x1f] = KEY_0,
2808 [0x21] = KEY_SLEEP,
2809 [0x24] = KEY_ZOOM,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002810 [0x25] = KEY_LAST, /* Recall */
2811 [0x26] = KEY_SUBTITLE, /* CC */
2812 [0x27] = KEY_LANGUAGE, /* MTS */
2813 [0x29] = KEY_CHANNEL, /* SURF */
Igor M. Liplianinecfcfec2009-08-13 21:42:21 -03002814 [0x2b] = KEY_A,
2815 [0x2c] = KEY_B,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002816 [0x2f] = KEY_SHUFFLE, /* Snapshot */
Igor M. Liplianinecfcfec2009-08-13 21:42:21 -03002817 [0x23] = KEY_RADIO,
2818 [0x02] = KEY_PREVIOUSSONG,
2819 [0x06] = KEY_NEXTSONG,
2820 [0x03] = KEY_EPG,
2821 [0x09] = KEY_SETUP,
2822 [0x22] = KEY_BACKSPACE,
2823 [0x0c] = KEY_UP,
2824 [0x0e] = KEY_DOWN,
2825 [0x0b] = KEY_LEFT,
2826 [0x0d] = KEY_RIGHT,
2827 [0x11] = KEY_ENTER,
2828 [0x20] = KEY_TEXT,
2829};
2830EXPORT_SYMBOL_GPL(ir_codes_videomate_s350);