blob: 3426ebb2d2b6474f00917a464762036794a3651a [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 */
52 [0x20] = KEY_F, /* full screen */
53 [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 Chehab5d353642009-08-27 09:50:21 -030058 [0x1a] = KEY_Q, /* 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] = {
311 [0x3c] = KEY_PAUSE, /* Timeshift */
312 [0x12] = KEY_POWER,
313
314 [0x3d] = KEY_1,
315 [0x38] = KEY_2,
316 [0x18] = KEY_3,
317 [0x35] = KEY_4,
318 [0x39] = KEY_5,
319 [0x15] = KEY_6,
320 [0x36] = KEY_7,
321 [0x3a] = KEY_8,
322 [0x1e] = KEY_9,
323 [0x3e] = KEY_0,
324
325 [0x1c] = KEY_AGAIN, /* LOOP */
326 [0x3f] = KEY_MEDIA, /* Source */
327 [0x1f] = KEY_LAST, /* +100 */
328 [0x1b] = KEY_MUTE,
329
330 [0x17] = KEY_CHANNELDOWN,
331 [0x16] = KEY_CHANNELUP,
332 [0x10] = KEY_VOLUMEUP,
333 [0x14] = KEY_VOLUMEDOWN,
334 [0x13] = KEY_ZOOM,
335
336 [0x19] = KEY_SHUFFLE, /* SNAPSHOT */
337 [0x1a] = KEY_SEARCH, /* scan */
338
339 [0x37] = KEY_REWIND, /* << */
340 [0x32] = KEY_RECORD, /* o (red) */
341 [0x33] = KEY_FORWARD, /* >> */
342 [0x11] = KEY_STOP, /* square */
343 [0x3b] = KEY_PLAY, /* > */
344 [0x30] = KEY_PLAYPAUSE, /* || */
345
346 [0x31] = KEY_TV,
347 [0x34] = KEY_RADIO,
348};
349EXPORT_SYMBOL_GPL(ir_codes_pixelview_new);
350
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -0200351IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE] = {
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,
434 [0x13] = KEY_S, /* snap */
435 [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 */
472 [0x08] = KEY_T, /* 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 Chehab3b82bdd2009-08-27 09:31:30 -0300485 [0x4c] = KEY_S, /* SVIDEO */
486 [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,
491 [0x3c] = KEY_C, /* || (red) */
492 [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 */
574 [0x10] = KEY_F, /* Funtion */
575 [0x11] = KEY_T, /* Time shift */
576 [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 Chehab5d353642009-08-27 09:50:21 -03001273 [0x0e] = KEY_SLEEP, /*XXX maybe KEY_PAUSE */
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 */
1323 [0x1e] = KEY_F23, /* TIMESHIFT */
1324 [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 */
1356 [0x49] = KEY_LANGUAGE, /* MTS Select */
1357 [0x19] = KEY_SEARCH, /* Auto Scan */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001358
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001359 [0x4b] = KEY_RECORD,
1360 [0x46] = KEY_PLAY,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001361 [0x45] = KEY_PAUSE, /* Pause */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001362 [0x44] = KEY_STOP,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001363 [0x40] = KEY_FORWARD, /* Forward ? */
1364 [0x42] = KEY_REWIND, /* Backward ? */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001365
1366};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001367EXPORT_SYMBOL_GPL(ir_codes_purpletv);
1368
1369/* Mapping for the 28 key remote control as seen at
1370 http://www.sednacomputer.com/photo/cardbus-tv.jpg
Mauro Lacye80faad2008-04-22 14:45:58 -03001371 Pavel Mihaylov <bin@bash.info>
1372 Also for the remote bundled with Kozumi KTV-01C card */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001373IR_KEYTAB_TYPE ir_codes_pctv_sedna[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001374 [0x00] = KEY_0,
1375 [0x01] = KEY_1,
1376 [0x02] = KEY_2,
1377 [0x03] = KEY_3,
1378 [0x04] = KEY_4,
1379 [0x05] = KEY_5,
1380 [0x06] = KEY_6,
1381 [0x07] = KEY_7,
1382 [0x08] = KEY_8,
1383 [0x09] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001384
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001385 [0x0a] = KEY_AGAIN, /* Recall */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001386 [0x0b] = KEY_CHANNELUP,
1387 [0x0c] = KEY_VOLUMEUP,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001388 [0x0d] = KEY_MODE, /* Stereo */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001389 [0x0e] = KEY_STOP,
1390 [0x0f] = KEY_PREVIOUSSONG,
1391 [0x10] = KEY_ZOOM,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001392 [0x11] = KEY_TUNER, /* Source */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001393 [0x12] = KEY_POWER,
1394 [0x13] = KEY_MUTE,
1395 [0x15] = KEY_CHANNELDOWN,
1396 [0x18] = KEY_VOLUMEDOWN,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001397 [0x19] = KEY_SHUFFLE, /* Snapshot */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001398 [0x1a] = KEY_NEXTSONG,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001399 [0x1b] = KEY_TEXT, /* Time Shift */
1400 [0x1c] = KEY_RADIO, /* FM Radio */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001401 [0x1d] = KEY_RECORD,
1402 [0x1e] = KEY_PAUSE,
Mauro Lacye80faad2008-04-22 14:45:58 -03001403 /* additional codes for Kozumi's remote */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001404 [0x14] = KEY_INFO, /* OSD */
1405 [0x16] = KEY_OK, /* OK */
1406 [0x17] = KEY_DIGITS, /* Plus */
1407 [0x1f] = KEY_PLAY, /* Play */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001408};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001409EXPORT_SYMBOL_GPL(ir_codes_pctv_sedna);
1410
1411/* Mark Phalan <phalanm@o2.ie> */
1412IR_KEYTAB_TYPE ir_codes_pv951[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001413 [0x00] = KEY_0,
1414 [0x01] = KEY_1,
1415 [0x02] = KEY_2,
1416 [0x03] = KEY_3,
1417 [0x04] = KEY_4,
1418 [0x05] = KEY_5,
1419 [0x06] = KEY_6,
1420 [0x07] = KEY_7,
1421 [0x08] = KEY_8,
1422 [0x09] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001423
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001424 [0x12] = KEY_POWER,
1425 [0x10] = KEY_MUTE,
1426 [0x1f] = KEY_VOLUMEDOWN,
1427 [0x1b] = KEY_VOLUMEUP,
1428 [0x1a] = KEY_CHANNELUP,
1429 [0x1e] = KEY_CHANNELDOWN,
1430 [0x0e] = KEY_PAGEUP,
1431 [0x1d] = KEY_PAGEDOWN,
1432 [0x13] = KEY_SOUND,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001433
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001434 [0x18] = KEY_KPPLUSMINUS, /* CH +/- */
1435 [0x16] = KEY_SUBTITLE, /* CC */
1436 [0x0d] = KEY_TEXT, /* TTX */
1437 [0x0b] = KEY_TV, /* AIR/CBL */
1438 [0x11] = KEY_PC, /* PC/TV */
1439 [0x17] = KEY_OK, /* CH RTN */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001440 [0x19] = KEY_MODE, /* FUNC */
1441 [0x0c] = KEY_SEARCH, /* AUTOSCAN */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001442
1443 /* Not sure what to do with these ones! */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001444 [0x0f] = KEY_SELECT, /* SOURCE */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001445 [0x0a] = KEY_KPPLUS, /* +100 */
1446 [0x14] = KEY_EQUAL, /* SYNC */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001447 [0x1c] = KEY_MEDIA, /* PC/TV */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001448};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001449EXPORT_SYMBOL_GPL(ir_codes_pv951);
1450
1451/* generic RC5 keytable */
1452/* see http://users.pandora.be/nenya/electronics/rc5/codes00.htm */
1453/* used by old (black) Hauppauge remotes */
1454IR_KEYTAB_TYPE ir_codes_rc5_tv[IR_KEYTAB_SIZE] = {
1455 /* Keys 0 to 9 */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001456 [0x00] = KEY_0,
1457 [0x01] = KEY_1,
1458 [0x02] = KEY_2,
1459 [0x03] = KEY_3,
1460 [0x04] = KEY_4,
1461 [0x05] = KEY_5,
1462 [0x06] = KEY_6,
1463 [0x07] = KEY_7,
1464 [0x08] = KEY_8,
1465 [0x09] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001466
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001467 [0x0b] = KEY_CHANNEL, /* channel / program (japan: 11) */
1468 [0x0c] = KEY_POWER, /* standby */
1469 [0x0d] = KEY_MUTE, /* mute / demute */
1470 [0x0f] = KEY_TV, /* display */
1471 [0x10] = KEY_VOLUMEUP,
1472 [0x11] = KEY_VOLUMEDOWN,
1473 [0x12] = KEY_BRIGHTNESSUP,
1474 [0x13] = KEY_BRIGHTNESSDOWN,
1475 [0x1e] = KEY_SEARCH, /* search + */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001476 [0x20] = KEY_CHANNELUP, /* channel / program + */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001477 [0x21] = KEY_CHANNELDOWN, /* channel / program - */
1478 [0x22] = KEY_CHANNEL, /* alt / channel */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001479 [0x23] = KEY_LANGUAGE, /* 1st / 2nd language */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001480 [0x26] = KEY_SLEEP, /* sleeptimer */
1481 [0x2e] = KEY_MENU, /* 2nd controls (USA: menu) */
1482 [0x30] = KEY_PAUSE,
1483 [0x32] = KEY_REWIND,
1484 [0x33] = KEY_GOTO,
1485 [0x35] = KEY_PLAY,
1486 [0x36] = KEY_STOP,
1487 [0x37] = KEY_RECORD, /* recording */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001488 [0x3c] = KEY_TEXT, /* teletext submode (Japan: 12) */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001489 [0x3d] = KEY_SUSPEND, /* system standby */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001490
1491};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001492EXPORT_SYMBOL_GPL(ir_codes_rc5_tv);
1493
1494/* Table for Leadtek Winfast Remote Controls - used by both bttv and cx88 */
1495IR_KEYTAB_TYPE ir_codes_winfast[IR_KEYTAB_SIZE] = {
1496 /* Keys 0 to 9 */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001497 [0x12] = KEY_0,
1498 [0x05] = KEY_1,
1499 [0x06] = KEY_2,
1500 [0x07] = KEY_3,
1501 [0x09] = KEY_4,
1502 [0x0a] = KEY_5,
1503 [0x0b] = KEY_6,
1504 [0x0d] = KEY_7,
1505 [0x0e] = KEY_8,
1506 [0x0f] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001507
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001508 [0x00] = KEY_POWER,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001509 [0x1b] = KEY_AUDIO, /* Audio Source */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001510 [0x02] = KEY_TUNER, /* TV/FM, not on Y0400052 */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001511 [0x1e] = KEY_VIDEO, /* Video Source */
1512 [0x16] = KEY_INFO, /* Display information */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001513 [0x04] = KEY_VOLUMEUP,
1514 [0x08] = KEY_VOLUMEDOWN,
1515 [0x0c] = KEY_CHANNELUP,
1516 [0x10] = KEY_CHANNELDOWN,
1517 [0x03] = KEY_ZOOM, /* fullscreen */
1518 [0x1f] = KEY_TEXT, /* closed caption/teletext */
1519 [0x20] = KEY_SLEEP,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001520 [0x29] = KEY_CLEAR, /* boss key */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001521 [0x14] = KEY_MUTE,
1522 [0x2b] = KEY_RED,
1523 [0x2c] = KEY_GREEN,
1524 [0x2d] = KEY_YELLOW,
1525 [0x2e] = KEY_BLUE,
1526 [0x18] = KEY_KPPLUS, /* fine tune + , not on Y040052 */
1527 [0x19] = KEY_KPMINUS, /* fine tune - , not on Y040052 */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001528 [0x2a] = KEY_MEDIA, /* PIP (Picture in picture */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001529 [0x21] = KEY_DOT,
1530 [0x13] = KEY_ENTER,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001531 [0x11] = KEY_LAST, /* Recall (last channel */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001532 [0x22] = KEY_PREVIOUS,
1533 [0x23] = KEY_PLAYPAUSE,
1534 [0x24] = KEY_NEXT,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001535 [0x25] = KEY_ARCHIVE, /* Time Shifting */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001536 [0x26] = KEY_STOP,
1537 [0x27] = KEY_RECORD,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001538 [0x28] = KEY_SAVE, /* Screenshot */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001539 [0x2f] = KEY_MENU,
1540 [0x30] = KEY_CANCEL,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001541 [0x31] = KEY_CHANNEL, /* Channel Surf */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001542 [0x32] = KEY_SUBTITLE,
1543 [0x33] = KEY_LANGUAGE,
1544 [0x34] = KEY_REWIND,
1545 [0x35] = KEY_FASTFORWARD,
1546 [0x36] = KEY_TV,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001547 [0x37] = KEY_RADIO, /* FM */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001548 [0x38] = KEY_DVD,
Michel Lespinasse102df6a2007-11-26 18:57:10 -03001549
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001550 [0x3e] = KEY_F21, /* MCE +VOL, on Y04G0033 */
1551 [0x3a] = KEY_F22, /* MCE -VOL, on Y04G0033 */
1552 [0x3b] = KEY_F23, /* MCE +CH, on Y04G0033 */
1553 [0x3f] = KEY_F24 /* MCE -CH, on Y04G0033 */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001554};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001555EXPORT_SYMBOL_GPL(ir_codes_winfast);
1556
Sylvain Pascheb93eedb2006-03-25 23:14:42 -03001557IR_KEYTAB_TYPE ir_codes_pinnacle_color[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001558 [0x59] = KEY_MUTE,
1559 [0x4a] = KEY_POWER,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001560
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001561 [0x18] = KEY_TEXT,
1562 [0x26] = KEY_TV,
1563 [0x3d] = KEY_PRINT,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001564
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001565 [0x48] = KEY_RED,
1566 [0x04] = KEY_GREEN,
1567 [0x11] = KEY_YELLOW,
1568 [0x00] = KEY_BLUE,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001569
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001570 [0x2d] = KEY_VOLUMEUP,
1571 [0x1e] = KEY_VOLUMEDOWN,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001572
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001573 [0x49] = KEY_MENU,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001574
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001575 [0x16] = KEY_CHANNELUP,
1576 [0x17] = KEY_CHANNELDOWN,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001577
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001578 [0x20] = KEY_UP,
1579 [0x21] = KEY_DOWN,
1580 [0x22] = KEY_LEFT,
1581 [0x23] = KEY_RIGHT,
1582 [0x0d] = KEY_SELECT,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001583
1584
1585
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001586 [0x08] = KEY_BACK,
1587 [0x07] = KEY_REFRESH,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001588
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001589 [0x2f] = KEY_ZOOM,
1590 [0x29] = KEY_RECORD,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001591
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001592 [0x4b] = KEY_PAUSE,
1593 [0x4d] = KEY_REWIND,
1594 [0x2e] = KEY_PLAY,
1595 [0x4e] = KEY_FORWARD,
1596 [0x53] = KEY_PREVIOUS,
1597 [0x4c] = KEY_STOP,
1598 [0x54] = KEY_NEXT,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001599
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001600 [0x69] = KEY_0,
1601 [0x6a] = KEY_1,
1602 [0x6b] = KEY_2,
1603 [0x6c] = KEY_3,
1604 [0x6d] = KEY_4,
1605 [0x6e] = KEY_5,
1606 [0x6f] = KEY_6,
1607 [0x70] = KEY_7,
1608 [0x71] = KEY_8,
1609 [0x72] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001610
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001611 [0x74] = KEY_CHANNEL,
1612 [0x0a] = KEY_BACKSPACE,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001613};
Sylvain Pascheb93eedb2006-03-25 23:14:42 -03001614EXPORT_SYMBOL_GPL(ir_codes_pinnacle_color);
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001615
1616/* Hauppauge: the newer, gray remotes (seems there are multiple
1617 * slightly different versions), shipped with cx88+ivtv cards.
1618 * almost rc5 coding, but some non-standard keys */
1619IR_KEYTAB_TYPE ir_codes_hauppauge_new[IR_KEYTAB_SIZE] = {
1620 /* Keys 0 to 9 */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001621 [0x00] = KEY_0,
1622 [0x01] = KEY_1,
1623 [0x02] = KEY_2,
1624 [0x03] = KEY_3,
1625 [0x04] = KEY_4,
1626 [0x05] = KEY_5,
1627 [0x06] = KEY_6,
1628 [0x07] = KEY_7,
1629 [0x08] = KEY_8,
1630 [0x09] = KEY_9,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001631
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001632 [0x0a] = KEY_TEXT, /* keypad asterisk as well */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001633 [0x0b] = KEY_RED, /* red button */
1634 [0x0c] = KEY_RADIO,
1635 [0x0d] = KEY_MENU,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001636 [0x0e] = KEY_SUBTITLE, /* also the # key */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001637 [0x0f] = KEY_MUTE,
1638 [0x10] = KEY_VOLUMEUP,
1639 [0x11] = KEY_VOLUMEDOWN,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001640 [0x12] = KEY_PREVIOUS, /* previous channel */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001641 [0x14] = KEY_UP,
1642 [0x15] = KEY_DOWN,
1643 [0x16] = KEY_LEFT,
1644 [0x17] = KEY_RIGHT,
1645 [0x18] = KEY_VIDEO, /* Videos */
1646 [0x19] = KEY_AUDIO, /* Music */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001647 /* 0x1a: Pictures - presume this means
1648 "Multimedia Home Platform" -
1649 no "PICTURES" key in input.h
1650 */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001651 [0x1a] = KEY_MHP,
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001652
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001653 [0x1b] = KEY_EPG, /* Guide */
1654 [0x1c] = KEY_TV,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001655 [0x1e] = KEY_NEXTSONG, /* skip >| */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001656 [0x1f] = KEY_EXIT, /* back/exit */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001657 [0x20] = KEY_CHANNELUP, /* channel / program + */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001658 [0x21] = KEY_CHANNELDOWN, /* channel / program - */
1659 [0x22] = KEY_CHANNEL, /* source (old black remote) */
1660 [0x24] = KEY_PREVIOUSSONG, /* replay |< */
1661 [0x25] = KEY_ENTER, /* OK */
1662 [0x26] = KEY_SLEEP, /* minimize (old black remote) */
1663 [0x29] = KEY_BLUE, /* blue key */
1664 [0x2e] = KEY_GREEN, /* green button */
1665 [0x30] = KEY_PAUSE, /* pause */
1666 [0x32] = KEY_REWIND, /* backward << */
1667 [0x34] = KEY_FASTFORWARD, /* forward >> */
1668 [0x35] = KEY_PLAY,
1669 [0x36] = KEY_STOP,
1670 [0x37] = KEY_RECORD, /* recording */
1671 [0x38] = KEY_YELLOW, /* yellow key */
1672 [0x3b] = KEY_SELECT, /* top right button */
1673 [0x3c] = KEY_ZOOM, /* full */
1674 [0x3d] = KEY_POWER, /* system power (green button) */
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001675};
Ricardo Cerqueira4c0f6312006-01-23 09:42:06 -02001676EXPORT_SYMBOL_GPL(ir_codes_hauppauge_new);
Ricardo Cerqueira680543c2006-05-22 07:44:02 -03001677
1678IR_KEYTAB_TYPE ir_codes_npgtech[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001679 [0x1d] = KEY_SWITCHVIDEOMODE, /* switch inputs */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001680 [0x2a] = KEY_FRONT,
Ricardo Cerqueira680543c2006-05-22 07:44:02 -03001681
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001682 [0x3e] = KEY_1,
1683 [0x02] = KEY_2,
1684 [0x06] = KEY_3,
1685 [0x0a] = KEY_4,
1686 [0x0e] = KEY_5,
1687 [0x12] = KEY_6,
1688 [0x16] = KEY_7,
1689 [0x1a] = KEY_8,
1690 [0x1e] = KEY_9,
1691 [0x3a] = KEY_0,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001692 [0x22] = KEY_NUMLOCK, /* -/-- */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001693 [0x20] = KEY_REFRESH,
Ricardo Cerqueira680543c2006-05-22 07:44:02 -03001694
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001695 [0x03] = KEY_BRIGHTNESSDOWN,
1696 [0x28] = KEY_AUDIO,
1697 [0x3c] = KEY_UP,
1698 [0x3f] = KEY_LEFT,
1699 [0x2e] = KEY_MUTE,
1700 [0x3b] = KEY_RIGHT,
1701 [0x00] = KEY_DOWN,
1702 [0x07] = KEY_BRIGHTNESSUP,
1703 [0x2c] = KEY_TEXT,
Ricardo Cerqueira680543c2006-05-22 07:44:02 -03001704
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001705 [0x37] = KEY_RECORD,
1706 [0x17] = KEY_PLAY,
1707 [0x13] = KEY_PAUSE,
1708 [0x26] = KEY_STOP,
1709 [0x18] = KEY_FASTFORWARD,
1710 [0x14] = KEY_REWIND,
1711 [0x33] = KEY_ZOOM,
1712 [0x32] = KEY_KEYBOARD,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001713 [0x30] = KEY_GOTO, /* Pointing arrow */
1714 [0x36] = KEY_MACRO, /* Maximize/Minimize (yellow) */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001715 [0x0b] = KEY_RADIO,
1716 [0x10] = KEY_POWER,
Ricardo Cerqueira680543c2006-05-22 07:44:02 -03001717
1718};
Ricardo Cerqueira680543c2006-05-22 07:44:02 -03001719EXPORT_SYMBOL_GPL(ir_codes_npgtech);
Peter Naullsd1009bd2006-08-08 09:10:05 -03001720
1721/* Norwood Micro (non-Pro) TV Tuner
1722 By Peter Naulls <peter@chocky.org>
1723 Key comments are the functions given in the manual */
1724IR_KEYTAB_TYPE ir_codes_norwood[IR_KEYTAB_SIZE] = {
1725 /* Keys 0 to 9 */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001726 [0x20] = KEY_0,
1727 [0x21] = KEY_1,
1728 [0x22] = KEY_2,
1729 [0x23] = KEY_3,
1730 [0x24] = KEY_4,
1731 [0x25] = KEY_5,
1732 [0x26] = KEY_6,
1733 [0x27] = KEY_7,
1734 [0x28] = KEY_8,
1735 [0x29] = KEY_9,
Peter Naullsd1009bd2006-08-08 09:10:05 -03001736
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001737 [0x78] = KEY_TUNER, /* Video Source */
1738 [0x2c] = KEY_EXIT, /* Open/Close software */
1739 [0x2a] = KEY_SELECT, /* 2 Digit Select */
1740 [0x69] = KEY_AGAIN, /* Recall */
Peter Naullsd1009bd2006-08-08 09:10:05 -03001741
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001742 [0x32] = KEY_BRIGHTNESSUP, /* Brightness increase */
1743 [0x33] = KEY_BRIGHTNESSDOWN, /* Brightness decrease */
1744 [0x6b] = KEY_KPPLUS, /* (not named >>>>>) */
1745 [0x6c] = KEY_KPMINUS, /* (not named <<<<<) */
Peter Naullsd1009bd2006-08-08 09:10:05 -03001746
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001747 [0x2d] = KEY_MUTE, /* Mute */
1748 [0x30] = KEY_VOLUMEUP, /* Volume up */
1749 [0x31] = KEY_VOLUMEDOWN,/* Volume down */
1750 [0x60] = KEY_CHANNELUP, /* Channel up */
1751 [0x61] = KEY_CHANNELDOWN,/* Channel down */
Peter Naullsd1009bd2006-08-08 09:10:05 -03001752
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001753 [0x3f] = KEY_RECORD, /* Record */
1754 [0x37] = KEY_PLAY, /* Play */
1755 [0x36] = KEY_PAUSE, /* Pause */
1756 [0x2b] = KEY_STOP, /* Stop */
1757 [0x67] = KEY_FASTFORWARD,/* Foward */
1758 [0x66] = KEY_REWIND, /* Rewind */
1759 [0x3e] = KEY_SEARCH, /* Auto Scan */
1760 [0x2e] = KEY_CAMERA, /* Capture Video */
1761 [0x6d] = KEY_MENU, /* Show/Hide Control */
1762 [0x2f] = KEY_ZOOM, /* Full Screen */
1763 [0x34] = KEY_RADIO, /* FM */
1764 [0x65] = KEY_POWER, /* Computer power */
Peter Naullsd1009bd2006-08-08 09:10:05 -03001765};
Peter Naullsd1009bd2006-08-08 09:10:05 -03001766EXPORT_SYMBOL_GPL(ir_codes_norwood);
David Hardeman2520fff2006-12-02 21:16:05 -02001767
1768/* From reading the following remotes:
1769 * Zenith Universal 7 / TV Mode 807 / VCR Mode 837
1770 * Hauppauge (from NOVA-CI-s box product)
1771 * This is a "middle of the road" approach, differences are noted
1772 */
1773IR_KEYTAB_TYPE ir_codes_budget_ci_old[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001774 [0x00] = KEY_0,
1775 [0x01] = KEY_1,
1776 [0x02] = KEY_2,
1777 [0x03] = KEY_3,
1778 [0x04] = KEY_4,
1779 [0x05] = KEY_5,
1780 [0x06] = KEY_6,
1781 [0x07] = KEY_7,
1782 [0x08] = KEY_8,
1783 [0x09] = KEY_9,
1784 [0x0a] = KEY_ENTER,
1785 [0x0b] = KEY_RED,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001786 [0x0c] = KEY_POWER, /* RADIO on Hauppauge */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001787 [0x0d] = KEY_MUTE,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001788 [0x0f] = KEY_A, /* TV on Hauppauge */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001789 [0x10] = KEY_VOLUMEUP,
1790 [0x11] = KEY_VOLUMEDOWN,
1791 [0x14] = KEY_B,
1792 [0x1c] = KEY_UP,
1793 [0x1d] = KEY_DOWN,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001794 [0x1e] = KEY_OPTION, /* RESERVED on Hauppauge */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001795 [0x1f] = KEY_BREAK,
1796 [0x20] = KEY_CHANNELUP,
1797 [0x21] = KEY_CHANNELDOWN,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001798 [0x22] = KEY_PREVIOUS, /* Prev Ch on Zenith, SOURCE on Hauppauge */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001799 [0x24] = KEY_RESTART,
1800 [0x25] = KEY_OK,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001801 [0x26] = KEY_CYCLEWINDOWS, /* MINIMIZE on Hauppauge */
1802 [0x28] = KEY_ENTER, /* VCR mode on Zenith */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001803 [0x29] = KEY_PAUSE,
1804 [0x2b] = KEY_RIGHT,
1805 [0x2c] = KEY_LEFT,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001806 [0x2e] = KEY_MENU, /* FULL SCREEN on Hauppauge */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001807 [0x30] = KEY_SLOW,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001808 [0x31] = KEY_PREVIOUS, /* VCR mode on Zenith */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001809 [0x32] = KEY_REWIND,
1810 [0x34] = KEY_FASTFORWARD,
1811 [0x35] = KEY_PLAY,
1812 [0x36] = KEY_STOP,
1813 [0x37] = KEY_RECORD,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001814 [0x38] = KEY_TUNER, /* TV/VCR on Zenith */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001815 [0x3a] = KEY_C,
1816 [0x3c] = KEY_EXIT,
1817 [0x3d] = KEY_POWER2,
1818 [0x3e] = KEY_TUNER,
David Hardeman2520fff2006-12-02 21:16:05 -02001819};
David Hardeman2520fff2006-12-02 21:16:05 -02001820EXPORT_SYMBOL_GPL(ir_codes_budget_ci_old);
Hermann Pitton91607232006-12-07 21:45:28 -03001821
1822/*
1823 * Marc Fargas <telenieko@telenieko.com>
1824 * this is the remote control that comes with the asus p7131
1825 * which has a label saying is "Model PC-39"
1826 */
1827IR_KEYTAB_TYPE ir_codes_asus_pc39[IR_KEYTAB_SIZE] = {
1828 /* Keys 0 to 9 */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001829 [0x15] = KEY_0,
1830 [0x29] = KEY_1,
1831 [0x2d] = KEY_2,
1832 [0x2b] = KEY_3,
1833 [0x09] = KEY_4,
1834 [0x0d] = KEY_5,
1835 [0x0b] = KEY_6,
1836 [0x31] = KEY_7,
1837 [0x35] = KEY_8,
1838 [0x33] = KEY_9,
Hermann Pitton91607232006-12-07 21:45:28 -03001839
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001840 [0x3e] = KEY_RADIO, /* radio */
1841 [0x03] = KEY_MENU, /* dvd/menu */
1842 [0x2a] = KEY_VOLUMEUP,
1843 [0x19] = KEY_VOLUMEDOWN,
1844 [0x37] = KEY_UP,
1845 [0x3b] = KEY_DOWN,
1846 [0x27] = KEY_LEFT,
1847 [0x2f] = KEY_RIGHT,
1848 [0x25] = KEY_VIDEO, /* video */
1849 [0x39] = KEY_AUDIO, /* music */
Hermann Pitton91607232006-12-07 21:45:28 -03001850
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001851 [0x21] = KEY_TV, /* tv */
1852 [0x1d] = KEY_EXIT, /* back */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001853 [0x0a] = KEY_CHANNELUP, /* channel / program + */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001854 [0x1b] = KEY_CHANNELDOWN, /* channel / program - */
1855 [0x1a] = KEY_ENTER, /* enter */
Hermann Pitton91607232006-12-07 21:45:28 -03001856
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001857 [0x06] = KEY_PAUSE, /* play/pause */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001858 [0x1e] = KEY_PREVIOUS, /* rew */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001859 [0x26] = KEY_NEXT, /* forward */
1860 [0x0e] = KEY_REWIND, /* backward << */
1861 [0x3a] = KEY_FASTFORWARD, /* forward >> */
1862 [0x36] = KEY_STOP,
1863 [0x2e] = KEY_RECORD, /* recording */
1864 [0x16] = KEY_POWER, /* the button that reads "close" */
Hermann Pitton91607232006-12-07 21:45:28 -03001865
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001866 [0x11] = KEY_ZOOM, /* full screen */
1867 [0x13] = KEY_MACRO, /* recall */
1868 [0x23] = KEY_HOME, /* home */
1869 [0x05] = KEY_PVR, /* picture */
1870 [0x3d] = KEY_MUTE, /* mute */
1871 [0x01] = KEY_DVD, /* dvd */
Hermann Pitton91607232006-12-07 21:45:28 -03001872};
Hermann Pitton91607232006-12-07 21:45:28 -03001873EXPORT_SYMBOL_GPL(ir_codes_asus_pc39);
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001874
1875
1876/* Encore ENLTV-FM - black plastic, white front cover with white glowing buttons
1877 Juan Pablo Sormani <sorman@gmail.com> */
1878IR_KEYTAB_TYPE ir_codes_encore_enltv[IR_KEYTAB_SIZE] = {
1879
1880 /* Power button does nothing, neither in Windows app,
1881 although it sends data (used for BIOS wakeup?) */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001882 [0x0d] = KEY_MUTE,
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001883
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001884 [0x1e] = KEY_TV,
1885 [0x00] = KEY_VIDEO,
1886 [0x01] = KEY_AUDIO, /* music */
1887 [0x02] = KEY_MHP, /* picture */
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001888
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001889 [0x1f] = KEY_1,
1890 [0x03] = KEY_2,
1891 [0x04] = KEY_3,
1892 [0x05] = KEY_4,
1893 [0x1c] = KEY_5,
1894 [0x06] = KEY_6,
1895 [0x07] = KEY_7,
1896 [0x08] = KEY_8,
1897 [0x1d] = KEY_9,
1898 [0x0a] = KEY_0,
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001899
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001900 [0x09] = KEY_LIST, /* -/-- */
1901 [0x0b] = KEY_LAST, /* recall */
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001902
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001903 [0x14] = KEY_HOME, /* win start menu */
1904 [0x15] = KEY_EXIT, /* exit */
1905 [0x16] = KEY_UP,
1906 [0x12] = KEY_DOWN,
1907 [0x0c] = KEY_RIGHT,
1908 [0x17] = KEY_LEFT,
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001909
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001910 [0x18] = KEY_ENTER, /* OK */
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001911
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001912 [0x0e] = KEY_ESC,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001913 [0x13] = KEY_D, /* desktop */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001914 [0x11] = KEY_TAB,
1915 [0x19] = KEY_SWITCHVIDEOMODE, /* switch */
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001916
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001917 [0x1a] = KEY_MENU,
1918 [0x1b] = KEY_ZOOM, /* fullscreen */
1919 [0x44] = KEY_TIME, /* time shift */
1920 [0x40] = KEY_MODE, /* source */
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001921
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001922 [0x5a] = KEY_RECORD,
1923 [0x42] = KEY_PLAY, /* play/pause */
1924 [0x45] = KEY_STOP,
1925 [0x43] = KEY_CAMERA, /* camera icon */
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001926
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001927 [0x48] = KEY_REWIND,
1928 [0x4a] = KEY_FASTFORWARD,
1929 [0x49] = KEY_PREVIOUS,
1930 [0x4b] = KEY_NEXT,
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001931
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001932 [0x4c] = KEY_FAVORITES, /* tv wall */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001933 [0x4d] = KEY_SOUND, /* DVD sound */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001934 [0x4e] = KEY_LANGUAGE, /* DVD lang */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001935 [0x4f] = KEY_TEXT, /* DVD text */
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001936
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001937 [0x50] = KEY_SLEEP, /* shutdown */
1938 [0x51] = KEY_MODE, /* stereo > main */
1939 [0x52] = KEY_SELECT, /* stereo > sap */
1940 [0x53] = KEY_PROG1, /* teletext */
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001941
1942
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03001943 [0x59] = KEY_RED, /* AP1 */
1944 [0x41] = KEY_GREEN, /* AP2 */
1945 [0x47] = KEY_YELLOW, /* AP3 */
1946 [0x57] = KEY_BLUE, /* AP4 */
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001947};
Juan Pablo Sormanic36c4592006-12-27 12:46:36 -03001948EXPORT_SYMBOL_GPL(ir_codes_encore_enltv);
Ville-Pekka Vainioae1942c2007-01-12 14:06:21 -03001949
Mauro Carvalho Chehab7d341a62008-08-05 10:14:13 -03001950/* Encore ENLTV2-FM - silver plastic - "Wand Media" written at the botton
1951 Mauro Carvalho Chehab <mchehab@infradead.org> */
1952IR_KEYTAB_TYPE ir_codes_encore_enltv2[IR_KEYTAB_SIZE] = {
1953 [0x4c] = KEY_POWER2,
1954 [0x4a] = KEY_TUNER,
1955 [0x40] = KEY_1,
1956 [0x60] = KEY_2,
1957 [0x50] = KEY_3,
1958 [0x70] = KEY_4,
1959 [0x48] = KEY_5,
1960 [0x68] = KEY_6,
1961 [0x58] = KEY_7,
1962 [0x78] = KEY_8,
1963 [0x44] = KEY_9,
1964 [0x54] = KEY_0,
1965
1966 [0x64] = KEY_LAST, /* +100 */
1967 [0x4e] = KEY_AGAIN, /* Recall */
1968
1969 [0x6c] = KEY_SWITCHVIDEOMODE, /* Video Source */
1970 [0x5e] = KEY_MENU,
1971 [0x56] = KEY_SCREEN,
1972 [0x7a] = KEY_SETUP,
1973
1974 [0x46] = KEY_MUTE,
1975 [0x5c] = KEY_MODE, /* Stereo */
1976 [0x74] = KEY_INFO,
1977 [0x7c] = KEY_CLEAR,
1978
1979 [0x55] = KEY_UP,
1980 [0x49] = KEY_DOWN,
1981 [0x7e] = KEY_LEFT,
1982 [0x59] = KEY_RIGHT,
1983 [0x6a] = KEY_ENTER,
1984
1985 [0x42] = KEY_VOLUMEUP,
1986 [0x62] = KEY_VOLUMEDOWN,
1987 [0x52] = KEY_CHANNELUP,
1988 [0x72] = KEY_CHANNELDOWN,
1989
1990 [0x41] = KEY_RECORD,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03001991 [0x51] = KEY_SHUFFLE, /* Snapshot */
1992 [0x75] = KEY_TIME, /* Timeshift */
1993 [0x71] = KEY_TV2, /* PIP */
Mauro Carvalho Chehab7d341a62008-08-05 10:14:13 -03001994
1995 [0x45] = KEY_REWIND,
1996 [0x6f] = KEY_PAUSE,
1997 [0x7d] = KEY_FORWARD,
1998 [0x79] = KEY_STOP,
1999};
2000EXPORT_SYMBOL_GPL(ir_codes_encore_enltv2);
2001
Ville-Pekka Vainio28aedb82007-04-14 15:38:23 -03002002/* for the Technotrend 1500 bundled remotes (grey and black): */
Ville-Pekka Vainioae1942c2007-01-12 14:06:21 -03002003IR_KEYTAB_TYPE ir_codes_tt_1500[IR_KEYTAB_SIZE] = {
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002004 [0x01] = KEY_POWER,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002005 [0x02] = KEY_SHUFFLE, /* ? double-arrow key */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002006 [0x03] = KEY_1,
2007 [0x04] = KEY_2,
2008 [0x05] = KEY_3,
2009 [0x06] = KEY_4,
2010 [0x07] = KEY_5,
2011 [0x08] = KEY_6,
2012 [0x09] = KEY_7,
2013 [0x0a] = KEY_8,
2014 [0x0b] = KEY_9,
2015 [0x0c] = KEY_0,
2016 [0x0d] = KEY_UP,
2017 [0x0e] = KEY_LEFT,
2018 [0x0f] = KEY_OK,
2019 [0x10] = KEY_RIGHT,
2020 [0x11] = KEY_DOWN,
2021 [0x12] = KEY_INFO,
2022 [0x13] = KEY_EXIT,
2023 [0x14] = KEY_RED,
2024 [0x15] = KEY_GREEN,
2025 [0x16] = KEY_YELLOW,
2026 [0x17] = KEY_BLUE,
2027 [0x18] = KEY_MUTE,
2028 [0x19] = KEY_TEXT,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002029 [0x1a] = KEY_MODE, /* ? TV/Radio */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002030 [0x21] = KEY_OPTION,
2031 [0x22] = KEY_EPG,
2032 [0x23] = KEY_CHANNELUP,
2033 [0x24] = KEY_CHANNELDOWN,
2034 [0x25] = KEY_VOLUMEUP,
2035 [0x26] = KEY_VOLUMEDOWN,
2036 [0x27] = KEY_SETUP,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002037 [0x3a] = KEY_RECORD, /* these keys are only in the black remote */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002038 [0x3b] = KEY_PLAY,
2039 [0x3c] = KEY_STOP,
2040 [0x3d] = KEY_REWIND,
2041 [0x3e] = KEY_PAUSE,
2042 [0x3f] = KEY_FORWARD,
Ville-Pekka Vainioae1942c2007-01-12 14:06:21 -03002043};
Ville-Pekka Vainioae1942c2007-01-12 14:06:21 -03002044EXPORT_SYMBOL_GPL(ir_codes_tt_1500);
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002045
Michael Krufky3c443582007-08-24 01:07:12 -03002046/* DViCO FUSION HDTV MCE remote */
2047IR_KEYTAB_TYPE ir_codes_fusionhdtv_mce[IR_KEYTAB_SIZE] = {
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002048
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002049 [0x0b] = KEY_1,
2050 [0x17] = KEY_2,
2051 [0x1b] = KEY_3,
2052 [0x07] = KEY_4,
2053 [0x50] = KEY_5,
2054 [0x54] = KEY_6,
2055 [0x48] = KEY_7,
2056 [0x4c] = KEY_8,
2057 [0x58] = KEY_9,
2058 [0x03] = KEY_0,
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002059
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002060 [0x5e] = KEY_OK,
2061 [0x51] = KEY_UP,
2062 [0x53] = KEY_DOWN,
2063 [0x5b] = KEY_LEFT,
2064 [0x5f] = KEY_RIGHT,
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002065
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002066 [0x02] = KEY_TV, /* Labeled DTV on remote */
2067 [0x0e] = KEY_MP3,
2068 [0x1a] = KEY_DVD,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002069 [0x1e] = KEY_FAVORITES, /* Labeled CPF on remote */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002070 [0x16] = KEY_SETUP,
2071 [0x46] = KEY_POWER2, /* TV On/Off button on remote */
2072 [0x0a] = KEY_EPG, /* Labeled Guide on remote */
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002073
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002074 [0x49] = KEY_BACK,
2075 [0x59] = KEY_INFO, /* Labeled MORE on remote */
2076 [0x4d] = KEY_MENU, /* Labeled DVDMENU on remote */
2077 [0x55] = KEY_CYCLEWINDOWS, /* Labeled ALT-TAB on remote */
Michael Krufky3c443582007-08-24 01:07:12 -03002078
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002079 [0x0f] = KEY_PREVIOUSSONG, /* Labeled |<< REPLAY on remote */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002080 [0x12] = KEY_NEXTSONG, /* Labeled >>| SKIP on remote */
2081 [0x42] = KEY_ENTER, /* Labeled START with a green
2082 MS windows logo on remote */
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002083
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002084 [0x15] = KEY_VOLUMEUP,
2085 [0x05] = KEY_VOLUMEDOWN,
2086 [0x11] = KEY_CHANNELUP,
2087 [0x09] = KEY_CHANNELDOWN,
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002088
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002089 [0x52] = KEY_CAMERA,
2090 [0x5a] = KEY_TUNER,
2091 [0x19] = KEY_OPEN,
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002092
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002093 [0x13] = KEY_MODE, /* 4:3 16:9 select */
2094 [0x1f] = KEY_ZOOM,
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002095
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002096 [0x43] = KEY_REWIND,
2097 [0x47] = KEY_PLAYPAUSE,
2098 [0x4f] = KEY_FASTFORWARD,
2099 [0x57] = KEY_MUTE,
2100 [0x0d] = KEY_STOP,
2101 [0x01] = KEY_RECORD,
2102 [0x4e] = KEY_POWER,
Chaogui Zhangd54d6982007-08-24 01:02:32 -03002103};
Michael Krufky3c443582007-08-24 01:07:12 -03002104EXPORT_SYMBOL_GPL(ir_codes_fusionhdtv_mce);
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002105
Steven Toth91211062008-01-22 01:00:33 -03002106/* Pinnacle PCTV HD 800i mini remote */
2107IR_KEYTAB_TYPE ir_codes_pinnacle_pctv_hd[IR_KEYTAB_SIZE] = {
2108
2109 [0x0f] = KEY_1,
2110 [0x15] = KEY_2,
2111 [0x10] = KEY_3,
2112 [0x18] = KEY_4,
2113 [0x1b] = KEY_5,
2114 [0x1e] = KEY_6,
2115 [0x11] = KEY_7,
2116 [0x21] = KEY_8,
2117 [0x12] = KEY_9,
2118 [0x27] = KEY_0,
2119
2120 [0x24] = KEY_ZOOM,
2121 [0x2a] = KEY_SUBTITLE,
2122
2123 [0x00] = KEY_MUTE,
2124 [0x01] = KEY_ENTER, /* Pinnacle Logo */
2125 [0x39] = KEY_POWER,
2126
2127 [0x03] = KEY_VOLUMEUP,
2128 [0x09] = KEY_VOLUMEDOWN,
2129 [0x06] = KEY_CHANNELUP,
2130 [0x0c] = KEY_CHANNELDOWN,
2131
2132 [0x2d] = KEY_REWIND,
2133 [0x30] = KEY_PLAYPAUSE,
2134 [0x33] = KEY_FASTFORWARD,
2135 [0x3c] = KEY_STOP,
2136 [0x36] = KEY_RECORD,
2137 [0x3f] = KEY_EPG, /* Labeled "?" */
2138};
2139EXPORT_SYMBOL_GPL(ir_codes_pinnacle_pctv_hd);
2140
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002141/*
2142 * Igor Kuznetsov <igk72@ya.ru>
2143 * Andrey J. Melnikov <temnota@kmv.ru>
2144 *
2145 * Keytable is used by BeholdTV 60x series, M6 series at
2146 * least, and probably other cards too.
2147 * The "ascii-art picture" below (in comments, first row
2148 * is the keycode in hex, and subsequent row(s) shows
2149 * the button labels (several variants when appropriate)
2150 * helps to descide which keycodes to assign to the buttons.
2151 */
2152IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE] = {
2153
2154 /* 0x1c 0x12 *
2155 * TV/FM POWER *
2156 * */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002157 [0x1c] = KEY_TUNER, /* XXX KEY_TV / KEY_RADIO */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002158 [0x12] = KEY_POWER,
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002159
2160 /* 0x01 0x02 0x03 *
2161 * 1 2 3 *
2162 * *
2163 * 0x04 0x05 0x06 *
2164 * 4 5 6 *
2165 * *
2166 * 0x07 0x08 0x09 *
2167 * 7 8 9 *
2168 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002169 [0x01] = KEY_1,
2170 [0x02] = KEY_2,
2171 [0x03] = KEY_3,
2172 [0x04] = KEY_4,
2173 [0x05] = KEY_5,
2174 [0x06] = KEY_6,
2175 [0x07] = KEY_7,
2176 [0x08] = KEY_8,
2177 [0x09] = KEY_9,
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002178
2179 /* 0x0a 0x00 0x17 *
2180 * RECALL 0 MODE *
2181 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002182 [0x0a] = KEY_AGAIN,
2183 [0x00] = KEY_0,
2184 [0x17] = KEY_MODE,
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002185
2186 /* 0x14 0x10 *
2187 * ASPECT FULLSCREEN *
2188 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002189 [0x14] = KEY_SCREEN,
2190 [0x10] = KEY_ZOOM,
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002191
2192 /* 0x0b *
2193 * Up *
2194 * *
2195 * 0x18 0x16 0x0c *
2196 * Left Ok Right *
2197 * *
2198 * 0x015 *
2199 * Down *
2200 * */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002201 [0x0b] = KEY_CHANNELUP, /* XXX KEY_UP */
2202 [0x18] = KEY_VOLUMEDOWN, /* XXX KEY_LEFT */
2203 [0x16] = KEY_OK, /* XXX KEY_ENTER */
2204 [0x0c] = KEY_VOLUMEUP, /* XXX KEY_RIGHT */
2205 [0x15] = KEY_CHANNELDOWN, /* XXX KEY_DOWN */
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002206
2207 /* 0x11 0x0d *
2208 * MUTE INFO *
2209 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002210 [0x11] = KEY_MUTE,
2211 [0x0d] = KEY_INFO,
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002212
2213 /* 0x0f 0x1b 0x1a *
2214 * RECORD PLAY/PAUSE STOP *
2215 * *
2216 * 0x0e 0x1f 0x1e *
2217 *TELETEXT AUDIO SOURCE *
2218 * RED YELLOW *
2219 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002220 [0x0f] = KEY_RECORD,
2221 [0x1b] = KEY_PLAYPAUSE,
2222 [0x1a] = KEY_STOP,
2223 [0x0e] = KEY_TEXT,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002224 [0x1f] = KEY_RED, /*XXX KEY_AUDIO */
2225 [0x1e] = KEY_YELLOW, /*XXX KEY_SOURCE */
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002226
2227 /* 0x1d 0x13 0x19 *
2228 * SLEEP PREVIEW DVB *
2229 * GREEN BLUE *
2230 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002231 [0x1d] = KEY_SLEEP,
2232 [0x13] = KEY_GREEN,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002233 [0x19] = KEY_BLUE, /* XXX KEY_SAT */
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002234
2235 /* 0x58 0x5c *
2236 * FREEZE SNAPSHOT *
2237 * */
Mauro Carvalho Chehab3b82bdd2009-08-27 09:31:30 -03002238 [0x58] = KEY_SLOW,
2239 [0x5c] = KEY_SAVE,
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002240
2241};
Andrey J. Melnikoff (TEMHOTA)e8018c92008-01-07 05:17:39 -03002242EXPORT_SYMBOL_GPL(ir_codes_behold);
Adrian Pardinif0ba3562008-02-11 12:40:53 -03002243
Dmitry Belimovb34dddb2008-04-23 14:09:08 -03002244/* Beholder Intl. Ltd. 2008
2245 * Dmitry Belimov d.belimov@google.com
2246 * Keytable is used by BeholdTV Columbus
2247 * The "ascii-art picture" below (in comments, first row
2248 * is the keycode in hex, and subsequent row(s) shows
2249 * the button labels (several variants when appropriate)
2250 * helps to descide which keycodes to assign to the buttons.
2251 */
2252IR_KEYTAB_TYPE ir_codes_behold_columbus[IR_KEYTAB_SIZE] = {
2253
2254 /* 0x13 0x11 0x1C 0x12 *
2255 * Mute Source TV/FM Power *
2256 * */
2257
2258 [0x13] = KEY_MUTE,
2259 [0x11] = KEY_PROPS,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002260 [0x1C] = KEY_TUNER, /* KEY_TV/KEY_RADIO */
Dmitry Belimovb34dddb2008-04-23 14:09:08 -03002261 [0x12] = KEY_POWER,
2262
2263 /* 0x01 0x02 0x03 0x0D *
2264 * 1 2 3 Stereo *
2265 * *
2266 * 0x04 0x05 0x06 0x19 *
2267 * 4 5 6 Snapshot *
2268 * *
2269 * 0x07 0x08 0x09 0x10 *
2270 * 7 8 9 Zoom *
2271 * */
2272 [0x01] = KEY_1,
2273 [0x02] = KEY_2,
2274 [0x03] = KEY_3,
2275 [0x0D] = KEY_SETUP, /* Setup key */
2276 [0x04] = KEY_4,
2277 [0x05] = KEY_5,
2278 [0x06] = KEY_6,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002279 [0x19] = KEY_BOOKMARKS, /* Snapshot key */
Dmitry Belimovb34dddb2008-04-23 14:09:08 -03002280 [0x07] = KEY_7,
2281 [0x08] = KEY_8,
2282 [0x09] = KEY_9,
2283 [0x10] = KEY_ZOOM,
2284
2285 /* 0x0A 0x00 0x0B 0x0C *
2286 * RECALL 0 ChannelUp VolumeUp *
2287 * */
2288 [0x0A] = KEY_AGAIN,
2289 [0x00] = KEY_0,
2290 [0x0B] = KEY_CHANNELUP,
2291 [0x0C] = KEY_VOLUMEUP,
2292
2293 /* 0x1B 0x1D 0x15 0x18 *
2294 * Timeshift Record ChannelDown VolumeDown *
2295 * */
2296
2297 [0x1B] = KEY_REWIND,
2298 [0x1D] = KEY_RECORD,
2299 [0x15] = KEY_CHANNELDOWN,
2300 [0x18] = KEY_VOLUMEDOWN,
2301
2302 /* 0x0E 0x1E 0x0F 0x1A *
2303 * Stop Pause Previouse Next *
2304 * */
2305
2306 [0x0E] = KEY_STOP,
2307 [0x1E] = KEY_PAUSE,
2308 [0x0F] = KEY_PREVIOUS,
2309 [0x1A] = KEY_NEXT,
2310
2311};
2312EXPORT_SYMBOL_GPL(ir_codes_behold_columbus);
2313
Adrian Pardinif0ba3562008-02-11 12:40:53 -03002314/*
2315 * Remote control for the Genius TVGO A11MCE
2316 * Adrian Pardini <pardo.bsso@gmail.com>
2317 */
2318IR_KEYTAB_TYPE ir_codes_genius_tvgo_a11mce[IR_KEYTAB_SIZE] = {
2319 /* Keys 0 to 9 */
2320 [0x48] = KEY_0,
2321 [0x09] = KEY_1,
2322 [0x1d] = KEY_2,
2323 [0x1f] = KEY_3,
2324 [0x19] = KEY_4,
2325 [0x1b] = KEY_5,
2326 [0x11] = KEY_6,
2327 [0x17] = KEY_7,
2328 [0x12] = KEY_8,
2329 [0x16] = KEY_9,
2330
2331 [0x54] = KEY_RECORD, /* recording */
2332 [0x06] = KEY_MUTE, /* mute */
2333 [0x10] = KEY_POWER,
2334 [0x40] = KEY_LAST, /* recall */
2335 [0x4c] = KEY_CHANNELUP, /* channel / program + */
2336 [0x00] = KEY_CHANNELDOWN, /* channel / program - */
2337 [0x0d] = KEY_VOLUMEUP,
2338 [0x15] = KEY_VOLUMEDOWN,
2339 [0x4d] = KEY_OK, /* also labeled as Pause */
2340 [0x1c] = KEY_ZOOM, /* full screen and Stop*/
2341 [0x02] = KEY_MODE, /* AV Source or Rewind*/
2342 [0x04] = KEY_LIST, /* -/-- */
2343 /* small arrows above numbers */
2344 [0x1a] = KEY_NEXT, /* also Fast Forward */
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002345 [0x0e] = KEY_PREVIOUS, /* also Rewind */
Adrian Pardinif0ba3562008-02-11 12:40:53 -03002346 /* these are in a rather non standard layout and have
2347 an alternate name written */
2348 [0x1e] = KEY_UP, /* Video Setting */
2349 [0x0a] = KEY_DOWN, /* Video Default */
2350 [0x05] = KEY_LEFT, /* Snapshot */
2351 [0x0c] = KEY_RIGHT, /* Hide Panel */
2352 /* Four buttons without label */
2353 [0x49] = KEY_RED,
2354 [0x0b] = KEY_GREEN,
2355 [0x13] = KEY_YELLOW,
2356 [0x50] = KEY_BLUE,
2357};
2358EXPORT_SYMBOL_GPL(ir_codes_genius_tvgo_a11mce);
Dâniel Fragaba928032008-04-08 19:56:44 -03002359
2360/*
2361 * Remote control for Powercolor Real Angel 330
2362 * Daniel Fraga <fragabr@gmail.com>
2363 */
2364IR_KEYTAB_TYPE ir_codes_powercolor_real_angel[IR_KEYTAB_SIZE] = {
2365 [0x38] = KEY_SWITCHVIDEOMODE, /* switch inputs */
2366 [0x0c] = KEY_MEDIA, /* Turn ON/OFF App */
2367 [0x00] = KEY_0,
2368 [0x01] = KEY_1,
2369 [0x02] = KEY_2,
2370 [0x03] = KEY_3,
2371 [0x04] = KEY_4,
2372 [0x05] = KEY_5,
2373 [0x06] = KEY_6,
2374 [0x07] = KEY_7,
2375 [0x08] = KEY_8,
2376 [0x09] = KEY_9,
2377 [0x0a] = KEY_DIGITS, /* single, double, tripple digit */
2378 [0x29] = KEY_PREVIOUS, /* previous channel */
2379 [0x12] = KEY_BRIGHTNESSUP,
2380 [0x13] = KEY_BRIGHTNESSDOWN,
2381 [0x2b] = KEY_MODE, /* stereo/mono */
2382 [0x2c] = KEY_TEXT, /* teletext */
2383 [0x20] = KEY_UP, /* channel up */
2384 [0x21] = KEY_DOWN, /* channel down */
2385 [0x10] = KEY_RIGHT, /* volume up */
2386 [0x11] = KEY_LEFT, /* volume down */
2387 [0x0d] = KEY_MUTE,
2388 [0x1f] = KEY_RECORD,
2389 [0x17] = KEY_PLAY,
2390 [0x16] = KEY_PAUSE,
2391 [0x0b] = KEY_STOP,
2392 [0x27] = KEY_FASTFORWARD,
2393 [0x26] = KEY_REWIND,
2394 [0x1e] = KEY_SEARCH, /* autoscan */
2395 [0x0e] = KEY_SHUFFLE, /* snapshot */
2396 [0x2d] = KEY_SETUP,
2397 [0x0f] = KEY_SCREEN, /* full screen */
2398 [0x14] = KEY_RADIO, /* FM radio */
2399 [0x25] = KEY_POWER, /* power */
2400};
2401EXPORT_SYMBOL_GPL(ir_codes_powercolor_real_angel);
Tim Farrington6e501a32008-06-15 13:33:42 -03002402
Mauro Carvalho Chehab26d5f3a2008-12-07 13:19:29 -03002403/* Kworld Plus TV Analog Lite PCI IR
2404 Mauro Carvalho Chehab <mchehab@infradead.org>
2405 */
2406IR_KEYTAB_TYPE ir_codes_kworld_plus_tv_analog[IR_KEYTAB_SIZE] = {
2407 [0x0c] = KEY_PROG1, /* Kworld key */
2408 [0x16] = KEY_CLOSECD, /* -> ) */
2409 [0x1d] = KEY_POWER2,
2410
2411 [0x00] = KEY_1,
2412 [0x01] = KEY_2,
2413 [0x02] = KEY_3, /* Two keys have the same code: 3 and left */
2414 [0x03] = KEY_4, /* Two keys have the same code: 3 and right */
2415 [0x04] = KEY_5,
2416 [0x05] = KEY_6,
2417 [0x06] = KEY_7,
2418 [0x07] = KEY_8,
2419 [0x08] = KEY_9,
2420 [0x0a] = KEY_0,
2421
2422 [0x09] = KEY_AGAIN,
2423 [0x14] = KEY_MUTE,
2424
2425 [0x20] = KEY_UP,
2426 [0x21] = KEY_DOWN,
2427 [0x0b] = KEY_ENTER,
2428
2429 [0x10] = KEY_CHANNELUP,
2430 [0x11] = KEY_CHANNELDOWN,
2431
2432 /* Couldn't map key left/key right since those
2433 conflict with '3' and '4' scancodes
2434 I dunno what the original driver does
2435 */
2436
2437 [0x13] = KEY_VOLUMEUP,
2438 [0x12] = KEY_VOLUMEDOWN,
2439
2440 /* The lower part of the IR
2441 There are several duplicated keycodes there.
2442 Most of them conflict with digits.
2443 Add mappings just to the unused scancodes.
2444 Somehow, the original driver has a way to know,
2445 but this doesn't seem to be on some GPIO.
2446 Also, it is not related to the time between keyup
2447 and keydown.
2448 */
2449 [0x19] = KEY_PAUSE, /* Timeshift */
2450 [0x1a] = KEY_STOP,
2451 [0x1b] = KEY_RECORD,
2452
2453 [0x22] = KEY_TEXT,
2454
2455 [0x15] = KEY_AUDIO, /* ((*)) */
2456 [0x0f] = KEY_ZOOM,
2457 [0x1c] = KEY_SHUFFLE, /* snapshot */
2458
2459 [0x18] = KEY_RED, /* B */
2460 [0x23] = KEY_GREEN, /* C */
2461};
2462EXPORT_SYMBOL_GPL(ir_codes_kworld_plus_tv_analog);
2463
Mauro Carvalho Chehab9fc2c5e2009-02-11 14:15:14 -03002464/* Kaiomy TVnPC U2
2465 Mauro Carvalho Chehab <mchehab@infradead.org>
2466 */
2467IR_KEYTAB_TYPE ir_codes_kaiomy[IR_KEYTAB_SIZE] = {
2468 [0x43] = KEY_POWER2,
2469 [0x01] = KEY_LIST,
2470 [0x0b] = KEY_ZOOM,
2471 [0x03] = KEY_POWER,
2472
2473 [0x04] = KEY_1,
2474 [0x08] = KEY_2,
2475 [0x02] = KEY_3,
2476
2477 [0x0f] = KEY_4,
2478 [0x05] = KEY_5,
2479 [0x06] = KEY_6,
2480
2481 [0x0c] = KEY_7,
2482 [0x0d] = KEY_8,
2483 [0x0a] = KEY_9,
2484
2485 [0x11] = KEY_0,
2486
2487 [0x09] = KEY_CHANNELUP,
2488 [0x07] = KEY_CHANNELDOWN,
2489
2490 [0x0e] = KEY_VOLUMEUP,
2491 [0x13] = KEY_VOLUMEDOWN,
2492
2493 [0x10] = KEY_HOME,
2494 [0x12] = KEY_ENTER,
2495
2496 [0x14] = KEY_RECORD,
2497 [0x15] = KEY_STOP,
2498 [0x16] = KEY_PLAY,
2499 [0x17] = KEY_MUTE,
2500
2501 [0x18] = KEY_UP,
2502 [0x19] = KEY_DOWN,
2503 [0x1a] = KEY_LEFT,
2504 [0x1b] = KEY_RIGHT,
2505
2506 [0x1c] = KEY_RED,
2507 [0x1d] = KEY_GREEN,
2508 [0x1e] = KEY_YELLOW,
2509 [0x1f] = KEY_BLUE,
2510};
2511EXPORT_SYMBOL_GPL(ir_codes_kaiomy);
2512
Tim Farrington6e501a32008-06-15 13:33:42 -03002513IR_KEYTAB_TYPE ir_codes_avermedia_a16d[IR_KEYTAB_SIZE] = {
2514 [0x20] = KEY_LIST,
2515 [0x00] = KEY_POWER,
2516 [0x28] = KEY_1,
2517 [0x18] = KEY_2,
2518 [0x38] = KEY_3,
2519 [0x24] = KEY_4,
2520 [0x14] = KEY_5,
2521 [0x34] = KEY_6,
2522 [0x2c] = KEY_7,
2523 [0x1c] = KEY_8,
2524 [0x3c] = KEY_9,
2525 [0x12] = KEY_SUBTITLE,
2526 [0x22] = KEY_0,
2527 [0x32] = KEY_REWIND,
2528 [0x3a] = KEY_SHUFFLE,
2529 [0x02] = KEY_PRINT,
2530 [0x11] = KEY_CHANNELDOWN,
2531 [0x31] = KEY_CHANNELUP,
2532 [0x0c] = KEY_ZOOM,
2533 [0x1e] = KEY_VOLUMEDOWN,
2534 [0x3e] = KEY_VOLUMEUP,
2535 [0x0a] = KEY_MUTE,
2536 [0x04] = KEY_AUDIO,
2537 [0x26] = KEY_RECORD,
2538 [0x06] = KEY_PLAY,
2539 [0x36] = KEY_STOP,
2540 [0x16] = KEY_PAUSE,
2541 [0x2e] = KEY_REWIND,
2542 [0x0e] = KEY_FASTFORWARD,
2543 [0x30] = KEY_TEXT,
2544 [0x21] = KEY_GREEN,
2545 [0x01] = KEY_BLUE,
2546 [0x08] = KEY_EPG,
2547 [0x2a] = KEY_MENU,
2548};
2549EXPORT_SYMBOL_GPL(ir_codes_avermedia_a16d);
Mauro Carvalho Chehabbf1ece62008-06-26 17:03:00 -03002550
2551/* Encore ENLTV-FM v5.3
2552 Mauro Carvalho Chehab <mchehab@infradead.org>
2553 */
2554IR_KEYTAB_TYPE ir_codes_encore_enltv_fm53[IR_KEYTAB_SIZE] = {
2555 [0x10] = KEY_POWER2,
2556 [0x06] = KEY_MUTE,
2557
2558 [0x09] = KEY_1,
2559 [0x1d] = KEY_2,
2560 [0x1f] = KEY_3,
2561 [0x19] = KEY_4,
2562 [0x1b] = KEY_5,
2563 [0x11] = KEY_6,
2564 [0x17] = KEY_7,
2565 [0x12] = KEY_8,
2566 [0x16] = KEY_9,
2567 [0x48] = KEY_0,
2568
2569 [0x04] = KEY_LIST, /* -/-- */
2570 [0x40] = KEY_LAST, /* recall */
2571
2572 [0x02] = KEY_MODE, /* TV/AV */
2573 [0x05] = KEY_SHUFFLE, /* SNAPSHOT */
2574
2575 [0x4c] = KEY_CHANNELUP, /* UP */
2576 [0x00] = KEY_CHANNELDOWN, /* DOWN */
2577 [0x0d] = KEY_VOLUMEUP, /* RIGHT */
2578 [0x15] = KEY_VOLUMEDOWN, /* LEFT */
2579 [0x49] = KEY_ENTER, /* OK */
2580
2581 [0x54] = KEY_RECORD,
2582 [0x4d] = KEY_PLAY, /* pause */
2583
2584 [0x1e] = KEY_UP, /* video setting */
2585 [0x0e] = KEY_RIGHT, /* <- */
2586 [0x1a] = KEY_LEFT, /* -> */
2587
2588 [0x0a] = KEY_DOWN, /* video default */
2589 [0x0c] = KEY_ZOOM, /* hide pannel */
2590 [0x47] = KEY_SLEEP, /* shutdown */
2591};
2592EXPORT_SYMBOL_GPL(ir_codes_encore_enltv_fm53);
Mauro Carvalho Chehab9b000192008-06-26 17:03:00 -03002593
2594/* Zogis Real Audio 220 - 32 keys IR */
2595IR_KEYTAB_TYPE ir_codes_real_audio_220_32_keys[IR_KEYTAB_SIZE] = {
2596 [0x1c] = KEY_RADIO,
2597 [0x12] = KEY_POWER2,
2598
2599 [0x01] = KEY_1,
2600 [0x02] = KEY_2,
2601 [0x03] = KEY_3,
2602 [0x04] = KEY_4,
2603 [0x05] = KEY_5,
2604 [0x06] = KEY_6,
2605 [0x07] = KEY_7,
2606 [0x08] = KEY_8,
2607 [0x09] = KEY_9,
2608 [0x00] = KEY_0,
2609
2610 [0x0c] = KEY_VOLUMEUP,
2611 [0x18] = KEY_VOLUMEDOWN,
2612 [0x0b] = KEY_CHANNELUP,
2613 [0x15] = KEY_CHANNELDOWN,
2614 [0x16] = KEY_ENTER,
2615
2616 [0x11] = KEY_LIST, /* Source */
2617 [0x0d] = KEY_AUDIO, /* stereo */
2618
2619 [0x0f] = KEY_PREVIOUS, /* Prev */
2620 [0x1b] = KEY_PAUSE, /* Timeshift */
2621 [0x1a] = KEY_NEXT, /* Next */
2622
2623 [0x0e] = KEY_STOP,
2624 [0x1f] = KEY_PLAY,
2625 [0x1e] = KEY_PLAYPAUSE, /* Pause */
2626
2627 [0x1d] = KEY_RECORD,
2628 [0x13] = KEY_MUTE,
2629 [0x19] = KEY_SHUFFLE, /* Snapshot */
2630
2631};
2632EXPORT_SYMBOL_GPL(ir_codes_real_audio_220_32_keys);
Devin Heitmueller60245e82008-11-16 08:03:53 -03002633
2634/* ATI TV Wonder HD 600 USB
2635 Devin Heitmueller <devin.heitmueller@gmail.com>
2636 */
2637IR_KEYTAB_TYPE ir_codes_ati_tv_wonder_hd_600[IR_KEYTAB_SIZE] = {
2638 [0x00] = KEY_RECORD, /* Row 1 */
2639 [0x01] = KEY_PLAYPAUSE,
2640 [0x02] = KEY_STOP,
2641 [0x03] = KEY_POWER,
2642 [0x04] = KEY_PREVIOUS, /* Row 2 */
2643 [0x05] = KEY_REWIND,
2644 [0x06] = KEY_FORWARD,
2645 [0x07] = KEY_NEXT,
2646 [0x08] = KEY_EPG, /* Row 3 */
2647 [0x09] = KEY_HOME,
2648 [0x0a] = KEY_MENU,
2649 [0x0b] = KEY_CHANNELUP,
2650 [0x0c] = KEY_BACK, /* Row 4 */
2651 [0x0d] = KEY_UP,
2652 [0x0e] = KEY_INFO,
2653 [0x0f] = KEY_CHANNELDOWN,
2654 [0x10] = KEY_LEFT, /* Row 5 */
2655 [0x11] = KEY_SELECT,
2656 [0x12] = KEY_RIGHT,
2657 [0x13] = KEY_VOLUMEUP,
2658 [0x14] = KEY_LAST, /* Row 6 */
2659 [0x15] = KEY_DOWN,
2660 [0x16] = KEY_MUTE,
2661 [0x17] = KEY_VOLUMEDOWN,
2662};
Devin Heitmueller60245e82008-11-16 08:03:53 -03002663EXPORT_SYMBOL_GPL(ir_codes_ati_tv_wonder_hd_600);
Igor M. Liplianinb72857d2009-02-26 03:49:44 -03002664
2665/* DVBWorld remotes
2666 Igor M. Liplianin <liplianin@me.by>
2667 */
2668IR_KEYTAB_TYPE ir_codes_dm1105_nec[IR_KEYTAB_SIZE] = {
2669 [0x0a] = KEY_Q, /*power*/
2670 [0x0c] = KEY_M, /*mute*/
2671 [0x11] = KEY_1,
2672 [0x12] = KEY_2,
2673 [0x13] = KEY_3,
2674 [0x14] = KEY_4,
2675 [0x15] = KEY_5,
2676 [0x16] = KEY_6,
2677 [0x17] = KEY_7,
2678 [0x18] = KEY_8,
2679 [0x19] = KEY_9,
2680 [0x10] = KEY_0,
2681 [0x1c] = KEY_PAGEUP, /*ch+*/
2682 [0x0f] = KEY_PAGEDOWN, /*ch-*/
2683 [0x1a] = KEY_O, /*vol+*/
2684 [0x0e] = KEY_Z, /*vol-*/
2685 [0x04] = KEY_R, /*rec*/
2686 [0x09] = KEY_D, /*fav*/
2687 [0x08] = KEY_BACKSPACE, /*rewind*/
2688 [0x07] = KEY_A, /*fast*/
2689 [0x0b] = KEY_P, /*pause*/
2690 [0x02] = KEY_ESC, /*cancel*/
2691 [0x03] = KEY_G, /*tab*/
2692 [0x00] = KEY_UP, /*up*/
2693 [0x1f] = KEY_ENTER, /*ok*/
2694 [0x01] = KEY_DOWN, /*down*/
2695 [0x05] = KEY_C, /*cap*/
2696 [0x06] = KEY_S, /*stop*/
2697 [0x40] = KEY_F, /*full*/
2698 [0x1e] = KEY_W, /*tvmode*/
2699 [0x1b] = KEY_B, /*recall*/
2700};
2701EXPORT_SYMBOL_GPL(ir_codes_dm1105_nec);
Devin Heitmuellera4c47302009-06-20 21:34:42 -03002702
Devin Heitmueller8cd9aae2009-08-03 23:56:51 -03002703
2704/* Terratec Cinergy Hybrid T USB XS
2705 Devin Heitmueller <dheitmueller@linuxtv.org>
2706 */
2707IR_KEYTAB_TYPE ir_codes_terratec_cinergy_xs[IR_KEYTAB_SIZE] = {
2708 [0x41] = KEY_HOME,
2709 [0x01] = KEY_POWER,
2710 [0x42] = KEY_MENU,
2711 [0x02] = KEY_1,
2712 [0x03] = KEY_2,
2713 [0x04] = KEY_3,
2714 [0x43] = KEY_SUBTITLE,
2715 [0x05] = KEY_4,
2716 [0x06] = KEY_5,
2717 [0x07] = KEY_6,
2718 [0x44] = KEY_TEXT,
2719 [0x08] = KEY_7,
2720 [0x09] = KEY_8,
2721 [0x0a] = KEY_9,
2722 [0x45] = KEY_DELETE,
2723 [0x0b] = KEY_TUNER,
2724 [0x0c] = KEY_0,
2725 [0x0d] = KEY_MODE,
2726 [0x46] = KEY_TV,
2727 [0x47] = KEY_DVD,
2728 [0x49] = KEY_VIDEO,
2729 [0x4b] = KEY_AUX,
2730 [0x10] = KEY_UP,
2731 [0x11] = KEY_LEFT,
2732 [0x12] = KEY_OK,
2733 [0x13] = KEY_RIGHT,
2734 [0x14] = KEY_DOWN,
2735 [0x0f] = KEY_EPG,
2736 [0x16] = KEY_INFO,
2737 [0x4d] = KEY_BACKSPACE,
2738 [0x1c] = KEY_VOLUMEUP,
2739 [0x4c] = KEY_PLAY,
2740 [0x1b] = KEY_CHANNELUP,
2741 [0x1e] = KEY_VOLUMEDOWN,
2742 [0x1d] = KEY_MUTE,
2743 [0x1f] = KEY_CHANNELDOWN,
2744 [0x17] = KEY_RED,
2745 [0x18] = KEY_GREEN,
2746 [0x19] = KEY_YELLOW,
2747 [0x1a] = KEY_BLUE,
2748 [0x58] = KEY_RECORD,
2749 [0x48] = KEY_STOP,
2750 [0x40] = KEY_PAUSE,
2751 [0x54] = KEY_LAST,
2752 [0x4e] = KEY_REWIND,
2753 [0x4f] = KEY_FASTFORWARD,
2754 [0x5c] = KEY_NEXT,
2755};
2756EXPORT_SYMBOL_GPL(ir_codes_terratec_cinergy_xs);
2757
Devin Heitmuellera4c47302009-06-20 21:34:42 -03002758/* EVGA inDtube
2759 Devin Heitmueller <devin.heitmueller@gmail.com>
2760 */
2761IR_KEYTAB_TYPE ir_codes_evga_indtube[IR_KEYTAB_SIZE] = {
2762 [0x12] = KEY_POWER,
2763 [0x02] = KEY_MODE, /* TV */
2764 [0x14] = KEY_MUTE,
2765 [0x1a] = KEY_CHANNELUP,
2766 [0x16] = KEY_TV2, /* PIP */
2767 [0x1d] = KEY_VOLUMEUP,
2768 [0x05] = KEY_CHANNELDOWN,
2769 [0x0f] = KEY_PLAYPAUSE,
2770 [0x19] = KEY_VOLUMEDOWN,
2771 [0x1c] = KEY_REWIND,
2772 [0x0d] = KEY_RECORD,
2773 [0x18] = KEY_FORWARD,
2774 [0x1e] = KEY_PREVIOUS,
2775 [0x1b] = KEY_STOP,
2776 [0x1f] = KEY_NEXT,
2777 [0x13] = KEY_CAMERA,
2778};
2779EXPORT_SYMBOL_GPL(ir_codes_evga_indtube);
Igor M. Liplianinecfcfec2009-08-13 21:42:21 -03002780
2781IR_KEYTAB_TYPE ir_codes_videomate_s350[IR_KEYTAB_SIZE] = {
2782 [0x00] = KEY_TV,
2783 [0x01] = KEY_DVD,
2784 [0x04] = KEY_RECORD,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002785 [0x05] = KEY_VIDEO, /* TV/Video */
Igor M. Liplianinecfcfec2009-08-13 21:42:21 -03002786 [0x07] = KEY_STOP,
2787 [0x08] = KEY_PLAYPAUSE,
2788 [0x0a] = KEY_REWIND,
2789 [0x0f] = KEY_FASTFORWARD,
2790 [0x10] = KEY_CHANNELUP,
2791 [0x12] = KEY_VOLUMEUP,
2792 [0x13] = KEY_CHANNELDOWN,
2793 [0x14] = KEY_MUTE,
2794 [0x15] = KEY_VOLUMEDOWN,
2795 [0x16] = KEY_1,
2796 [0x17] = KEY_2,
2797 [0x18] = KEY_3,
2798 [0x19] = KEY_4,
2799 [0x1a] = KEY_5,
2800 [0x1b] = KEY_6,
2801 [0x1c] = KEY_7,
2802 [0x1d] = KEY_8,
2803 [0x1e] = KEY_9,
2804 [0x1f] = KEY_0,
2805 [0x21] = KEY_SLEEP,
2806 [0x24] = KEY_ZOOM,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002807 [0x25] = KEY_LAST, /* Recall */
2808 [0x26] = KEY_SUBTITLE, /* CC */
2809 [0x27] = KEY_LANGUAGE, /* MTS */
2810 [0x29] = KEY_CHANNEL, /* SURF */
Igor M. Liplianinecfcfec2009-08-13 21:42:21 -03002811 [0x2b] = KEY_A,
2812 [0x2c] = KEY_B,
Mauro Carvalho Chehab5d353642009-08-27 09:50:21 -03002813 [0x2f] = KEY_SHUFFLE, /* Snapshot */
Igor M. Liplianinecfcfec2009-08-13 21:42:21 -03002814 [0x23] = KEY_RADIO,
2815 [0x02] = KEY_PREVIOUSSONG,
2816 [0x06] = KEY_NEXTSONG,
2817 [0x03] = KEY_EPG,
2818 [0x09] = KEY_SETUP,
2819 [0x22] = KEY_BACKSPACE,
2820 [0x0c] = KEY_UP,
2821 [0x0e] = KEY_DOWN,
2822 [0x0b] = KEY_LEFT,
2823 [0x0d] = KEY_RIGHT,
2824 [0x11] = KEY_ENTER,
2825 [0x20] = KEY_TEXT,
2826};
2827EXPORT_SYMBOL_GPL(ir_codes_videomate_s350);