diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-04-01 21:43:29 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-05-19 11:56:48 -0400 |
commit | 77b7422d48cda9b8e5dabb7f4bc056861c5ed4fe (patch) | |
tree | aca1f3329b8d836973cc303081e24df66bac1c0d | |
parent | dce4a3e3b228fd31bcfd2d84e673bc08b553e6cc (diff) |
V4L/DVB: ir-common: move IR tables from ir-keymaps.c to a separate file
Instead of having one big file with lots of keytables, create one include
file for each IR keymap.
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
67 files changed, 4122 insertions, 3245 deletions
diff --git a/drivers/media/IR/ir-keymaps.c b/drivers/media/IR/ir-keymaps.c index 1ba928516cd2..eb2553192789 100644 --- a/drivers/media/IR/ir-keymaps.c +++ b/drivers/media/IR/ir-keymaps.c | |||
@@ -17,3178 +17,29 @@ | |||
17 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | 17 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
18 | */ | 18 | */ |
19 | 19 | ||
20 | #define IR_KEYMAPS | ||
21 | |||
20 | /* | 22 | /* |
21 | * NOTICE FOR DEVELOPERS: | 23 | * NOTICE FOR DEVELOPERS: |
22 | * The IR mappings should be as close as possible to what's | 24 | * The IR mappings should be as close as possible to what's |
23 | * specified at: | 25 | * specified at: |
24 | * http://linuxtv.org/wiki/index.php/Remote_Controllers | 26 | * http://linuxtv.org/wiki/index.php/Remote_Controllers |
25 | */ | 27 | * |
26 | #include <linux/module.h> | ||
27 | |||
28 | #include <linux/input.h> | ||
29 | #include <media/ir-common.h> | ||
30 | |||
31 | |||
32 | /* | ||
33 | * The usage of tables with just the command part is deprecated. | 28 | * The usage of tables with just the command part is deprecated. |
34 | * All new IR keytables should contain address+command and need | 29 | * All new IR keytables should contain address+command and need |
35 | * to define the proper IR_TYPE (IR_TYPE_RC5/IR_TYPE_NEC). | 30 | * to define the proper IR_TYPE (IR_TYPE_RC5/IR_TYPE_NEC). |
36 | * The deprecated tables should use IR_TYPE_UNKNOWN | 31 | * The deprecated tables should use IR_TYPE_UNKNOWN |
37 | */ | 32 | */ |
33 | #include <linux/module.h> | ||
38 | 34 | ||
39 | /* empty keytable, can be used as placeholder for not-yet created keytables */ | 35 | #include <linux/input.h> |
40 | static struct ir_scancode empty[] = { | 36 | #include <media/ir-common.h> |
41 | { 0x2a, KEY_COFFEE }, | ||
42 | }; | ||
43 | DEFINE_LEGACY_IR_KEYTABLE(empty); | ||
44 | |||
45 | /* Michal Majchrowicz <mmajchrowicz@gmail.com> */ | ||
46 | static struct ir_scancode proteus_2309[] = { | ||
47 | /* numeric */ | ||
48 | { 0x00, KEY_0 }, | ||
49 | { 0x01, KEY_1 }, | ||
50 | { 0x02, KEY_2 }, | ||
51 | { 0x03, KEY_3 }, | ||
52 | { 0x04, KEY_4 }, | ||
53 | { 0x05, KEY_5 }, | ||
54 | { 0x06, KEY_6 }, | ||
55 | { 0x07, KEY_7 }, | ||
56 | { 0x08, KEY_8 }, | ||
57 | { 0x09, KEY_9 }, | ||
58 | |||
59 | { 0x5c, KEY_POWER }, /* power */ | ||
60 | { 0x20, KEY_ZOOM }, /* full screen */ | ||
61 | { 0x0f, KEY_BACKSPACE }, /* recall */ | ||
62 | { 0x1b, KEY_ENTER }, /* mute */ | ||
63 | { 0x41, KEY_RECORD }, /* record */ | ||
64 | { 0x43, KEY_STOP }, /* stop */ | ||
65 | { 0x16, KEY_S }, | ||
66 | { 0x1a, KEY_POWER2 }, /* off */ | ||
67 | { 0x2e, KEY_RED }, | ||
68 | { 0x1f, KEY_CHANNELDOWN }, /* channel - */ | ||
69 | { 0x1c, KEY_CHANNELUP }, /* channel + */ | ||
70 | { 0x10, KEY_VOLUMEDOWN }, /* volume - */ | ||
71 | { 0x1e, KEY_VOLUMEUP }, /* volume + */ | ||
72 | { 0x14, KEY_F1 }, | ||
73 | }; | ||
74 | DEFINE_LEGACY_IR_KEYTABLE(proteus_2309); | ||
75 | |||
76 | /* Matt Jesson <dvb@jesson.eclipse.co.uk */ | ||
77 | static struct ir_scancode avermedia_dvbt[] = { | ||
78 | { 0x28, KEY_0 }, /* '0' / 'enter' */ | ||
79 | { 0x22, KEY_1 }, /* '1' */ | ||
80 | { 0x12, KEY_2 }, /* '2' / 'up arrow' */ | ||
81 | { 0x32, KEY_3 }, /* '3' */ | ||
82 | { 0x24, KEY_4 }, /* '4' / 'left arrow' */ | ||
83 | { 0x14, KEY_5 }, /* '5' */ | ||
84 | { 0x34, KEY_6 }, /* '6' / 'right arrow' */ | ||
85 | { 0x26, KEY_7 }, /* '7' */ | ||
86 | { 0x16, KEY_8 }, /* '8' / 'down arrow' */ | ||
87 | { 0x36, KEY_9 }, /* '9' */ | ||
88 | |||
89 | { 0x20, KEY_LIST }, /* 'source' */ | ||
90 | { 0x10, KEY_TEXT }, /* 'teletext' */ | ||
91 | { 0x00, KEY_POWER }, /* 'power' */ | ||
92 | { 0x04, KEY_AUDIO }, /* 'audio' */ | ||
93 | { 0x06, KEY_ZOOM }, /* 'full screen' */ | ||
94 | { 0x18, KEY_VIDEO }, /* 'display' */ | ||
95 | { 0x38, KEY_SEARCH }, /* 'loop' */ | ||
96 | { 0x08, KEY_INFO }, /* 'preview' */ | ||
97 | { 0x2a, KEY_REWIND }, /* 'backward <<' */ | ||
98 | { 0x1a, KEY_FASTFORWARD }, /* 'forward >>' */ | ||
99 | { 0x3a, KEY_RECORD }, /* 'capture' */ | ||
100 | { 0x0a, KEY_MUTE }, /* 'mute' */ | ||
101 | { 0x2c, KEY_RECORD }, /* 'record' */ | ||
102 | { 0x1c, KEY_PAUSE }, /* 'pause' */ | ||
103 | { 0x3c, KEY_STOP }, /* 'stop' */ | ||
104 | { 0x0c, KEY_PLAY }, /* 'play' */ | ||
105 | { 0x2e, KEY_RED }, /* 'red' */ | ||
106 | { 0x01, KEY_BLUE }, /* 'blue' / 'cancel' */ | ||
107 | { 0x0e, KEY_YELLOW }, /* 'yellow' / 'ok' */ | ||
108 | { 0x21, KEY_GREEN }, /* 'green' */ | ||
109 | { 0x11, KEY_CHANNELDOWN }, /* 'channel -' */ | ||
110 | { 0x31, KEY_CHANNELUP }, /* 'channel +' */ | ||
111 | { 0x1e, KEY_VOLUMEDOWN }, /* 'volume -' */ | ||
112 | { 0x3e, KEY_VOLUMEUP }, /* 'volume +' */ | ||
113 | }; | ||
114 | DEFINE_LEGACY_IR_KEYTABLE(avermedia_dvbt); | ||
115 | |||
116 | /* | ||
117 | * Avermedia M135A with IR model RM-JX | ||
118 | * The same codes exist on both Positivo (BR) and original IR | ||
119 | * Mauro Carvalho Chehab <mchehab@infradead.org> | ||
120 | */ | ||
121 | static struct ir_scancode avermedia_m135a_rm_jx[] = { | ||
122 | { 0x0200, KEY_POWER2 }, | ||
123 | { 0x022e, KEY_DOT }, /* '.' */ | ||
124 | { 0x0201, KEY_MODE }, /* TV/FM or SOURCE */ | ||
125 | |||
126 | { 0x0205, KEY_1 }, | ||
127 | { 0x0206, KEY_2 }, | ||
128 | { 0x0207, KEY_3 }, | ||
129 | { 0x0209, KEY_4 }, | ||
130 | { 0x020a, KEY_5 }, | ||
131 | { 0x020b, KEY_6 }, | ||
132 | { 0x020d, KEY_7 }, | ||
133 | { 0x020e, KEY_8 }, | ||
134 | { 0x020f, KEY_9 }, | ||
135 | { 0x0211, KEY_0 }, | ||
136 | |||
137 | { 0x0213, KEY_RIGHT }, /* -> or L */ | ||
138 | { 0x0212, KEY_LEFT }, /* <- or R */ | ||
139 | |||
140 | { 0x0217, KEY_SLEEP }, /* Capturar Imagem or Snapshot */ | ||
141 | { 0x0210, KEY_SHUFFLE }, /* Amostra or 16 chan prev */ | ||
142 | |||
143 | { 0x0303, KEY_CHANNELUP }, | ||
144 | { 0x0302, KEY_CHANNELDOWN }, | ||
145 | { 0x021f, KEY_VOLUMEUP }, | ||
146 | { 0x021e, KEY_VOLUMEDOWN }, | ||
147 | { 0x020c, KEY_ENTER }, /* Full Screen */ | ||
148 | |||
149 | { 0x0214, KEY_MUTE }, | ||
150 | { 0x0208, KEY_AUDIO }, | ||
151 | |||
152 | { 0x0203, KEY_TEXT }, /* Teletext */ | ||
153 | { 0x0204, KEY_EPG }, | ||
154 | { 0x022b, KEY_TV2 }, /* TV2 or PIP */ | ||
155 | |||
156 | { 0x021d, KEY_RED }, | ||
157 | { 0x021c, KEY_YELLOW }, | ||
158 | { 0x0301, KEY_GREEN }, | ||
159 | { 0x0300, KEY_BLUE }, | ||
160 | |||
161 | { 0x021a, KEY_PLAYPAUSE }, | ||
162 | { 0x0219, KEY_RECORD }, | ||
163 | { 0x0218, KEY_PLAY }, | ||
164 | { 0x021b, KEY_STOP }, | ||
165 | }; | ||
166 | DEFINE_IR_KEYTABLE(avermedia_m135a_rm_jx, IR_TYPE_NEC); | ||
167 | |||
168 | /* Oldrich Jedlicka <oldium.pro@seznam.cz> */ | ||
169 | static struct ir_scancode avermedia_cardbus[] = { | ||
170 | { 0x00, KEY_POWER }, | ||
171 | { 0x01, KEY_TUNER }, /* TV/FM */ | ||
172 | { 0x03, KEY_TEXT }, /* Teletext */ | ||
173 | { 0x04, KEY_EPG }, | ||
174 | { 0x05, KEY_1 }, | ||
175 | { 0x06, KEY_2 }, | ||
176 | { 0x07, KEY_3 }, | ||
177 | { 0x08, KEY_AUDIO }, | ||
178 | { 0x09, KEY_4 }, | ||
179 | { 0x0a, KEY_5 }, | ||
180 | { 0x0b, KEY_6 }, | ||
181 | { 0x0c, KEY_ZOOM }, /* Full screen */ | ||
182 | { 0x0d, KEY_7 }, | ||
183 | { 0x0e, KEY_8 }, | ||
184 | { 0x0f, KEY_9 }, | ||
185 | { 0x10, KEY_PAGEUP }, /* 16-CH PREV */ | ||
186 | { 0x11, KEY_0 }, | ||
187 | { 0x12, KEY_INFO }, | ||
188 | { 0x13, KEY_AGAIN }, /* CH RTN - channel return */ | ||
189 | { 0x14, KEY_MUTE }, | ||
190 | { 0x15, KEY_EDIT }, /* Autoscan */ | ||
191 | { 0x17, KEY_SAVE }, /* Screenshot */ | ||
192 | { 0x18, KEY_PLAYPAUSE }, | ||
193 | { 0x19, KEY_RECORD }, | ||
194 | { 0x1a, KEY_PLAY }, | ||
195 | { 0x1b, KEY_STOP }, | ||
196 | { 0x1c, KEY_FASTFORWARD }, | ||
197 | { 0x1d, KEY_REWIND }, | ||
198 | { 0x1e, KEY_VOLUMEDOWN }, | ||
199 | { 0x1f, KEY_VOLUMEUP }, | ||
200 | { 0x22, KEY_SLEEP }, /* Sleep */ | ||
201 | { 0x23, KEY_ZOOM }, /* Aspect */ | ||
202 | { 0x26, KEY_SCREEN }, /* Pos */ | ||
203 | { 0x27, KEY_ANGLE }, /* Size */ | ||
204 | { 0x28, KEY_SELECT }, /* Select */ | ||
205 | { 0x29, KEY_BLUE }, /* Blue/Picture */ | ||
206 | { 0x2a, KEY_BACKSPACE }, /* Back */ | ||
207 | { 0x2b, KEY_MEDIA }, /* PIP (Picture-in-picture) */ | ||
208 | { 0x2c, KEY_DOWN }, | ||
209 | { 0x2e, KEY_DOT }, | ||
210 | { 0x2f, KEY_TV }, /* Live TV */ | ||
211 | { 0x32, KEY_LEFT }, | ||
212 | { 0x33, KEY_CLEAR }, /* Clear */ | ||
213 | { 0x35, KEY_RED }, /* Red/TV */ | ||
214 | { 0x36, KEY_UP }, | ||
215 | { 0x37, KEY_HOME }, /* Home */ | ||
216 | { 0x39, KEY_GREEN }, /* Green/Video */ | ||
217 | { 0x3d, KEY_YELLOW }, /* Yellow/Music */ | ||
218 | { 0x3e, KEY_OK }, /* Ok */ | ||
219 | { 0x3f, KEY_RIGHT }, | ||
220 | { 0x40, KEY_NEXT }, /* Next */ | ||
221 | { 0x41, KEY_PREVIOUS }, /* Previous */ | ||
222 | { 0x42, KEY_CHANNELDOWN }, /* Channel down */ | ||
223 | { 0x43, KEY_CHANNELUP }, /* Channel up */ | ||
224 | }; | ||
225 | DEFINE_LEGACY_IR_KEYTABLE(avermedia_cardbus); | ||
226 | |||
227 | /* Attila Kondoros <attila.kondoros@chello.hu> */ | ||
228 | static struct ir_scancode apac_viewcomp[] = { | ||
229 | |||
230 | { 0x01, KEY_1 }, | ||
231 | { 0x02, KEY_2 }, | ||
232 | { 0x03, KEY_3 }, | ||
233 | { 0x04, KEY_4 }, | ||
234 | { 0x05, KEY_5 }, | ||
235 | { 0x06, KEY_6 }, | ||
236 | { 0x07, KEY_7 }, | ||
237 | { 0x08, KEY_8 }, | ||
238 | { 0x09, KEY_9 }, | ||
239 | { 0x00, KEY_0 }, | ||
240 | { 0x17, KEY_LAST }, /* +100 */ | ||
241 | { 0x0a, KEY_LIST }, /* recall */ | ||
242 | |||
243 | |||
244 | { 0x1c, KEY_TUNER }, /* TV/FM */ | ||
245 | { 0x15, KEY_SEARCH }, /* scan */ | ||
246 | { 0x12, KEY_POWER }, /* power */ | ||
247 | { 0x1f, KEY_VOLUMEDOWN }, /* vol up */ | ||
248 | { 0x1b, KEY_VOLUMEUP }, /* vol down */ | ||
249 | { 0x1e, KEY_CHANNELDOWN }, /* chn up */ | ||
250 | { 0x1a, KEY_CHANNELUP }, /* chn down */ | ||
251 | |||
252 | { 0x11, KEY_VIDEO }, /* video */ | ||
253 | { 0x0f, KEY_ZOOM }, /* full screen */ | ||
254 | { 0x13, KEY_MUTE }, /* mute/unmute */ | ||
255 | { 0x10, KEY_TEXT }, /* min */ | ||
256 | |||
257 | { 0x0d, KEY_STOP }, /* freeze */ | ||
258 | { 0x0e, KEY_RECORD }, /* record */ | ||
259 | { 0x1d, KEY_PLAYPAUSE }, /* stop */ | ||
260 | { 0x19, KEY_PLAY }, /* play */ | ||
261 | |||
262 | { 0x16, KEY_GOTO }, /* osd */ | ||
263 | { 0x14, KEY_REFRESH }, /* default */ | ||
264 | { 0x0c, KEY_KPPLUS }, /* fine tune >>>> */ | ||
265 | { 0x18, KEY_KPMINUS }, /* fine tune <<<< */ | ||
266 | }; | ||
267 | DEFINE_LEGACY_IR_KEYTABLE(apac_viewcomp); | ||
268 | |||
269 | /* ---------------------------------------------------------------------- */ | ||
270 | |||
271 | static struct ir_scancode pixelview[] = { | ||
272 | |||
273 | { 0x1e, KEY_POWER }, /* power */ | ||
274 | { 0x07, KEY_MEDIA }, /* source */ | ||
275 | { 0x1c, KEY_SEARCH }, /* scan */ | ||
276 | |||
277 | |||
278 | { 0x03, KEY_TUNER }, /* TV/FM */ | ||
279 | |||
280 | { 0x00, KEY_RECORD }, | ||
281 | { 0x08, KEY_STOP }, | ||
282 | { 0x11, KEY_PLAY }, | ||
283 | |||
284 | { 0x1a, KEY_PLAYPAUSE }, /* freeze */ | ||
285 | { 0x19, KEY_ZOOM }, /* zoom */ | ||
286 | { 0x0f, KEY_TEXT }, /* min */ | ||
287 | |||
288 | { 0x01, KEY_1 }, | ||
289 | { 0x0b, KEY_2 }, | ||
290 | { 0x1b, KEY_3 }, | ||
291 | { 0x05, KEY_4 }, | ||
292 | { 0x09, KEY_5 }, | ||
293 | { 0x15, KEY_6 }, | ||
294 | { 0x06, KEY_7 }, | ||
295 | { 0x0a, KEY_8 }, | ||
296 | { 0x12, KEY_9 }, | ||
297 | { 0x02, KEY_0 }, | ||
298 | { 0x10, KEY_LAST }, /* +100 */ | ||
299 | { 0x13, KEY_LIST }, /* recall */ | ||
300 | |||
301 | { 0x1f, KEY_CHANNELUP }, /* chn down */ | ||
302 | { 0x17, KEY_CHANNELDOWN }, /* chn up */ | ||
303 | { 0x16, KEY_VOLUMEUP }, /* vol down */ | ||
304 | { 0x14, KEY_VOLUMEDOWN }, /* vol up */ | ||
305 | |||
306 | { 0x04, KEY_KPMINUS }, /* <<< */ | ||
307 | { 0x0e, KEY_SETUP }, /* function */ | ||
308 | { 0x0c, KEY_KPPLUS }, /* >>> */ | ||
309 | |||
310 | { 0x0d, KEY_GOTO }, /* mts */ | ||
311 | { 0x1d, KEY_REFRESH }, /* reset */ | ||
312 | { 0x18, KEY_MUTE }, /* mute/unmute */ | ||
313 | }; | ||
314 | DEFINE_LEGACY_IR_KEYTABLE(pixelview); | ||
315 | |||
316 | /* | ||
317 | Mauro Carvalho Chehab <mchehab@infradead.org> | ||
318 | present on PV MPEG 8000GT | ||
319 | */ | ||
320 | static struct ir_scancode pixelview_new[] = { | ||
321 | { 0x3c, KEY_TIME }, /* Timeshift */ | ||
322 | { 0x12, KEY_POWER }, | ||
323 | |||
324 | { 0x3d, KEY_1 }, | ||
325 | { 0x38, KEY_2 }, | ||
326 | { 0x18, KEY_3 }, | ||
327 | { 0x35, KEY_4 }, | ||
328 | { 0x39, KEY_5 }, | ||
329 | { 0x15, KEY_6 }, | ||
330 | { 0x36, KEY_7 }, | ||
331 | { 0x3a, KEY_8 }, | ||
332 | { 0x1e, KEY_9 }, | ||
333 | { 0x3e, KEY_0 }, | ||
334 | |||
335 | { 0x1c, KEY_AGAIN }, /* LOOP */ | ||
336 | { 0x3f, KEY_MEDIA }, /* Source */ | ||
337 | { 0x1f, KEY_LAST }, /* +100 */ | ||
338 | { 0x1b, KEY_MUTE }, | ||
339 | |||
340 | { 0x17, KEY_CHANNELDOWN }, | ||
341 | { 0x16, KEY_CHANNELUP }, | ||
342 | { 0x10, KEY_VOLUMEUP }, | ||
343 | { 0x14, KEY_VOLUMEDOWN }, | ||
344 | { 0x13, KEY_ZOOM }, | ||
345 | |||
346 | { 0x19, KEY_CAMERA }, /* SNAPSHOT */ | ||
347 | { 0x1a, KEY_SEARCH }, /* scan */ | ||
348 | |||
349 | { 0x37, KEY_REWIND }, /* << */ | ||
350 | { 0x32, KEY_RECORD }, /* o (red) */ | ||
351 | { 0x33, KEY_FORWARD }, /* >> */ | ||
352 | { 0x11, KEY_STOP }, /* square */ | ||
353 | { 0x3b, KEY_PLAY }, /* > */ | ||
354 | { 0x30, KEY_PLAYPAUSE }, /* || */ | ||
355 | |||
356 | { 0x31, KEY_TV }, | ||
357 | { 0x34, KEY_RADIO }, | ||
358 | }; | ||
359 | DEFINE_LEGACY_IR_KEYTABLE(pixelview_new); | ||
360 | |||
361 | static struct ir_scancode nebula[] = { | ||
362 | { 0x00, KEY_0 }, | ||
363 | { 0x01, KEY_1 }, | ||
364 | { 0x02, KEY_2 }, | ||
365 | { 0x03, KEY_3 }, | ||
366 | { 0x04, KEY_4 }, | ||
367 | { 0x05, KEY_5 }, | ||
368 | { 0x06, KEY_6 }, | ||
369 | { 0x07, KEY_7 }, | ||
370 | { 0x08, KEY_8 }, | ||
371 | { 0x09, KEY_9 }, | ||
372 | { 0x0a, KEY_TV }, | ||
373 | { 0x0b, KEY_AUX }, | ||
374 | { 0x0c, KEY_DVD }, | ||
375 | { 0x0d, KEY_POWER }, | ||
376 | { 0x0e, KEY_MHP }, /* labelled 'Picture' */ | ||
377 | { 0x0f, KEY_AUDIO }, | ||
378 | { 0x10, KEY_INFO }, | ||
379 | { 0x11, KEY_F13 }, /* 16:9 */ | ||
380 | { 0x12, KEY_F14 }, /* 14:9 */ | ||
381 | { 0x13, KEY_EPG }, | ||
382 | { 0x14, KEY_EXIT }, | ||
383 | { 0x15, KEY_MENU }, | ||
384 | { 0x16, KEY_UP }, | ||
385 | { 0x17, KEY_DOWN }, | ||
386 | { 0x18, KEY_LEFT }, | ||
387 | { 0x19, KEY_RIGHT }, | ||
388 | { 0x1a, KEY_ENTER }, | ||
389 | { 0x1b, KEY_CHANNELUP }, | ||
390 | { 0x1c, KEY_CHANNELDOWN }, | ||
391 | { 0x1d, KEY_VOLUMEUP }, | ||
392 | { 0x1e, KEY_VOLUMEDOWN }, | ||
393 | { 0x1f, KEY_RED }, | ||
394 | { 0x20, KEY_GREEN }, | ||
395 | { 0x21, KEY_YELLOW }, | ||
396 | { 0x22, KEY_BLUE }, | ||
397 | { 0x23, KEY_SUBTITLE }, | ||
398 | { 0x24, KEY_F15 }, /* AD */ | ||
399 | { 0x25, KEY_TEXT }, | ||
400 | { 0x26, KEY_MUTE }, | ||
401 | { 0x27, KEY_REWIND }, | ||
402 | { 0x28, KEY_STOP }, | ||
403 | { 0x29, KEY_PLAY }, | ||
404 | { 0x2a, KEY_FASTFORWARD }, | ||
405 | { 0x2b, KEY_F16 }, /* chapter */ | ||
406 | { 0x2c, KEY_PAUSE }, | ||
407 | { 0x2d, KEY_PLAY }, | ||
408 | { 0x2e, KEY_RECORD }, | ||
409 | { 0x2f, KEY_F17 }, /* picture in picture */ | ||
410 | { 0x30, KEY_KPPLUS }, /* zoom in */ | ||
411 | { 0x31, KEY_KPMINUS }, /* zoom out */ | ||
412 | { 0x32, KEY_F18 }, /* capture */ | ||
413 | { 0x33, KEY_F19 }, /* web */ | ||
414 | { 0x34, KEY_EMAIL }, | ||
415 | { 0x35, KEY_PHONE }, | ||
416 | { 0x36, KEY_PC }, | ||
417 | }; | ||
418 | DEFINE_LEGACY_IR_KEYTABLE(nebula); | ||
419 | |||
420 | /* DigitalNow DNTV Live DVB-T Remote */ | ||
421 | static struct ir_scancode dntv_live_dvb_t[] = { | ||
422 | { 0x00, KEY_ESC }, /* 'go up a level?' */ | ||
423 | /* Keys 0 to 9 */ | ||
424 | { 0x0a, KEY_0 }, | ||
425 | { 0x01, KEY_1 }, | ||
426 | { 0x02, KEY_2 }, | ||
427 | { 0x03, KEY_3 }, | ||
428 | { 0x04, KEY_4 }, | ||
429 | { 0x05, KEY_5 }, | ||
430 | { 0x06, KEY_6 }, | ||
431 | { 0x07, KEY_7 }, | ||
432 | { 0x08, KEY_8 }, | ||
433 | { 0x09, KEY_9 }, | ||
434 | |||
435 | { 0x0b, KEY_TUNER }, /* tv/fm */ | ||
436 | { 0x0c, KEY_SEARCH }, /* scan */ | ||
437 | { 0x0d, KEY_STOP }, | ||
438 | { 0x0e, KEY_PAUSE }, | ||
439 | { 0x0f, KEY_LIST }, /* source */ | ||
440 | |||
441 | { 0x10, KEY_MUTE }, | ||
442 | { 0x11, KEY_REWIND }, /* backward << */ | ||
443 | { 0x12, KEY_POWER }, | ||
444 | { 0x13, KEY_CAMERA }, /* snap */ | ||
445 | { 0x14, KEY_AUDIO }, /* stereo */ | ||
446 | { 0x15, KEY_CLEAR }, /* reset */ | ||
447 | { 0x16, KEY_PLAY }, | ||
448 | { 0x17, KEY_ENTER }, | ||
449 | { 0x18, KEY_ZOOM }, /* full screen */ | ||
450 | { 0x19, KEY_FASTFORWARD }, /* forward >> */ | ||
451 | { 0x1a, KEY_CHANNELUP }, | ||
452 | { 0x1b, KEY_VOLUMEUP }, | ||
453 | { 0x1c, KEY_INFO }, /* preview */ | ||
454 | { 0x1d, KEY_RECORD }, /* record */ | ||
455 | { 0x1e, KEY_CHANNELDOWN }, | ||
456 | { 0x1f, KEY_VOLUMEDOWN }, | ||
457 | }; | ||
458 | DEFINE_LEGACY_IR_KEYTABLE(dntv_live_dvb_t); | ||
459 | |||
460 | /* ---------------------------------------------------------------------- */ | ||
461 | |||
462 | /* IO-DATA BCTV7E Remote */ | ||
463 | static struct ir_scancode iodata_bctv7e[] = { | ||
464 | { 0x40, KEY_TV }, | ||
465 | { 0x20, KEY_RADIO }, /* FM */ | ||
466 | { 0x60, KEY_EPG }, | ||
467 | { 0x00, KEY_POWER }, | ||
468 | |||
469 | /* Keys 0 to 9 */ | ||
470 | { 0x44, KEY_0 }, /* 10 */ | ||
471 | { 0x50, KEY_1 }, | ||
472 | { 0x30, KEY_2 }, | ||
473 | { 0x70, KEY_3 }, | ||
474 | { 0x48, KEY_4 }, | ||
475 | { 0x28, KEY_5 }, | ||
476 | { 0x68, KEY_6 }, | ||
477 | { 0x58, KEY_7 }, | ||
478 | { 0x38, KEY_8 }, | ||
479 | { 0x78, KEY_9 }, | ||
480 | |||
481 | { 0x10, KEY_L }, /* Live */ | ||
482 | { 0x08, KEY_TIME }, /* Time Shift */ | ||
483 | |||
484 | { 0x18, KEY_PLAYPAUSE }, /* Play */ | ||
485 | |||
486 | { 0x24, KEY_ENTER }, /* 11 */ | ||
487 | { 0x64, KEY_ESC }, /* 12 */ | ||
488 | { 0x04, KEY_M }, /* Multi */ | ||
489 | |||
490 | { 0x54, KEY_VIDEO }, | ||
491 | { 0x34, KEY_CHANNELUP }, | ||
492 | { 0x74, KEY_VOLUMEUP }, | ||
493 | { 0x14, KEY_MUTE }, | ||
494 | |||
495 | { 0x4c, KEY_VCR }, /* SVIDEO */ | ||
496 | { 0x2c, KEY_CHANNELDOWN }, | ||
497 | { 0x6c, KEY_VOLUMEDOWN }, | ||
498 | { 0x0c, KEY_ZOOM }, | ||
499 | |||
500 | { 0x5c, KEY_PAUSE }, | ||
501 | { 0x3c, KEY_RED }, /* || (red) */ | ||
502 | { 0x7c, KEY_RECORD }, /* recording */ | ||
503 | { 0x1c, KEY_STOP }, | ||
504 | |||
505 | { 0x41, KEY_REWIND }, /* backward << */ | ||
506 | { 0x21, KEY_PLAY }, | ||
507 | { 0x61, KEY_FASTFORWARD }, /* forward >> */ | ||
508 | { 0x01, KEY_NEXT }, /* skip >| */ | ||
509 | }; | ||
510 | DEFINE_LEGACY_IR_KEYTABLE(iodata_bctv7e); | ||
511 | |||
512 | /* ---------------------------------------------------------------------- */ | ||
513 | |||
514 | /* ADS Tech Instant TV DVB-T PCI Remote */ | ||
515 | static struct ir_scancode adstech_dvb_t_pci[] = { | ||
516 | /* Keys 0 to 9 */ | ||
517 | { 0x4d, KEY_0 }, | ||
518 | { 0x57, KEY_1 }, | ||
519 | { 0x4f, KEY_2 }, | ||
520 | { 0x53, KEY_3 }, | ||
521 | { 0x56, KEY_4 }, | ||
522 | { 0x4e, KEY_5 }, | ||
523 | { 0x5e, KEY_6 }, | ||
524 | { 0x54, KEY_7 }, | ||
525 | { 0x4c, KEY_8 }, | ||
526 | { 0x5c, KEY_9 }, | ||
527 | |||
528 | { 0x5b, KEY_POWER }, | ||
529 | { 0x5f, KEY_MUTE }, | ||
530 | { 0x55, KEY_GOTO }, | ||
531 | { 0x5d, KEY_SEARCH }, | ||
532 | { 0x17, KEY_EPG }, /* Guide */ | ||
533 | { 0x1f, KEY_MENU }, | ||
534 | { 0x0f, KEY_UP }, | ||
535 | { 0x46, KEY_DOWN }, | ||
536 | { 0x16, KEY_LEFT }, | ||
537 | { 0x1e, KEY_RIGHT }, | ||
538 | { 0x0e, KEY_SELECT }, /* Enter */ | ||
539 | { 0x5a, KEY_INFO }, | ||
540 | { 0x52, KEY_EXIT }, | ||
541 | { 0x59, KEY_PREVIOUS }, | ||
542 | { 0x51, KEY_NEXT }, | ||
543 | { 0x58, KEY_REWIND }, | ||
544 | { 0x50, KEY_FORWARD }, | ||
545 | { 0x44, KEY_PLAYPAUSE }, | ||
546 | { 0x07, KEY_STOP }, | ||
547 | { 0x1b, KEY_RECORD }, | ||
548 | { 0x13, KEY_TUNER }, /* Live */ | ||
549 | { 0x0a, KEY_A }, | ||
550 | { 0x12, KEY_B }, | ||
551 | { 0x03, KEY_PROG1 }, /* 1 */ | ||
552 | { 0x01, KEY_PROG2 }, /* 2 */ | ||
553 | { 0x00, KEY_PROG3 }, /* 3 */ | ||
554 | { 0x06, KEY_DVD }, | ||
555 | { 0x48, KEY_AUX }, /* Photo */ | ||
556 | { 0x40, KEY_VIDEO }, | ||
557 | { 0x19, KEY_AUDIO }, /* Music */ | ||
558 | { 0x0b, KEY_CHANNELUP }, | ||
559 | { 0x08, KEY_CHANNELDOWN }, | ||
560 | { 0x15, KEY_VOLUMEUP }, | ||
561 | { 0x1c, KEY_VOLUMEDOWN }, | ||
562 | }; | ||
563 | DEFINE_LEGACY_IR_KEYTABLE(adstech_dvb_t_pci); | ||
564 | |||
565 | /* ---------------------------------------------------------------------- */ | ||
566 | |||
567 | /* MSI TV@nywhere MASTER remote */ | ||
568 | |||
569 | static struct ir_scancode msi_tvanywhere[] = { | ||
570 | /* Keys 0 to 9 */ | ||
571 | { 0x00, KEY_0 }, | ||
572 | { 0x01, KEY_1 }, | ||
573 | { 0x02, KEY_2 }, | ||
574 | { 0x03, KEY_3 }, | ||
575 | { 0x04, KEY_4 }, | ||
576 | { 0x05, KEY_5 }, | ||
577 | { 0x06, KEY_6 }, | ||
578 | { 0x07, KEY_7 }, | ||
579 | { 0x08, KEY_8 }, | ||
580 | { 0x09, KEY_9 }, | ||
581 | |||
582 | { 0x0c, KEY_MUTE }, | ||
583 | { 0x0f, KEY_SCREEN }, /* Full Screen */ | ||
584 | { 0x10, KEY_FN }, /* Funtion */ | ||
585 | { 0x11, KEY_TIME }, /* Time shift */ | ||
586 | { 0x12, KEY_POWER }, | ||
587 | { 0x13, KEY_MEDIA }, /* MTS */ | ||
588 | { 0x14, KEY_SLOW }, | ||
589 | { 0x16, KEY_REWIND }, /* backward << */ | ||
590 | { 0x17, KEY_ENTER }, /* Return */ | ||
591 | { 0x18, KEY_FASTFORWARD }, /* forward >> */ | ||
592 | { 0x1a, KEY_CHANNELUP }, | ||
593 | { 0x1b, KEY_VOLUMEUP }, | ||
594 | { 0x1e, KEY_CHANNELDOWN }, | ||
595 | { 0x1f, KEY_VOLUMEDOWN }, | ||
596 | }; | ||
597 | DEFINE_LEGACY_IR_KEYTABLE(msi_tvanywhere); | ||
598 | |||
599 | /* ---------------------------------------------------------------------- */ | ||
600 | |||
601 | /* | ||
602 | Keycodes for remote on the MSI TV@nywhere Plus. The controller IC on the card | ||
603 | is marked "KS003". The controller is I2C at address 0x30, but does not seem | ||
604 | to respond to probes until a read is performed from a valid device. | ||
605 | I don't know why... | ||
606 | |||
607 | Note: This remote may be of similar or identical design to the | ||
608 | Pixelview remote (?). The raw codes and duplicate button codes | ||
609 | appear to be the same. | ||
610 | |||
611 | Henry Wong <henry@stuffedcow.net> | ||
612 | Some changes to formatting and keycodes by Mark Schultz <n9xmj@yahoo.com> | ||
613 | |||
614 | */ | ||
615 | |||
616 | static struct ir_scancode msi_tvanywhere_plus[] = { | ||
617 | |||
618 | /* ---- Remote Button Layout ---- | ||
619 | |||
620 | POWER SOURCE SCAN MUTE | ||
621 | TV/FM 1 2 3 | ||
622 | |> 4 5 6 | ||
623 | <| 7 8 9 | ||
624 | ^^UP 0 + RECALL | ||
625 | vvDN RECORD STOP PLAY | ||
626 | |||
627 | MINIMIZE ZOOM | ||
628 | |||
629 | CH+ | ||
630 | VOL- VOL+ | ||
631 | CH- | ||
632 | |||
633 | SNAPSHOT MTS | ||
634 | |||
635 | << FUNC >> RESET | ||
636 | */ | ||
637 | |||
638 | { 0x01, KEY_1 }, /* 1 */ | ||
639 | { 0x0b, KEY_2 }, /* 2 */ | ||
640 | { 0x1b, KEY_3 }, /* 3 */ | ||
641 | { 0x05, KEY_4 }, /* 4 */ | ||
642 | { 0x09, KEY_5 }, /* 5 */ | ||
643 | { 0x15, KEY_6 }, /* 6 */ | ||
644 | { 0x06, KEY_7 }, /* 7 */ | ||
645 | { 0x0a, KEY_8 }, /* 8 */ | ||
646 | { 0x12, KEY_9 }, /* 9 */ | ||
647 | { 0x02, KEY_0 }, /* 0 */ | ||
648 | { 0x10, KEY_KPPLUS }, /* + */ | ||
649 | { 0x13, KEY_AGAIN }, /* Recall */ | ||
650 | |||
651 | { 0x1e, KEY_POWER }, /* Power */ | ||
652 | { 0x07, KEY_TUNER }, /* Source */ | ||
653 | { 0x1c, KEY_SEARCH }, /* Scan */ | ||
654 | { 0x18, KEY_MUTE }, /* Mute */ | ||
655 | |||
656 | { 0x03, KEY_RADIO }, /* TV/FM */ | ||
657 | /* The next four keys are duplicates that appear to send the | ||
658 | same IR code as Ch+, Ch-, >>, and << . The raw code assigned | ||
659 | to them is the actual code + 0x20 - they will never be | ||
660 | detected as such unless some way is discovered to distinguish | ||
661 | these buttons from those that have the same code. */ | ||
662 | { 0x3f, KEY_RIGHT }, /* |> and Ch+ */ | ||
663 | { 0x37, KEY_LEFT }, /* <| and Ch- */ | ||
664 | { 0x2c, KEY_UP }, /* ^^Up and >> */ | ||
665 | { 0x24, KEY_DOWN }, /* vvDn and << */ | ||
666 | |||
667 | { 0x00, KEY_RECORD }, /* Record */ | ||
668 | { 0x08, KEY_STOP }, /* Stop */ | ||
669 | { 0x11, KEY_PLAY }, /* Play */ | ||
670 | |||
671 | { 0x0f, KEY_CLOSE }, /* Minimize */ | ||
672 | { 0x19, KEY_ZOOM }, /* Zoom */ | ||
673 | { 0x1a, KEY_CAMERA }, /* Snapshot */ | ||
674 | { 0x0d, KEY_LANGUAGE }, /* MTS */ | ||
675 | |||
676 | { 0x14, KEY_VOLUMEDOWN }, /* Vol- */ | ||
677 | { 0x16, KEY_VOLUMEUP }, /* Vol+ */ | ||
678 | { 0x17, KEY_CHANNELDOWN }, /* Ch- */ | ||
679 | { 0x1f, KEY_CHANNELUP }, /* Ch+ */ | ||
680 | |||
681 | { 0x04, KEY_REWIND }, /* << */ | ||
682 | { 0x0e, KEY_MENU }, /* Function */ | ||
683 | { 0x0c, KEY_FASTFORWARD }, /* >> */ | ||
684 | { 0x1d, KEY_RESTART }, /* Reset */ | ||
685 | }; | ||
686 | DEFINE_LEGACY_IR_KEYTABLE(msi_tvanywhere_plus); | ||
687 | |||
688 | /* ---------------------------------------------------------------------- */ | ||
689 | |||
690 | /* Cinergy 1400 DVB-T */ | ||
691 | static struct ir_scancode cinergy_1400[] = { | ||
692 | { 0x01, KEY_POWER }, | ||
693 | { 0x02, KEY_1 }, | ||
694 | { 0x03, KEY_2 }, | ||
695 | { 0x04, KEY_3 }, | ||
696 | { 0x05, KEY_4 }, | ||
697 | { 0x06, KEY_5 }, | ||
698 | { 0x07, KEY_6 }, | ||
699 | { 0x08, KEY_7 }, | ||
700 | { 0x09, KEY_8 }, | ||
701 | { 0x0a, KEY_9 }, | ||
702 | { 0x0c, KEY_0 }, | ||
703 | |||
704 | { 0x0b, KEY_VIDEO }, | ||
705 | { 0x0d, KEY_REFRESH }, | ||
706 | { 0x0e, KEY_SELECT }, | ||
707 | { 0x0f, KEY_EPG }, | ||
708 | { 0x10, KEY_UP }, | ||
709 | { 0x11, KEY_LEFT }, | ||
710 | { 0x12, KEY_OK }, | ||
711 | { 0x13, KEY_RIGHT }, | ||
712 | { 0x14, KEY_DOWN }, | ||
713 | { 0x15, KEY_TEXT }, | ||
714 | { 0x16, KEY_INFO }, | ||
715 | |||
716 | { 0x17, KEY_RED }, | ||
717 | { 0x18, KEY_GREEN }, | ||
718 | { 0x19, KEY_YELLOW }, | ||
719 | { 0x1a, KEY_BLUE }, | ||
720 | |||
721 | { 0x1b, KEY_CHANNELUP }, | ||
722 | { 0x1c, KEY_VOLUMEUP }, | ||
723 | { 0x1d, KEY_MUTE }, | ||
724 | { 0x1e, KEY_VOLUMEDOWN }, | ||
725 | { 0x1f, KEY_CHANNELDOWN }, | ||
726 | |||
727 | { 0x40, KEY_PAUSE }, | ||
728 | { 0x4c, KEY_PLAY }, | ||
729 | { 0x58, KEY_RECORD }, | ||
730 | { 0x54, KEY_PREVIOUS }, | ||
731 | { 0x48, KEY_STOP }, | ||
732 | { 0x5c, KEY_NEXT }, | ||
733 | }; | ||
734 | DEFINE_LEGACY_IR_KEYTABLE(cinergy_1400); | ||
735 | |||
736 | /* ---------------------------------------------------------------------- */ | ||
737 | |||
738 | /* AVERTV STUDIO 303 Remote */ | ||
739 | static struct ir_scancode avertv_303[] = { | ||
740 | { 0x2a, KEY_1 }, | ||
741 | { 0x32, KEY_2 }, | ||
742 | { 0x3a, KEY_3 }, | ||
743 | { 0x4a, KEY_4 }, | ||
744 | { 0x52, KEY_5 }, | ||
745 | { 0x5a, KEY_6 }, | ||
746 | { 0x6a, KEY_7 }, | ||
747 | { 0x72, KEY_8 }, | ||
748 | { 0x7a, KEY_9 }, | ||
749 | { 0x0e, KEY_0 }, | ||
750 | |||
751 | { 0x02, KEY_POWER }, | ||
752 | { 0x22, KEY_VIDEO }, | ||
753 | { 0x42, KEY_AUDIO }, | ||
754 | { 0x62, KEY_ZOOM }, | ||
755 | { 0x0a, KEY_TV }, | ||
756 | { 0x12, KEY_CD }, | ||
757 | { 0x1a, KEY_TEXT }, | ||
758 | |||
759 | { 0x16, KEY_SUBTITLE }, | ||
760 | { 0x1e, KEY_REWIND }, | ||
761 | { 0x06, KEY_PRINT }, | ||
762 | |||
763 | { 0x2e, KEY_SEARCH }, | ||
764 | { 0x36, KEY_SLEEP }, | ||
765 | { 0x3e, KEY_SHUFFLE }, | ||
766 | { 0x26, KEY_MUTE }, | ||
767 | |||
768 | { 0x4e, KEY_RECORD }, | ||
769 | { 0x56, KEY_PAUSE }, | ||
770 | { 0x5e, KEY_STOP }, | ||
771 | { 0x46, KEY_PLAY }, | ||
772 | |||
773 | { 0x6e, KEY_RED }, | ||
774 | { 0x0b, KEY_GREEN }, | ||
775 | { 0x66, KEY_YELLOW }, | ||
776 | { 0x03, KEY_BLUE }, | ||
777 | |||
778 | { 0x76, KEY_LEFT }, | ||
779 | { 0x7e, KEY_RIGHT }, | ||
780 | { 0x13, KEY_DOWN }, | ||
781 | { 0x1b, KEY_UP }, | ||
782 | }; | ||
783 | DEFINE_LEGACY_IR_KEYTABLE(avertv_303); | ||
784 | |||
785 | /* ---------------------------------------------------------------------- */ | ||
786 | |||
787 | /* DigitalNow DNTV Live! DVB-T Pro Remote */ | ||
788 | static struct ir_scancode dntv_live_dvbt_pro[] = { | ||
789 | { 0x16, KEY_POWER }, | ||
790 | { 0x5b, KEY_HOME }, | ||
791 | |||
792 | { 0x55, KEY_TV }, /* live tv */ | ||
793 | { 0x58, KEY_TUNER }, /* digital Radio */ | ||
794 | { 0x5a, KEY_RADIO }, /* FM radio */ | ||
795 | { 0x59, KEY_DVD }, /* dvd menu */ | ||
796 | { 0x03, KEY_1 }, | ||
797 | { 0x01, KEY_2 }, | ||
798 | { 0x06, KEY_3 }, | ||
799 | { 0x09, KEY_4 }, | ||
800 | { 0x1d, KEY_5 }, | ||
801 | { 0x1f, KEY_6 }, | ||
802 | { 0x0d, KEY_7 }, | ||
803 | { 0x19, KEY_8 }, | ||
804 | { 0x1b, KEY_9 }, | ||
805 | { 0x0c, KEY_CANCEL }, | ||
806 | { 0x15, KEY_0 }, | ||
807 | { 0x4a, KEY_CLEAR }, | ||
808 | { 0x13, KEY_BACK }, | ||
809 | { 0x00, KEY_TAB }, | ||
810 | { 0x4b, KEY_UP }, | ||
811 | { 0x4e, KEY_LEFT }, | ||
812 | { 0x4f, KEY_OK }, | ||
813 | { 0x52, KEY_RIGHT }, | ||
814 | { 0x51, KEY_DOWN }, | ||
815 | { 0x1e, KEY_VOLUMEUP }, | ||
816 | { 0x0a, KEY_VOLUMEDOWN }, | ||
817 | { 0x02, KEY_CHANNELDOWN }, | ||
818 | { 0x05, KEY_CHANNELUP }, | ||
819 | { 0x11, KEY_RECORD }, | ||
820 | { 0x14, KEY_PLAY }, | ||
821 | { 0x4c, KEY_PAUSE }, | ||
822 | { 0x1a, KEY_STOP }, | ||
823 | { 0x40, KEY_REWIND }, | ||
824 | { 0x12, KEY_FASTFORWARD }, | ||
825 | { 0x41, KEY_PREVIOUSSONG }, /* replay |< */ | ||
826 | { 0x42, KEY_NEXTSONG }, /* skip >| */ | ||
827 | { 0x54, KEY_CAMERA }, /* capture */ | ||
828 | { 0x50, KEY_LANGUAGE }, /* sap */ | ||
829 | { 0x47, KEY_TV2 }, /* pip */ | ||
830 | { 0x4d, KEY_SCREEN }, | ||
831 | { 0x43, KEY_SUBTITLE }, | ||
832 | { 0x10, KEY_MUTE }, | ||
833 | { 0x49, KEY_AUDIO }, /* l/r */ | ||
834 | { 0x07, KEY_SLEEP }, | ||
835 | { 0x08, KEY_VIDEO }, /* a/v */ | ||
836 | { 0x0e, KEY_PREVIOUS }, /* recall */ | ||
837 | { 0x45, KEY_ZOOM }, /* zoom + */ | ||
838 | { 0x46, KEY_ANGLE }, /* zoom - */ | ||
839 | { 0x56, KEY_RED }, | ||
840 | { 0x57, KEY_GREEN }, | ||
841 | { 0x5c, KEY_YELLOW }, | ||
842 | { 0x5d, KEY_BLUE }, | ||
843 | }; | ||
844 | DEFINE_LEGACY_IR_KEYTABLE(dntv_live_dvbt_pro); | ||
845 | |||
846 | static struct ir_scancode em_terratec[] = { | ||
847 | { 0x01, KEY_CHANNEL }, | ||
848 | { 0x02, KEY_SELECT }, | ||
849 | { 0x03, KEY_MUTE }, | ||
850 | { 0x04, KEY_POWER }, | ||
851 | { 0x05, KEY_1 }, | ||
852 | { 0x06, KEY_2 }, | ||
853 | { 0x07, KEY_3 }, | ||
854 | { 0x08, KEY_CHANNELUP }, | ||
855 | { 0x09, KEY_4 }, | ||
856 | { 0x0a, KEY_5 }, | ||
857 | { 0x0b, KEY_6 }, | ||
858 | { 0x0c, KEY_CHANNELDOWN }, | ||
859 | { 0x0d, KEY_7 }, | ||
860 | { 0x0e, KEY_8 }, | ||
861 | { 0x0f, KEY_9 }, | ||
862 | { 0x10, KEY_VOLUMEUP }, | ||
863 | { 0x11, KEY_0 }, | ||
864 | { 0x12, KEY_MENU }, | ||
865 | { 0x13, KEY_PRINT }, | ||
866 | { 0x14, KEY_VOLUMEDOWN }, | ||
867 | { 0x16, KEY_PAUSE }, | ||
868 | { 0x18, KEY_RECORD }, | ||
869 | { 0x19, KEY_REWIND }, | ||
870 | { 0x1a, KEY_PLAY }, | ||
871 | { 0x1b, KEY_FORWARD }, | ||
872 | { 0x1c, KEY_BACKSPACE }, | ||
873 | { 0x1e, KEY_STOP }, | ||
874 | { 0x40, KEY_ZOOM }, | ||
875 | }; | ||
876 | DEFINE_LEGACY_IR_KEYTABLE(em_terratec); | ||
877 | |||
878 | static struct ir_scancode pinnacle_grey[] = { | ||
879 | { 0x3a, KEY_0 }, | ||
880 | { 0x31, KEY_1 }, | ||
881 | { 0x32, KEY_2 }, | ||
882 | { 0x33, KEY_3 }, | ||
883 | { 0x34, KEY_4 }, | ||
884 | { 0x35, KEY_5 }, | ||
885 | { 0x36, KEY_6 }, | ||
886 | { 0x37, KEY_7 }, | ||
887 | { 0x38, KEY_8 }, | ||
888 | { 0x39, KEY_9 }, | ||
889 | |||
890 | { 0x2f, KEY_POWER }, | ||
891 | |||
892 | { 0x2e, KEY_P }, | ||
893 | { 0x1f, KEY_L }, | ||
894 | { 0x2b, KEY_I }, | ||
895 | |||
896 | { 0x2d, KEY_SCREEN }, | ||
897 | { 0x1e, KEY_ZOOM }, | ||
898 | { 0x1b, KEY_VOLUMEUP }, | ||
899 | { 0x0f, KEY_VOLUMEDOWN }, | ||
900 | { 0x17, KEY_CHANNELUP }, | ||
901 | { 0x1c, KEY_CHANNELDOWN }, | ||
902 | { 0x25, KEY_INFO }, | ||
903 | |||
904 | { 0x3c, KEY_MUTE }, | ||
905 | |||
906 | { 0x3d, KEY_LEFT }, | ||
907 | { 0x3b, KEY_RIGHT }, | ||
908 | |||
909 | { 0x3f, KEY_UP }, | ||
910 | { 0x3e, KEY_DOWN }, | ||
911 | { 0x1a, KEY_ENTER }, | ||
912 | |||
913 | { 0x1d, KEY_MENU }, | ||
914 | { 0x19, KEY_AGAIN }, | ||
915 | { 0x16, KEY_PREVIOUSSONG }, | ||
916 | { 0x13, KEY_NEXTSONG }, | ||
917 | { 0x15, KEY_PAUSE }, | ||
918 | { 0x0e, KEY_REWIND }, | ||
919 | { 0x0d, KEY_PLAY }, | ||
920 | { 0x0b, KEY_STOP }, | ||
921 | { 0x07, KEY_FORWARD }, | ||
922 | { 0x27, KEY_RECORD }, | ||
923 | { 0x26, KEY_TUNER }, | ||
924 | { 0x29, KEY_TEXT }, | ||
925 | { 0x2a, KEY_MEDIA }, | ||
926 | { 0x18, KEY_EPG }, | ||
927 | }; | ||
928 | DEFINE_LEGACY_IR_KEYTABLE(pinnacle_grey); | ||
929 | |||
930 | static struct ir_scancode flyvideo[] = { | ||
931 | { 0x0f, KEY_0 }, | ||
932 | { 0x03, KEY_1 }, | ||
933 | { 0x04, KEY_2 }, | ||
934 | { 0x05, KEY_3 }, | ||
935 | { 0x07, KEY_4 }, | ||
936 | { 0x08, KEY_5 }, | ||
937 | { 0x09, KEY_6 }, | ||
938 | { 0x0b, KEY_7 }, | ||
939 | { 0x0c, KEY_8 }, | ||
940 | { 0x0d, KEY_9 }, | ||
941 | |||
942 | { 0x0e, KEY_MODE }, /* Air/Cable */ | ||
943 | { 0x11, KEY_VIDEO }, /* Video */ | ||
944 | { 0x15, KEY_AUDIO }, /* Audio */ | ||
945 | { 0x00, KEY_POWER }, /* Power */ | ||
946 | { 0x18, KEY_TUNER }, /* AV Source */ | ||
947 | { 0x02, KEY_ZOOM }, /* Fullscreen */ | ||
948 | { 0x1a, KEY_LANGUAGE }, /* Stereo */ | ||
949 | { 0x1b, KEY_MUTE }, /* Mute */ | ||
950 | { 0x14, KEY_VOLUMEUP }, /* Volume + */ | ||
951 | { 0x17, KEY_VOLUMEDOWN },/* Volume - */ | ||
952 | { 0x12, KEY_CHANNELUP },/* Channel + */ | ||
953 | { 0x13, KEY_CHANNELDOWN },/* Channel - */ | ||
954 | { 0x06, KEY_AGAIN }, /* Recall */ | ||
955 | { 0x10, KEY_ENTER }, /* Enter */ | ||
956 | |||
957 | { 0x19, KEY_BACK }, /* Rewind ( <<< ) */ | ||
958 | { 0x1f, KEY_FORWARD }, /* Forward ( >>> ) */ | ||
959 | { 0x0a, KEY_ANGLE }, /* no label, may be used as the PAUSE button */ | ||
960 | }; | ||
961 | DEFINE_LEGACY_IR_KEYTABLE(flyvideo); | ||
962 | |||
963 | static struct ir_scancode flydvb[] = { | ||
964 | { 0x01, KEY_ZOOM }, /* Full Screen */ | ||
965 | { 0x00, KEY_POWER }, /* Power */ | ||
966 | |||
967 | { 0x03, KEY_1 }, | ||
968 | { 0x04, KEY_2 }, | ||
969 | { 0x05, KEY_3 }, | ||
970 | { 0x07, KEY_4 }, | ||
971 | { 0x08, KEY_5 }, | ||
972 | { 0x09, KEY_6 }, | ||
973 | { 0x0b, KEY_7 }, | ||
974 | { 0x0c, KEY_8 }, | ||
975 | { 0x0d, KEY_9 }, | ||
976 | { 0x06, KEY_AGAIN }, /* Recall */ | ||
977 | { 0x0f, KEY_0 }, | ||
978 | { 0x10, KEY_MUTE }, /* Mute */ | ||
979 | { 0x02, KEY_RADIO }, /* TV/Radio */ | ||
980 | { 0x1b, KEY_LANGUAGE }, /* SAP (Second Audio Program) */ | ||
981 | |||
982 | { 0x14, KEY_VOLUMEUP }, /* VOL+ */ | ||
983 | { 0x17, KEY_VOLUMEDOWN }, /* VOL- */ | ||
984 | { 0x12, KEY_CHANNELUP }, /* CH+ */ | ||
985 | { 0x13, KEY_CHANNELDOWN }, /* CH- */ | ||
986 | { 0x1d, KEY_ENTER }, /* Enter */ | ||
987 | |||
988 | { 0x1a, KEY_MODE }, /* PIP */ | ||
989 | { 0x18, KEY_TUNER }, /* Source */ | ||
990 | |||
991 | { 0x1e, KEY_RECORD }, /* Record/Pause */ | ||
992 | { 0x15, KEY_ANGLE }, /* Swap (no label on key) */ | ||
993 | { 0x1c, KEY_PAUSE }, /* Timeshift/Pause */ | ||
994 | { 0x19, KEY_BACK }, /* Rewind << */ | ||
995 | { 0x0a, KEY_PLAYPAUSE }, /* Play/Pause */ | ||
996 | { 0x1f, KEY_FORWARD }, /* Forward >> */ | ||
997 | { 0x16, KEY_PREVIOUS }, /* Back |<< */ | ||
998 | { 0x11, KEY_STOP }, /* Stop */ | ||
999 | { 0x0e, KEY_NEXT }, /* End >>| */ | ||
1000 | }; | ||
1001 | DEFINE_LEGACY_IR_KEYTABLE(flydvb); | ||
1002 | |||
1003 | static struct ir_scancode cinergy[] = { | ||
1004 | { 0x00, KEY_0 }, | ||
1005 | { 0x01, KEY_1 }, | ||
1006 | { 0x02, KEY_2 }, | ||
1007 | { 0x03, KEY_3 }, | ||
1008 | { 0x04, KEY_4 }, | ||
1009 | { 0x05, KEY_5 }, | ||
1010 | { 0x06, KEY_6 }, | ||
1011 | { 0x07, KEY_7 }, | ||
1012 | { 0x08, KEY_8 }, | ||
1013 | { 0x09, KEY_9 }, | ||
1014 | |||
1015 | { 0x0a, KEY_POWER }, | ||
1016 | { 0x0b, KEY_PROG1 }, /* app */ | ||
1017 | { 0x0c, KEY_ZOOM }, /* zoom/fullscreen */ | ||
1018 | { 0x0d, KEY_CHANNELUP }, /* channel */ | ||
1019 | { 0x0e, KEY_CHANNELDOWN }, /* channel- */ | ||
1020 | { 0x0f, KEY_VOLUMEUP }, | ||
1021 | { 0x10, KEY_VOLUMEDOWN }, | ||
1022 | { 0x11, KEY_TUNER }, /* AV */ | ||
1023 | { 0x12, KEY_NUMLOCK }, /* -/-- */ | ||
1024 | { 0x13, KEY_AUDIO }, /* audio */ | ||
1025 | { 0x14, KEY_MUTE }, | ||
1026 | { 0x15, KEY_UP }, | ||
1027 | { 0x16, KEY_DOWN }, | ||
1028 | { 0x17, KEY_LEFT }, | ||
1029 | { 0x18, KEY_RIGHT }, | ||
1030 | { 0x19, BTN_LEFT, }, | ||
1031 | { 0x1a, BTN_RIGHT, }, | ||
1032 | { 0x1b, KEY_WWW }, /* text */ | ||
1033 | { 0x1c, KEY_REWIND }, | ||
1034 | { 0x1d, KEY_FORWARD }, | ||
1035 | { 0x1e, KEY_RECORD }, | ||
1036 | { 0x1f, KEY_PLAY }, | ||
1037 | { 0x20, KEY_PREVIOUSSONG }, | ||
1038 | { 0x21, KEY_NEXTSONG }, | ||
1039 | { 0x22, KEY_PAUSE }, | ||
1040 | { 0x23, KEY_STOP }, | ||
1041 | }; | ||
1042 | DEFINE_LEGACY_IR_KEYTABLE(cinergy); | ||
1043 | |||
1044 | /* Alfons Geser <a.geser@cox.net> | ||
1045 | * updates from Job D. R. Borges <jobdrb@ig.com.br> */ | ||
1046 | static struct ir_scancode eztv[] = { | ||
1047 | { 0x12, KEY_POWER }, | ||
1048 | { 0x01, KEY_TV }, /* DVR */ | ||
1049 | { 0x15, KEY_DVD }, /* DVD */ | ||
1050 | { 0x17, KEY_AUDIO }, /* music */ | ||
1051 | /* DVR mode / DVD mode / music mode */ | ||
1052 | |||
1053 | { 0x1b, KEY_MUTE }, /* mute */ | ||
1054 | { 0x02, KEY_LANGUAGE }, /* MTS/SAP / audio / autoseek */ | ||
1055 | { 0x1e, KEY_SUBTITLE }, /* closed captioning / subtitle / seek */ | ||
1056 | { 0x16, KEY_ZOOM }, /* full screen */ | ||
1057 | { 0x1c, KEY_VIDEO }, /* video source / eject / delall */ | ||
1058 | { 0x1d, KEY_RESTART }, /* playback / angle / del */ | ||
1059 | { 0x2f, KEY_SEARCH }, /* scan / menu / playlist */ | ||
1060 | { 0x30, KEY_CHANNEL }, /* CH surfing / bookmark / memo */ | ||
1061 | |||
1062 | { 0x31, KEY_HELP }, /* help */ | ||
1063 | { 0x32, KEY_MODE }, /* num/memo */ | ||
1064 | { 0x33, KEY_ESC }, /* cancel */ | ||
1065 | |||
1066 | { 0x0c, KEY_UP }, /* up */ | ||
1067 | { 0x10, KEY_DOWN }, /* down */ | ||
1068 | { 0x08, KEY_LEFT }, /* left */ | ||
1069 | { 0x04, KEY_RIGHT }, /* right */ | ||
1070 | { 0x03, KEY_SELECT }, /* select */ | ||
1071 | |||
1072 | { 0x1f, KEY_REWIND }, /* rewind */ | ||
1073 | { 0x20, KEY_PLAYPAUSE },/* play/pause */ | ||
1074 | { 0x29, KEY_FORWARD }, /* forward */ | ||
1075 | { 0x14, KEY_AGAIN }, /* repeat */ | ||
1076 | { 0x2b, KEY_RECORD }, /* recording */ | ||
1077 | { 0x2c, KEY_STOP }, /* stop */ | ||
1078 | { 0x2d, KEY_PLAY }, /* play */ | ||
1079 | { 0x2e, KEY_CAMERA }, /* snapshot / shuffle */ | ||
1080 | |||
1081 | { 0x00, KEY_0 }, | ||
1082 | { 0x05, KEY_1 }, | ||
1083 | { 0x06, KEY_2 }, | ||
1084 | { 0x07, KEY_3 }, | ||
1085 | { 0x09, KEY_4 }, | ||
1086 | { 0x0a, KEY_5 }, | ||
1087 | { 0x0b, KEY_6 }, | ||
1088 | { 0x0d, KEY_7 }, | ||
1089 | { 0x0e, KEY_8 }, | ||
1090 | { 0x0f, KEY_9 }, | ||
1091 | |||
1092 | { 0x2a, KEY_VOLUMEUP }, | ||
1093 | { 0x11, KEY_VOLUMEDOWN }, | ||
1094 | { 0x18, KEY_CHANNELUP },/* CH.tracking up */ | ||
1095 | { 0x19, KEY_CHANNELDOWN },/* CH.tracking down */ | ||
1096 | |||
1097 | { 0x13, KEY_ENTER }, /* enter */ | ||
1098 | { 0x21, KEY_DOT }, /* . (decimal dot) */ | ||
1099 | }; | ||
1100 | DEFINE_LEGACY_IR_KEYTABLE(eztv); | ||
1101 | |||
1102 | /* Alex Hermann <gaaf@gmx.net> */ | ||
1103 | static struct ir_scancode avermedia[] = { | ||
1104 | { 0x28, KEY_1 }, | ||
1105 | { 0x18, KEY_2 }, | ||
1106 | { 0x38, KEY_3 }, | ||
1107 | { 0x24, KEY_4 }, | ||
1108 | { 0x14, KEY_5 }, | ||
1109 | { 0x34, KEY_6 }, | ||
1110 | { 0x2c, KEY_7 }, | ||
1111 | { 0x1c, KEY_8 }, | ||
1112 | { 0x3c, KEY_9 }, | ||
1113 | { 0x22, KEY_0 }, | ||
1114 | |||
1115 | { 0x20, KEY_TV }, /* TV/FM */ | ||
1116 | { 0x10, KEY_CD }, /* CD */ | ||
1117 | { 0x30, KEY_TEXT }, /* TELETEXT */ | ||
1118 | { 0x00, KEY_POWER }, /* POWER */ | ||
1119 | |||
1120 | { 0x08, KEY_VIDEO }, /* VIDEO */ | ||
1121 | { 0x04, KEY_AUDIO }, /* AUDIO */ | ||
1122 | { 0x0c, KEY_ZOOM }, /* FULL SCREEN */ | ||
1123 | |||
1124 | { 0x12, KEY_SUBTITLE }, /* DISPLAY */ | ||
1125 | { 0x32, KEY_REWIND }, /* LOOP */ | ||
1126 | { 0x02, KEY_PRINT }, /* PREVIEW */ | ||
1127 | |||
1128 | { 0x2a, KEY_SEARCH }, /* AUTOSCAN */ | ||
1129 | { 0x1a, KEY_SLEEP }, /* FREEZE */ | ||
1130 | { 0x3a, KEY_CAMERA }, /* SNAPSHOT */ | ||
1131 | { 0x0a, KEY_MUTE }, /* MUTE */ | ||
1132 | |||
1133 | { 0x26, KEY_RECORD }, /* RECORD */ | ||
1134 | { 0x16, KEY_PAUSE }, /* PAUSE */ | ||
1135 | { 0x36, KEY_STOP }, /* STOP */ | ||
1136 | { 0x06, KEY_PLAY }, /* PLAY */ | ||
1137 | |||
1138 | { 0x2e, KEY_RED }, /* RED */ | ||
1139 | { 0x21, KEY_GREEN }, /* GREEN */ | ||
1140 | { 0x0e, KEY_YELLOW }, /* YELLOW */ | ||
1141 | { 0x01, KEY_BLUE }, /* BLUE */ | ||
1142 | |||
1143 | { 0x1e, KEY_VOLUMEDOWN }, /* VOLUME- */ | ||
1144 | { 0x3e, KEY_VOLUMEUP }, /* VOLUME+ */ | ||
1145 | { 0x11, KEY_CHANNELDOWN }, /* CHANNEL/PAGE- */ | ||
1146 | { 0x31, KEY_CHANNELUP } /* CHANNEL/PAGE+ */ | ||
1147 | }; | ||
1148 | DEFINE_LEGACY_IR_KEYTABLE(avermedia); | ||
1149 | |||
1150 | static struct ir_scancode videomate_tv_pvr[] = { | ||
1151 | { 0x14, KEY_MUTE }, | ||
1152 | { 0x24, KEY_ZOOM }, | ||
1153 | |||
1154 | { 0x01, KEY_DVD }, | ||
1155 | { 0x23, KEY_RADIO }, | ||
1156 | { 0x00, KEY_TV }, | ||
1157 | |||
1158 | { 0x0a, KEY_REWIND }, | ||
1159 | { 0x08, KEY_PLAYPAUSE }, | ||
1160 | { 0x0f, KEY_FORWARD }, | ||
1161 | |||
1162 | { 0x02, KEY_PREVIOUS }, | ||
1163 | { 0x07, KEY_STOP }, | ||
1164 | { 0x06, KEY_NEXT }, | ||
1165 | |||
1166 | { 0x0c, KEY_UP }, | ||
1167 | { 0x0e, KEY_DOWN }, | ||
1168 | { 0x0b, KEY_LEFT }, | ||
1169 | { 0x0d, KEY_RIGHT }, | ||
1170 | { 0x11, KEY_OK }, | ||
1171 | |||
1172 | { 0x03, KEY_MENU }, | ||
1173 | { 0x09, KEY_SETUP }, | ||
1174 | { 0x05, KEY_VIDEO }, | ||
1175 | { 0x22, KEY_CHANNEL }, | ||
1176 | |||
1177 | { 0x12, KEY_VOLUMEUP }, | ||
1178 | { 0x15, KEY_VOLUMEDOWN }, | ||
1179 | { 0x10, KEY_CHANNELUP }, | ||
1180 | { 0x13, KEY_CHANNELDOWN }, | ||
1181 | |||
1182 | { 0x04, KEY_RECORD }, | ||
1183 | |||
1184 | { 0x16, KEY_1 }, | ||
1185 | { 0x17, KEY_2 }, | ||
1186 | { 0x18, KEY_3 }, | ||
1187 | { 0x19, KEY_4 }, | ||
1188 | { 0x1a, KEY_5 }, | ||
1189 | { 0x1b, KEY_6 }, | ||
1190 | { 0x1c, KEY_7 }, | ||
1191 | { 0x1d, KEY_8 }, | ||
1192 | { 0x1e, KEY_9 }, | ||
1193 | { 0x1f, KEY_0 }, | ||
1194 | |||
1195 | { 0x20, KEY_LANGUAGE }, | ||
1196 | { 0x21, KEY_SLEEP }, | ||
1197 | }; | ||
1198 | DEFINE_LEGACY_IR_KEYTABLE(videomate_tv_pvr); | ||
1199 | |||
1200 | /* Michael Tokarev <mjt@tls.msk.ru> | ||
1201 | http://www.corpit.ru/mjt/beholdTV/remote_control.jpg | ||
1202 | keytable is used by MANLI MTV00[0x0c] and BeholdTV 40[13] at | ||
1203 | least, and probably other cards too. | ||
1204 | The "ascii-art picture" below (in comments, first row | ||
1205 | is the keycode in hex, and subsequent row(s) shows | ||
1206 | the button labels (several variants when appropriate) | ||
1207 | helps to descide which keycodes to assign to the buttons. | ||
1208 | */ | ||
1209 | static struct ir_scancode manli[] = { | ||
1210 | |||
1211 | /* 0x1c 0x12 * | ||
1212 | * FUNCTION POWER * | ||
1213 | * FM (|) * | ||
1214 | * */ | ||
1215 | { 0x1c, KEY_RADIO }, /*XXX*/ | ||
1216 | { 0x12, KEY_POWER }, | ||
1217 | |||
1218 | /* 0x01 0x02 0x03 * | ||
1219 | * 1 2 3 * | ||
1220 | * * | ||
1221 | * 0x04 0x05 0x06 * | ||
1222 | * 4 5 6 * | ||
1223 | * * | ||
1224 | * 0x07 0x08 0x09 * | ||
1225 | * 7 8 9 * | ||
1226 | * */ | ||
1227 | { 0x01, KEY_1 }, | ||
1228 | { 0x02, KEY_2 }, | ||
1229 | { 0x03, KEY_3 }, | ||
1230 | { 0x04, KEY_4 }, | ||
1231 | { 0x05, KEY_5 }, | ||
1232 | { 0x06, KEY_6 }, | ||
1233 | { 0x07, KEY_7 }, | ||
1234 | { 0x08, KEY_8 }, | ||
1235 | { 0x09, KEY_9 }, | ||
1236 | |||
1237 | /* 0x0a 0x00 0x17 * | ||
1238 | * RECALL 0 +100 * | ||
1239 | * PLUS * | ||
1240 | * */ | ||
1241 | { 0x0a, KEY_AGAIN }, /*XXX KEY_REWIND? */ | ||
1242 | { 0x00, KEY_0 }, | ||
1243 | { 0x17, KEY_DIGITS }, /*XXX*/ | ||
1244 | |||
1245 | /* 0x14 0x10 * | ||
1246 | * MENU INFO * | ||
1247 | * OSD */ | ||
1248 | { 0x14, KEY_MENU }, | ||
1249 | { 0x10, KEY_INFO }, | ||
1250 | |||
1251 | /* 0x0b * | ||
1252 | * Up * | ||
1253 | * * | ||
1254 | * 0x18 0x16 0x0c * | ||
1255 | * Left Ok Right * | ||
1256 | * * | ||
1257 | * 0x015 * | ||
1258 | * Down * | ||
1259 | * */ | ||
1260 | { 0x0b, KEY_UP }, | ||
1261 | { 0x18, KEY_LEFT }, | ||
1262 | { 0x16, KEY_OK }, /*XXX KEY_SELECT? KEY_ENTER? */ | ||
1263 | { 0x0c, KEY_RIGHT }, | ||
1264 | { 0x15, KEY_DOWN }, | ||
1265 | |||
1266 | /* 0x11 0x0d * | ||
1267 | * TV/AV MODE * | ||
1268 | * SOURCE STEREO * | ||
1269 | * */ | ||
1270 | { 0x11, KEY_TV }, /*XXX*/ | ||
1271 | { 0x0d, KEY_MODE }, /*XXX there's no KEY_STEREO */ | ||
1272 | |||
1273 | /* 0x0f 0x1b 0x1a * | ||
1274 | * AUDIO Vol+ Chan+ * | ||
1275 | * TIMESHIFT??? * | ||
1276 | * * | ||
1277 | * 0x0e 0x1f 0x1e * | ||
1278 | * SLEEP Vol- Chan- * | ||
1279 | * */ | ||
1280 | { 0x0f, KEY_AUDIO }, | ||
1281 | { 0x1b, KEY_VOLUMEUP }, | ||
1282 | { 0x1a, KEY_CHANNELUP }, | ||
1283 | { 0x0e, KEY_TIME }, | ||
1284 | { 0x1f, KEY_VOLUMEDOWN }, | ||
1285 | { 0x1e, KEY_CHANNELDOWN }, | ||
1286 | |||
1287 | /* 0x13 0x19 * | ||
1288 | * MUTE SNAPSHOT* | ||
1289 | * */ | ||
1290 | { 0x13, KEY_MUTE }, | ||
1291 | { 0x19, KEY_CAMERA }, | ||
1292 | |||
1293 | /* 0x1d unused ? */ | ||
1294 | }; | ||
1295 | DEFINE_LEGACY_IR_KEYTABLE(manli); | ||
1296 | |||
1297 | /* Mike Baikov <mike@baikov.com> */ | ||
1298 | static struct ir_scancode gotview7135[] = { | ||
1299 | |||
1300 | { 0x11, KEY_POWER }, | ||
1301 | { 0x35, KEY_TV }, | ||
1302 | { 0x1b, KEY_0 }, | ||
1303 | { 0x29, KEY_1 }, | ||
1304 | { 0x19, KEY_2 }, | ||
1305 | { 0x39, KEY_3 }, | ||
1306 | { 0x1f, KEY_4 }, | ||
1307 | { 0x2c, KEY_5 }, | ||
1308 | { 0x21, KEY_6 }, | ||
1309 | { 0x24, KEY_7 }, | ||
1310 | { 0x18, KEY_8 }, | ||
1311 | { 0x2b, KEY_9 }, | ||
1312 | { 0x3b, KEY_AGAIN }, /* LOOP */ | ||
1313 | { 0x06, KEY_AUDIO }, | ||
1314 | { 0x31, KEY_PRINT }, /* PREVIEW */ | ||
1315 | { 0x3e, KEY_VIDEO }, | ||
1316 | { 0x10, KEY_CHANNELUP }, | ||
1317 | { 0x20, KEY_CHANNELDOWN }, | ||
1318 | { 0x0c, KEY_VOLUMEDOWN }, | ||
1319 | { 0x28, KEY_VOLUMEUP }, | ||
1320 | { 0x08, KEY_MUTE }, | ||
1321 | { 0x26, KEY_SEARCH }, /* SCAN */ | ||
1322 | { 0x3f, KEY_CAMERA }, /* SNAPSHOT */ | ||
1323 | { 0x12, KEY_RECORD }, | ||
1324 | { 0x32, KEY_STOP }, | ||
1325 | { 0x3c, KEY_PLAY }, | ||
1326 | { 0x1d, KEY_REWIND }, | ||
1327 | { 0x2d, KEY_PAUSE }, | ||
1328 | { 0x0d, KEY_FORWARD }, | ||
1329 | { 0x05, KEY_ZOOM }, /*FULL*/ | ||
1330 | |||
1331 | { 0x2a, KEY_F21 }, /* LIVE TIMESHIFT */ | ||
1332 | { 0x0e, KEY_F22 }, /* MIN TIMESHIFT */ | ||
1333 | { 0x1e, KEY_TIME }, /* TIMESHIFT */ | ||
1334 | { 0x38, KEY_F24 }, /* NORMAL TIMESHIFT */ | ||
1335 | }; | ||
1336 | DEFINE_LEGACY_IR_KEYTABLE(gotview7135); | ||
1337 | |||
1338 | static struct ir_scancode purpletv[] = { | ||
1339 | { 0x03, KEY_POWER }, | ||
1340 | { 0x6f, KEY_MUTE }, | ||
1341 | { 0x10, KEY_BACKSPACE }, /* Recall */ | ||
1342 | |||
1343 | { 0x11, KEY_0 }, | ||
1344 | { 0x04, KEY_1 }, | ||
1345 | { 0x05, KEY_2 }, | ||
1346 | { 0x06, KEY_3 }, | ||
1347 | { 0x08, KEY_4 }, | ||
1348 | { 0x09, KEY_5 }, | ||
1349 | { 0x0a, KEY_6 }, | ||
1350 | { 0x0c, KEY_7 }, | ||
1351 | { 0x0d, KEY_8 }, | ||
1352 | { 0x0e, KEY_9 }, | ||
1353 | { 0x12, KEY_DOT }, /* 100+ */ | ||
1354 | |||
1355 | { 0x07, KEY_VOLUMEUP }, | ||
1356 | { 0x0b, KEY_VOLUMEDOWN }, | ||
1357 | { 0x1a, KEY_KPPLUS }, | ||
1358 | { 0x18, KEY_KPMINUS }, | ||
1359 | { 0x15, KEY_UP }, | ||
1360 | { 0x1d, KEY_DOWN }, | ||
1361 | { 0x0f, KEY_CHANNELUP }, | ||
1362 | { 0x13, KEY_CHANNELDOWN }, | ||
1363 | { 0x48, KEY_ZOOM }, | ||
1364 | |||
1365 | { 0x1b, KEY_VIDEO }, /* Video source */ | ||
1366 | { 0x1f, KEY_CAMERA }, /* Snapshot */ | ||
1367 | { 0x49, KEY_LANGUAGE }, /* MTS Select */ | ||
1368 | { 0x19, KEY_SEARCH }, /* Auto Scan */ | ||
1369 | |||
1370 | { 0x4b, KEY_RECORD }, | ||
1371 | { 0x46, KEY_PLAY }, | ||
1372 | { 0x45, KEY_PAUSE }, /* Pause */ | ||
1373 | { 0x44, KEY_STOP }, | ||
1374 | { 0x43, KEY_TIME }, /* Time Shift */ | ||
1375 | { 0x17, KEY_CHANNEL }, /* SURF CH */ | ||
1376 | { 0x40, KEY_FORWARD }, /* Forward ? */ | ||
1377 | { 0x42, KEY_REWIND }, /* Backward ? */ | ||
1378 | |||
1379 | }; | ||
1380 | DEFINE_LEGACY_IR_KEYTABLE(purpletv); | ||
1381 | |||
1382 | /* Mapping for the 28 key remote control as seen at | ||
1383 | http://www.sednacomputer.com/photo/cardbus-tv.jpg | ||
1384 | Pavel Mihaylov <bin@bash.info> | ||
1385 | Also for the remote bundled with Kozumi KTV-01C card */ | ||
1386 | static struct ir_scancode pctv_sedna[] = { | ||
1387 | { 0x00, KEY_0 }, | ||
1388 | { 0x01, KEY_1 }, | ||
1389 | { 0x02, KEY_2 }, | ||
1390 | { 0x03, KEY_3 }, | ||
1391 | { 0x04, KEY_4 }, | ||
1392 | { 0x05, KEY_5 }, | ||
1393 | { 0x06, KEY_6 }, | ||
1394 | { 0x07, KEY_7 }, | ||
1395 | { 0x08, KEY_8 }, | ||
1396 | { 0x09, KEY_9 }, | ||
1397 | |||
1398 | { 0x0a, KEY_AGAIN }, /* Recall */ | ||
1399 | { 0x0b, KEY_CHANNELUP }, | ||
1400 | { 0x0c, KEY_VOLUMEUP }, | ||
1401 | { 0x0d, KEY_MODE }, /* Stereo */ | ||
1402 | { 0x0e, KEY_STOP }, | ||
1403 | { 0x0f, KEY_PREVIOUSSONG }, | ||
1404 | { 0x10, KEY_ZOOM }, | ||
1405 | { 0x11, KEY_TUNER }, /* Source */ | ||
1406 | { 0x12, KEY_POWER }, | ||
1407 | { 0x13, KEY_MUTE }, | ||
1408 | { 0x15, KEY_CHANNELDOWN }, | ||
1409 | { 0x18, KEY_VOLUMEDOWN }, | ||
1410 | { 0x19, KEY_CAMERA }, /* Snapshot */ | ||
1411 | { 0x1a, KEY_NEXTSONG }, | ||
1412 | { 0x1b, KEY_TIME }, /* Time Shift */ | ||
1413 | { 0x1c, KEY_RADIO }, /* FM Radio */ | ||
1414 | { 0x1d, KEY_RECORD }, | ||
1415 | { 0x1e, KEY_PAUSE }, | ||
1416 | /* additional codes for Kozumi's remote */ | ||
1417 | { 0x14, KEY_INFO }, /* OSD */ | ||
1418 | { 0x16, KEY_OK }, /* OK */ | ||
1419 | { 0x17, KEY_DIGITS }, /* Plus */ | ||
1420 | { 0x1f, KEY_PLAY }, /* Play */ | ||
1421 | }; | ||
1422 | DEFINE_LEGACY_IR_KEYTABLE(pctv_sedna); | ||
1423 | |||
1424 | /* Mark Phalan <phalanm@o2.ie> */ | ||
1425 | static struct ir_scancode pv951[] = { | ||
1426 | { 0x00, KEY_0 }, | ||
1427 | { 0x01, KEY_1 }, | ||
1428 | { 0x02, KEY_2 }, | ||
1429 | { 0x03, KEY_3 }, | ||
1430 | { 0x04, KEY_4 }, | ||
1431 | { 0x05, KEY_5 }, | ||
1432 | { 0x06, KEY_6 }, | ||
1433 | { 0x07, KEY_7 }, | ||
1434 | { 0x08, KEY_8 }, | ||
1435 | { 0x09, KEY_9 }, | ||
1436 | |||
1437 | { 0x12, KEY_POWER }, | ||
1438 | { 0x10, KEY_MUTE }, | ||
1439 | { 0x1f, KEY_VOLUMEDOWN }, | ||
1440 | { 0x1b, KEY_VOLUMEUP }, | ||
1441 | { 0x1a, KEY_CHANNELUP }, | ||
1442 | { 0x1e, KEY_CHANNELDOWN }, | ||
1443 | { 0x0e, KEY_PAGEUP }, | ||
1444 | { 0x1d, KEY_PAGEDOWN }, | ||
1445 | { 0x13, KEY_SOUND }, | ||
1446 | |||
1447 | { 0x18, KEY_KPPLUSMINUS }, /* CH +/- */ | ||
1448 | { 0x16, KEY_SUBTITLE }, /* CC */ | ||
1449 | { 0x0d, KEY_TEXT }, /* TTX */ | ||
1450 | { 0x0b, KEY_TV }, /* AIR/CBL */ | ||
1451 | { 0x11, KEY_PC }, /* PC/TV */ | ||
1452 | { 0x17, KEY_OK }, /* CH RTN */ | ||
1453 | { 0x19, KEY_MODE }, /* FUNC */ | ||
1454 | { 0x0c, KEY_SEARCH }, /* AUTOSCAN */ | ||
1455 | |||
1456 | /* Not sure what to do with these ones! */ | ||
1457 | { 0x0f, KEY_SELECT }, /* SOURCE */ | ||
1458 | { 0x0a, KEY_KPPLUS }, /* +100 */ | ||
1459 | { 0x14, KEY_EQUAL }, /* SYNC */ | ||
1460 | { 0x1c, KEY_MEDIA }, /* PC/TV */ | ||
1461 | }; | ||
1462 | DEFINE_LEGACY_IR_KEYTABLE(pv951); | ||
1463 | |||
1464 | /* generic RC5 keytable */ | ||
1465 | /* see http://users.pandora.be/nenya/electronics/rc5/codes00.htm */ | ||
1466 | /* used by old (black) Hauppauge remotes */ | ||
1467 | static struct ir_scancode rc5_tv[] = { | ||
1468 | /* Keys 0 to 9 */ | ||
1469 | { 0x00, KEY_0 }, | ||
1470 | { 0x01, KEY_1 }, | ||
1471 | { 0x02, KEY_2 }, | ||
1472 | { 0x03, KEY_3 }, | ||
1473 | { 0x04, KEY_4 }, | ||
1474 | { 0x05, KEY_5 }, | ||
1475 | { 0x06, KEY_6 }, | ||
1476 | { 0x07, KEY_7 }, | ||
1477 | { 0x08, KEY_8 }, | ||
1478 | { 0x09, KEY_9 }, | ||
1479 | |||
1480 | { 0x0b, KEY_CHANNEL }, /* channel / program (japan: 11) */ | ||
1481 | { 0x0c, KEY_POWER }, /* standby */ | ||
1482 | { 0x0d, KEY_MUTE }, /* mute / demute */ | ||
1483 | { 0x0f, KEY_TV }, /* display */ | ||
1484 | { 0x10, KEY_VOLUMEUP }, | ||
1485 | { 0x11, KEY_VOLUMEDOWN }, | ||
1486 | { 0x12, KEY_BRIGHTNESSUP }, | ||
1487 | { 0x13, KEY_BRIGHTNESSDOWN }, | ||
1488 | { 0x1e, KEY_SEARCH }, /* search + */ | ||
1489 | { 0x20, KEY_CHANNELUP }, /* channel / program + */ | ||
1490 | { 0x21, KEY_CHANNELDOWN }, /* channel / program - */ | ||
1491 | { 0x22, KEY_CHANNEL }, /* alt / channel */ | ||
1492 | { 0x23, KEY_LANGUAGE }, /* 1st / 2nd language */ | ||
1493 | { 0x26, KEY_SLEEP }, /* sleeptimer */ | ||
1494 | { 0x2e, KEY_MENU }, /* 2nd controls (USA: menu) */ | ||
1495 | { 0x30, KEY_PAUSE }, | ||
1496 | { 0x32, KEY_REWIND }, | ||
1497 | { 0x33, KEY_GOTO }, | ||
1498 | { 0x35, KEY_PLAY }, | ||
1499 | { 0x36, KEY_STOP }, | ||
1500 | { 0x37, KEY_RECORD }, /* recording */ | ||
1501 | { 0x3c, KEY_TEXT }, /* teletext submode (Japan: 12) */ | ||
1502 | { 0x3d, KEY_SUSPEND }, /* system standby */ | ||
1503 | |||
1504 | }; | ||
1505 | DEFINE_LEGACY_IR_KEYTABLE(rc5_tv); | ||
1506 | |||
1507 | /* Table for Leadtek Winfast Remote Controls - used by both bttv and cx88 */ | ||
1508 | static struct ir_scancode winfast[] = { | ||
1509 | /* Keys 0 to 9 */ | ||
1510 | { 0x12, KEY_0 }, | ||
1511 | { 0x05, KEY_1 }, | ||
1512 | { 0x06, KEY_2 }, | ||
1513 | { 0x07, KEY_3 }, | ||
1514 | { 0x09, KEY_4 }, | ||
1515 | { 0x0a, KEY_5 }, | ||
1516 | { 0x0b, KEY_6 }, | ||
1517 | { 0x0d, KEY_7 }, | ||
1518 | { 0x0e, KEY_8 }, | ||
1519 | { 0x0f, KEY_9 }, | ||
1520 | |||
1521 | { 0x00, KEY_POWER }, | ||
1522 | { 0x1b, KEY_AUDIO }, /* Audio Source */ | ||
1523 | { 0x02, KEY_TUNER }, /* TV/FM, not on Y0400052 */ | ||
1524 | { 0x1e, KEY_VIDEO }, /* Video Source */ | ||
1525 | { 0x16, KEY_INFO }, /* Display information */ | ||
1526 | { 0x04, KEY_VOLUMEUP }, | ||
1527 | { 0x08, KEY_VOLUMEDOWN }, | ||
1528 | { 0x0c, KEY_CHANNELUP }, | ||
1529 | { 0x10, KEY_CHANNELDOWN }, | ||
1530 | { 0x03, KEY_ZOOM }, /* fullscreen */ | ||
1531 | { 0x1f, KEY_TEXT }, /* closed caption/teletext */ | ||
1532 | { 0x20, KEY_SLEEP }, | ||
1533 | { 0x29, KEY_CLEAR }, /* boss key */ | ||
1534 | { 0x14, KEY_MUTE }, | ||
1535 | { 0x2b, KEY_RED }, | ||
1536 | { 0x2c, KEY_GREEN }, | ||
1537 | { 0x2d, KEY_YELLOW }, | ||
1538 | { 0x2e, KEY_BLUE }, | ||
1539 | { 0x18, KEY_KPPLUS }, /* fine tune + , not on Y040052 */ | ||
1540 | { 0x19, KEY_KPMINUS }, /* fine tune - , not on Y040052 */ | ||
1541 | { 0x2a, KEY_MEDIA }, /* PIP (Picture in picture */ | ||
1542 | { 0x21, KEY_DOT }, | ||
1543 | { 0x13, KEY_ENTER }, | ||
1544 | { 0x11, KEY_LAST }, /* Recall (last channel */ | ||
1545 | { 0x22, KEY_PREVIOUS }, | ||
1546 | { 0x23, KEY_PLAYPAUSE }, | ||
1547 | { 0x24, KEY_NEXT }, | ||
1548 | { 0x25, KEY_TIME }, /* Time Shifting */ | ||
1549 | { 0x26, KEY_STOP }, | ||
1550 | { 0x27, KEY_RECORD }, | ||
1551 | { 0x28, KEY_SAVE }, /* Screenshot */ | ||
1552 | { 0x2f, KEY_MENU }, | ||
1553 | { 0x30, KEY_CANCEL }, | ||
1554 | { 0x31, KEY_CHANNEL }, /* Channel Surf */ | ||
1555 | { 0x32, KEY_SUBTITLE }, | ||
1556 | { 0x33, KEY_LANGUAGE }, | ||
1557 | { 0x34, KEY_REWIND }, | ||
1558 | { 0x35, KEY_FASTFORWARD }, | ||
1559 | { 0x36, KEY_TV }, | ||
1560 | { 0x37, KEY_RADIO }, /* FM */ | ||
1561 | { 0x38, KEY_DVD }, | ||
1562 | |||
1563 | { 0x1a, KEY_MODE}, /* change to MCE mode on Y04G0051 */ | ||
1564 | { 0x3e, KEY_F21 }, /* MCE +VOL, on Y04G0033 */ | ||
1565 | { 0x3a, KEY_F22 }, /* MCE -VOL, on Y04G0033 */ | ||
1566 | { 0x3b, KEY_F23 }, /* MCE +CH, on Y04G0033 */ | ||
1567 | { 0x3f, KEY_F24 } /* MCE -CH, on Y04G0033 */ | ||
1568 | }; | ||
1569 | DEFINE_LEGACY_IR_KEYTABLE(winfast); | ||
1570 | |||
1571 | static struct ir_scancode pinnacle_color[] = { | ||
1572 | { 0x59, KEY_MUTE }, | ||
1573 | { 0x4a, KEY_POWER }, | ||
1574 | |||
1575 | { 0x18, KEY_TEXT }, | ||
1576 | { 0x26, KEY_TV }, | ||
1577 | { 0x3d, KEY_PRINT }, | ||
1578 | |||
1579 | { 0x48, KEY_RED }, | ||
1580 | { 0x04, KEY_GREEN }, | ||
1581 | { 0x11, KEY_YELLOW }, | ||
1582 | { 0x00, KEY_BLUE }, | ||
1583 | |||
1584 | { 0x2d, KEY_VOLUMEUP }, | ||
1585 | { 0x1e, KEY_VOLUMEDOWN }, | ||
1586 | |||
1587 | { 0x49, KEY_MENU }, | ||
1588 | |||
1589 | { 0x16, KEY_CHANNELUP }, | ||
1590 | { 0x17, KEY_CHANNELDOWN }, | ||
1591 | |||
1592 | { 0x20, KEY_UP }, | ||
1593 | { 0x21, KEY_DOWN }, | ||
1594 | { 0x22, KEY_LEFT }, | ||
1595 | { 0x23, KEY_RIGHT }, | ||
1596 | { 0x0d, KEY_SELECT }, | ||
1597 | |||
1598 | { 0x08, KEY_BACK }, | ||
1599 | { 0x07, KEY_REFRESH }, | ||
1600 | |||
1601 | { 0x2f, KEY_ZOOM }, | ||
1602 | { 0x29, KEY_RECORD }, | ||
1603 | |||
1604 | { 0x4b, KEY_PAUSE }, | ||
1605 | { 0x4d, KEY_REWIND }, | ||
1606 | { 0x2e, KEY_PLAY }, | ||
1607 | { 0x4e, KEY_FORWARD }, | ||
1608 | { 0x53, KEY_PREVIOUS }, | ||
1609 | { 0x4c, KEY_STOP }, | ||
1610 | { 0x54, KEY_NEXT }, | ||
1611 | |||
1612 | { 0x69, KEY_0 }, | ||
1613 | { 0x6a, KEY_1 }, | ||
1614 | { 0x6b, KEY_2 }, | ||
1615 | { 0x6c, KEY_3 }, | ||
1616 | { 0x6d, KEY_4 }, | ||
1617 | { 0x6e, KEY_5 }, | ||
1618 | { 0x6f, KEY_6 }, | ||
1619 | { 0x70, KEY_7 }, | ||
1620 | { 0x71, KEY_8 }, | ||
1621 | { 0x72, KEY_9 }, | ||
1622 | |||
1623 | { 0x74, KEY_CHANNEL }, | ||
1624 | { 0x0a, KEY_BACKSPACE }, | ||
1625 | }; | ||
1626 | DEFINE_LEGACY_IR_KEYTABLE(pinnacle_color); | ||
1627 | |||
1628 | /* Hauppauge: the newer, gray remotes (seems there are multiple | ||
1629 | * slightly different versions), shipped with cx88+ivtv cards. | ||
1630 | * almost rc5 coding, but some non-standard keys */ | ||
1631 | static struct ir_scancode hauppauge_new[] = { | ||
1632 | /* Keys 0 to 9 */ | ||
1633 | { 0x00, KEY_0 }, | ||
1634 | { 0x01, KEY_1 }, | ||
1635 | { 0x02, KEY_2 }, | ||
1636 | { 0x03, KEY_3 }, | ||
1637 | { 0x04, KEY_4 }, | ||
1638 | { 0x05, KEY_5 }, | ||
1639 | { 0x06, KEY_6 }, | ||
1640 | { 0x07, KEY_7 }, | ||
1641 | { 0x08, KEY_8 }, | ||
1642 | { 0x09, KEY_9 }, | ||
1643 | |||
1644 | { 0x0a, KEY_TEXT }, /* keypad asterisk as well */ | ||
1645 | { 0x0b, KEY_RED }, /* red button */ | ||
1646 | { 0x0c, KEY_RADIO }, | ||
1647 | { 0x0d, KEY_MENU }, | ||
1648 | { 0x0e, KEY_SUBTITLE }, /* also the # key */ | ||
1649 | { 0x0f, KEY_MUTE }, | ||
1650 | { 0x10, KEY_VOLUMEUP }, | ||
1651 | { 0x11, KEY_VOLUMEDOWN }, | ||
1652 | { 0x12, KEY_PREVIOUS }, /* previous channel */ | ||
1653 | { 0x14, KEY_UP }, | ||
1654 | { 0x15, KEY_DOWN }, | ||
1655 | { 0x16, KEY_LEFT }, | ||
1656 | { 0x17, KEY_RIGHT }, | ||
1657 | { 0x18, KEY_VIDEO }, /* Videos */ | ||
1658 | { 0x19, KEY_AUDIO }, /* Music */ | ||
1659 | /* 0x1a: Pictures - presume this means | ||
1660 | "Multimedia Home Platform" - | ||
1661 | no "PICTURES" key in input.h | ||
1662 | */ | ||
1663 | { 0x1a, KEY_MHP }, | ||
1664 | |||
1665 | { 0x1b, KEY_EPG }, /* Guide */ | ||
1666 | { 0x1c, KEY_TV }, | ||
1667 | { 0x1e, KEY_NEXTSONG }, /* skip >| */ | ||
1668 | { 0x1f, KEY_EXIT }, /* back/exit */ | ||
1669 | { 0x20, KEY_CHANNELUP }, /* channel / program + */ | ||
1670 | { 0x21, KEY_CHANNELDOWN }, /* channel / program - */ | ||
1671 | { 0x22, KEY_CHANNEL }, /* source (old black remote) */ | ||
1672 | { 0x24, KEY_PREVIOUSSONG }, /* replay |< */ | ||
1673 | { 0x25, KEY_ENTER }, /* OK */ | ||
1674 | { 0x26, KEY_SLEEP }, /* minimize (old black remote) */ | ||
1675 | { 0x29, KEY_BLUE }, /* blue key */ | ||
1676 | { 0x2e, KEY_GREEN }, /* green button */ | ||
1677 | { 0x30, KEY_PAUSE }, /* pause */ | ||
1678 | { 0x32, KEY_REWIND }, /* backward << */ | ||
1679 | { 0x34, KEY_FASTFORWARD }, /* forward >> */ | ||
1680 | { 0x35, KEY_PLAY }, | ||
1681 | { 0x36, KEY_STOP }, | ||
1682 | { 0x37, KEY_RECORD }, /* recording */ | ||
1683 | { 0x38, KEY_YELLOW }, /* yellow key */ | ||
1684 | { 0x3b, KEY_SELECT }, /* top right button */ | ||
1685 | { 0x3c, KEY_ZOOM }, /* full */ | ||
1686 | { 0x3d, KEY_POWER }, /* system power (green button) */ | ||
1687 | }; | ||
1688 | DEFINE_LEGACY_IR_KEYTABLE(hauppauge_new); | ||
1689 | |||
1690 | static struct ir_scancode npgtech[] = { | ||
1691 | { 0x1d, KEY_SWITCHVIDEOMODE }, /* switch inputs */ | ||
1692 | { 0x2a, KEY_FRONT }, | ||
1693 | |||
1694 | { 0x3e, KEY_1 }, | ||
1695 | { 0x02, KEY_2 }, | ||
1696 | { 0x06, KEY_3 }, | ||
1697 | { 0x0a, KEY_4 }, | ||
1698 | { 0x0e, KEY_5 }, | ||
1699 | { 0x12, KEY_6 }, | ||
1700 | { 0x16, KEY_7 }, | ||
1701 | { 0x1a, KEY_8 }, | ||
1702 | { 0x1e, KEY_9 }, | ||
1703 | { 0x3a, KEY_0 }, | ||
1704 | { 0x22, KEY_NUMLOCK }, /* -/-- */ | ||
1705 | { 0x20, KEY_REFRESH }, | ||
1706 | |||
1707 | { 0x03, KEY_BRIGHTNESSDOWN }, | ||
1708 | { 0x28, KEY_AUDIO }, | ||
1709 | { 0x3c, KEY_CHANNELUP }, | ||
1710 | { 0x3f, KEY_VOLUMEDOWN }, | ||
1711 | { 0x2e, KEY_MUTE }, | ||
1712 | { 0x3b, KEY_VOLUMEUP }, | ||
1713 | { 0x00, KEY_CHANNELDOWN }, | ||
1714 | { 0x07, KEY_BRIGHTNESSUP }, | ||
1715 | { 0x2c, KEY_TEXT }, | ||
1716 | |||
1717 | { 0x37, KEY_RECORD }, | ||
1718 | { 0x17, KEY_PLAY }, | ||
1719 | { 0x13, KEY_PAUSE }, | ||
1720 | { 0x26, KEY_STOP }, | ||
1721 | { 0x18, KEY_FASTFORWARD }, | ||
1722 | { 0x14, KEY_REWIND }, | ||
1723 | { 0x33, KEY_ZOOM }, | ||
1724 | { 0x32, KEY_KEYBOARD }, | ||
1725 | { 0x30, KEY_GOTO }, /* Pointing arrow */ | ||
1726 | { 0x36, KEY_MACRO }, /* Maximize/Minimize (yellow) */ | ||
1727 | { 0x0b, KEY_RADIO }, | ||
1728 | { 0x10, KEY_POWER }, | ||
1729 | |||
1730 | }; | ||
1731 | DEFINE_LEGACY_IR_KEYTABLE(npgtech); | ||
1732 | |||
1733 | /* Norwood Micro (non-Pro) TV Tuner | ||
1734 | By Peter Naulls <peter@chocky.org> | ||
1735 | Key comments are the functions given in the manual */ | ||
1736 | static struct ir_scancode norwood[] = { | ||
1737 | /* Keys 0 to 9 */ | ||
1738 | { 0x20, KEY_0 }, | ||
1739 | { 0x21, KEY_1 }, | ||
1740 | { 0x22, KEY_2 }, | ||
1741 | { 0x23, KEY_3 }, | ||
1742 | { 0x24, KEY_4 }, | ||
1743 | { 0x25, KEY_5 }, | ||
1744 | { 0x26, KEY_6 }, | ||
1745 | { 0x27, KEY_7 }, | ||
1746 | { 0x28, KEY_8 }, | ||
1747 | { 0x29, KEY_9 }, | ||
1748 | |||
1749 | { 0x78, KEY_TUNER }, /* Video Source */ | ||
1750 | { 0x2c, KEY_EXIT }, /* Open/Close software */ | ||
1751 | { 0x2a, KEY_SELECT }, /* 2 Digit Select */ | ||
1752 | { 0x69, KEY_AGAIN }, /* Recall */ | ||
1753 | |||
1754 | { 0x32, KEY_BRIGHTNESSUP }, /* Brightness increase */ | ||
1755 | { 0x33, KEY_BRIGHTNESSDOWN }, /* Brightness decrease */ | ||
1756 | { 0x6b, KEY_KPPLUS }, /* (not named >>>>>) */ | ||
1757 | { 0x6c, KEY_KPMINUS }, /* (not named <<<<<) */ | ||
1758 | |||
1759 | { 0x2d, KEY_MUTE }, /* Mute */ | ||
1760 | { 0x30, KEY_VOLUMEUP }, /* Volume up */ | ||
1761 | { 0x31, KEY_VOLUMEDOWN }, /* Volume down */ | ||
1762 | { 0x60, KEY_CHANNELUP }, /* Channel up */ | ||
1763 | { 0x61, KEY_CHANNELDOWN }, /* Channel down */ | ||
1764 | |||
1765 | { 0x3f, KEY_RECORD }, /* Record */ | ||
1766 | { 0x37, KEY_PLAY }, /* Play */ | ||
1767 | { 0x36, KEY_PAUSE }, /* Pause */ | ||
1768 | { 0x2b, KEY_STOP }, /* Stop */ | ||
1769 | { 0x67, KEY_FASTFORWARD }, /* Foward */ | ||
1770 | { 0x66, KEY_REWIND }, /* Rewind */ | ||
1771 | { 0x3e, KEY_SEARCH }, /* Auto Scan */ | ||
1772 | { 0x2e, KEY_CAMERA }, /* Capture Video */ | ||
1773 | { 0x6d, KEY_MENU }, /* Show/Hide Control */ | ||
1774 | { 0x2f, KEY_ZOOM }, /* Full Screen */ | ||
1775 | { 0x34, KEY_RADIO }, /* FM */ | ||
1776 | { 0x65, KEY_POWER }, /* Computer power */ | ||
1777 | }; | ||
1778 | DEFINE_LEGACY_IR_KEYTABLE(norwood); | ||
1779 | |||
1780 | /* From reading the following remotes: | ||
1781 | * Zenith Universal 7 / TV Mode 807 / VCR Mode 837 | ||
1782 | * Hauppauge (from NOVA-CI-s box product) | ||
1783 | * This is a "middle of the road" approach, differences are noted | ||
1784 | */ | ||
1785 | static struct ir_scancode budget_ci_old[] = { | ||
1786 | { 0x00, KEY_0 }, | ||
1787 | { 0x01, KEY_1 }, | ||
1788 | { 0x02, KEY_2 }, | ||
1789 | { 0x03, KEY_3 }, | ||
1790 | { 0x04, KEY_4 }, | ||
1791 | { 0x05, KEY_5 }, | ||
1792 | { 0x06, KEY_6 }, | ||
1793 | { 0x07, KEY_7 }, | ||
1794 | { 0x08, KEY_8 }, | ||
1795 | { 0x09, KEY_9 }, | ||
1796 | { 0x0a, KEY_ENTER }, | ||
1797 | { 0x0b, KEY_RED }, | ||
1798 | { 0x0c, KEY_POWER }, /* RADIO on Hauppauge */ | ||
1799 | { 0x0d, KEY_MUTE }, | ||
1800 | { 0x0f, KEY_A }, /* TV on Hauppauge */ | ||
1801 | { 0x10, KEY_VOLUMEUP }, | ||
1802 | { 0x11, KEY_VOLUMEDOWN }, | ||
1803 | { 0x14, KEY_B }, | ||
1804 | { 0x1c, KEY_UP }, | ||
1805 | { 0x1d, KEY_DOWN }, | ||
1806 | { 0x1e, KEY_OPTION }, /* RESERVED on Hauppauge */ | ||
1807 | { 0x1f, KEY_BREAK }, | ||
1808 | { 0x20, KEY_CHANNELUP }, | ||
1809 | { 0x21, KEY_CHANNELDOWN }, | ||
1810 | { 0x22, KEY_PREVIOUS }, /* Prev Ch on Zenith, SOURCE on Hauppauge */ | ||
1811 | { 0x24, KEY_RESTART }, | ||
1812 | { 0x25, KEY_OK }, | ||
1813 | { 0x26, KEY_CYCLEWINDOWS }, /* MINIMIZE on Hauppauge */ | ||
1814 | { 0x28, KEY_ENTER }, /* VCR mode on Zenith */ | ||
1815 | { 0x29, KEY_PAUSE }, | ||
1816 | { 0x2b, KEY_RIGHT }, | ||
1817 | { 0x2c, KEY_LEFT }, | ||
1818 | { 0x2e, KEY_MENU }, /* FULL SCREEN on Hauppauge */ | ||
1819 | { 0x30, KEY_SLOW }, | ||
1820 | { 0x31, KEY_PREVIOUS }, /* VCR mode on Zenith */ | ||
1821 | { 0x32, KEY_REWIND }, | ||
1822 | { 0x34, KEY_FASTFORWARD }, | ||
1823 | { 0x35, KEY_PLAY }, | ||
1824 | { 0x36, KEY_STOP }, | ||
1825 | { 0x37, KEY_RECORD }, | ||
1826 | { 0x38, KEY_TUNER }, /* TV/VCR on Zenith */ | ||
1827 | { 0x3a, KEY_C }, | ||
1828 | { 0x3c, KEY_EXIT }, | ||
1829 | { 0x3d, KEY_POWER2 }, | ||
1830 | { 0x3e, KEY_TUNER }, | ||
1831 | }; | ||
1832 | DEFINE_LEGACY_IR_KEYTABLE(budget_ci_old); | ||
1833 | |||
1834 | /* | ||
1835 | * Marc Fargas <telenieko@telenieko.com> | ||
1836 | * this is the remote control that comes with the asus p7131 | ||
1837 | * which has a label saying is "Model PC-39" | ||
1838 | */ | ||
1839 | static struct ir_scancode asus_pc39[] = { | ||
1840 | /* Keys 0 to 9 */ | ||
1841 | { 0x15, KEY_0 }, | ||
1842 | { 0x29, KEY_1 }, | ||
1843 | { 0x2d, KEY_2 }, | ||
1844 | { 0x2b, KEY_3 }, | ||
1845 | { 0x09, KEY_4 }, | ||
1846 | { 0x0d, KEY_5 }, | ||
1847 | { 0x0b, KEY_6 }, | ||
1848 | { 0x31, KEY_7 }, | ||
1849 | { 0x35, KEY_8 }, | ||
1850 | { 0x33, KEY_9 }, | ||
1851 | |||
1852 | { 0x3e, KEY_RADIO }, /* radio */ | ||
1853 | { 0x03, KEY_MENU }, /* dvd/menu */ | ||
1854 | { 0x2a, KEY_VOLUMEUP }, | ||
1855 | { 0x19, KEY_VOLUMEDOWN }, | ||
1856 | { 0x37, KEY_UP }, | ||
1857 | { 0x3b, KEY_DOWN }, | ||
1858 | { 0x27, KEY_LEFT }, | ||
1859 | { 0x2f, KEY_RIGHT }, | ||
1860 | { 0x25, KEY_VIDEO }, /* video */ | ||
1861 | { 0x39, KEY_AUDIO }, /* music */ | ||
1862 | |||
1863 | { 0x21, KEY_TV }, /* tv */ | ||
1864 | { 0x1d, KEY_EXIT }, /* back */ | ||
1865 | { 0x0a, KEY_CHANNELUP }, /* channel / program + */ | ||
1866 | { 0x1b, KEY_CHANNELDOWN }, /* channel / program - */ | ||
1867 | { 0x1a, KEY_ENTER }, /* enter */ | ||
1868 | |||
1869 | { 0x06, KEY_PAUSE }, /* play/pause */ | ||
1870 | { 0x1e, KEY_PREVIOUS }, /* rew */ | ||
1871 | { 0x26, KEY_NEXT }, /* forward */ | ||
1872 | { 0x0e, KEY_REWIND }, /* backward << */ | ||
1873 | { 0x3a, KEY_FASTFORWARD }, /* forward >> */ | ||
1874 | { 0x36, KEY_STOP }, | ||
1875 | { 0x2e, KEY_RECORD }, /* recording */ | ||
1876 | { 0x16, KEY_POWER }, /* the button that reads "close" */ | ||
1877 | |||
1878 | { 0x11, KEY_ZOOM }, /* full screen */ | ||
1879 | { 0x13, KEY_MACRO }, /* recall */ | ||
1880 | { 0x23, KEY_HOME }, /* home */ | ||
1881 | { 0x05, KEY_PVR }, /* picture */ | ||
1882 | { 0x3d, KEY_MUTE }, /* mute */ | ||
1883 | { 0x01, KEY_DVD }, /* dvd */ | ||
1884 | }; | ||
1885 | DEFINE_LEGACY_IR_KEYTABLE(asus_pc39); | ||
1886 | |||
1887 | /* Encore ENLTV-FM - black plastic, white front cover with white glowing buttons | ||
1888 | Juan Pablo Sormani <sorman@gmail.com> */ | ||
1889 | static struct ir_scancode encore_enltv[] = { | ||
1890 | |||
1891 | /* Power button does nothing, neither in Windows app, | ||
1892 | although it sends data (used for BIOS wakeup?) */ | ||
1893 | { 0x0d, KEY_MUTE }, | ||
1894 | |||
1895 | { 0x1e, KEY_TV }, | ||
1896 | { 0x00, KEY_VIDEO }, | ||
1897 | { 0x01, KEY_AUDIO }, /* music */ | ||
1898 | { 0x02, KEY_MHP }, /* picture */ | ||
1899 | |||
1900 | { 0x1f, KEY_1 }, | ||
1901 | { 0x03, KEY_2 }, | ||
1902 | { 0x04, KEY_3 }, | ||
1903 | { 0x05, KEY_4 }, | ||
1904 | { 0x1c, KEY_5 }, | ||
1905 | { 0x06, KEY_6 }, | ||
1906 | { 0x07, KEY_7 }, | ||
1907 | { 0x08, KEY_8 }, | ||
1908 | { 0x1d, KEY_9 }, | ||
1909 | { 0x0a, KEY_0 }, | ||
1910 | |||
1911 | { 0x09, KEY_LIST }, /* -/-- */ | ||
1912 | { 0x0b, KEY_LAST }, /* recall */ | ||
1913 | |||
1914 | { 0x14, KEY_HOME }, /* win start menu */ | ||
1915 | { 0x15, KEY_EXIT }, /* exit */ | ||
1916 | { 0x16, KEY_CHANNELUP }, /* UP */ | ||
1917 | { 0x12, KEY_CHANNELDOWN }, /* DOWN */ | ||
1918 | { 0x0c, KEY_VOLUMEUP }, /* RIGHT */ | ||
1919 | { 0x17, KEY_VOLUMEDOWN }, /* LEFT */ | ||
1920 | |||
1921 | { 0x18, KEY_ENTER }, /* OK */ | ||
1922 | |||
1923 | { 0x0e, KEY_ESC }, | ||
1924 | { 0x13, KEY_CYCLEWINDOWS }, /* desktop */ | ||
1925 | { 0x11, KEY_TAB }, | ||
1926 | { 0x19, KEY_SWITCHVIDEOMODE }, /* switch */ | ||
1927 | |||
1928 | { 0x1a, KEY_MENU }, | ||
1929 | { 0x1b, KEY_ZOOM }, /* fullscreen */ | ||
1930 | { 0x44, KEY_TIME }, /* time shift */ | ||
1931 | { 0x40, KEY_MODE }, /* source */ | ||
1932 | |||
1933 | { 0x5a, KEY_RECORD }, | ||
1934 | { 0x42, KEY_PLAY }, /* play/pause */ | ||
1935 | { 0x45, KEY_STOP }, | ||
1936 | { 0x43, KEY_CAMERA }, /* camera icon */ | ||
1937 | |||
1938 | { 0x48, KEY_REWIND }, | ||
1939 | { 0x4a, KEY_FASTFORWARD }, | ||
1940 | { 0x49, KEY_PREVIOUS }, | ||
1941 | { 0x4b, KEY_NEXT }, | ||
1942 | |||
1943 | { 0x4c, KEY_FAVORITES }, /* tv wall */ | ||
1944 | { 0x4d, KEY_SOUND }, /* DVD sound */ | ||
1945 | { 0x4e, KEY_LANGUAGE }, /* DVD lang */ | ||
1946 | { 0x4f, KEY_TEXT }, /* DVD text */ | ||
1947 | |||
1948 | { 0x50, KEY_SLEEP }, /* shutdown */ | ||
1949 | { 0x51, KEY_MODE }, /* stereo > main */ | ||
1950 | { 0x52, KEY_SELECT }, /* stereo > sap */ | ||
1951 | { 0x53, KEY_PROG1 }, /* teletext */ | ||
1952 | |||
1953 | |||
1954 | { 0x59, KEY_RED }, /* AP1 */ | ||
1955 | { 0x41, KEY_GREEN }, /* AP2 */ | ||
1956 | { 0x47, KEY_YELLOW }, /* AP3 */ | ||
1957 | { 0x57, KEY_BLUE }, /* AP4 */ | ||
1958 | }; | ||
1959 | DEFINE_LEGACY_IR_KEYTABLE(encore_enltv); | ||
1960 | |||
1961 | /* Encore ENLTV2-FM - silver plastic - "Wand Media" written at the botton | ||
1962 | Mauro Carvalho Chehab <mchehab@infradead.org> */ | ||
1963 | static struct ir_scancode encore_enltv2[] = { | ||
1964 | { 0x4c, KEY_POWER2 }, | ||
1965 | { 0x4a, KEY_TUNER }, | ||
1966 | { 0x40, KEY_1 }, | ||
1967 | { 0x60, KEY_2 }, | ||
1968 | { 0x50, KEY_3 }, | ||
1969 | { 0x70, KEY_4 }, | ||
1970 | { 0x48, KEY_5 }, | ||
1971 | { 0x68, KEY_6 }, | ||
1972 | { 0x58, KEY_7 }, | ||
1973 | { 0x78, KEY_8 }, | ||
1974 | { 0x44, KEY_9 }, | ||
1975 | { 0x54, KEY_0 }, | ||
1976 | |||
1977 | { 0x64, KEY_LAST }, /* +100 */ | ||
1978 | { 0x4e, KEY_AGAIN }, /* Recall */ | ||
1979 | |||
1980 | { 0x6c, KEY_SWITCHVIDEOMODE }, /* Video Source */ | ||
1981 | { 0x5e, KEY_MENU }, | ||
1982 | { 0x56, KEY_SCREEN }, | ||
1983 | { 0x7a, KEY_SETUP }, | ||
1984 | |||
1985 | { 0x46, KEY_MUTE }, | ||
1986 | { 0x5c, KEY_MODE }, /* Stereo */ | ||
1987 | { 0x74, KEY_INFO }, | ||
1988 | { 0x7c, KEY_CLEAR }, | ||
1989 | |||
1990 | { 0x55, KEY_UP }, | ||
1991 | { 0x49, KEY_DOWN }, | ||
1992 | { 0x7e, KEY_LEFT }, | ||
1993 | { 0x59, KEY_RIGHT }, | ||
1994 | { 0x6a, KEY_ENTER }, | ||
1995 | |||
1996 | { 0x42, KEY_VOLUMEUP }, | ||
1997 | { 0x62, KEY_VOLUMEDOWN }, | ||
1998 | { 0x52, KEY_CHANNELUP }, | ||
1999 | { 0x72, KEY_CHANNELDOWN }, | ||
2000 | |||
2001 | { 0x41, KEY_RECORD }, | ||
2002 | { 0x51, KEY_CAMERA }, /* Snapshot */ | ||
2003 | { 0x75, KEY_TIME }, /* Timeshift */ | ||
2004 | { 0x71, KEY_TV2 }, /* PIP */ | ||
2005 | |||
2006 | { 0x45, KEY_REWIND }, | ||
2007 | { 0x6f, KEY_PAUSE }, | ||
2008 | { 0x7d, KEY_FORWARD }, | ||
2009 | { 0x79, KEY_STOP }, | ||
2010 | }; | ||
2011 | DEFINE_LEGACY_IR_KEYTABLE(encore_enltv2); | ||
2012 | |||
2013 | /* for the Technotrend 1500 bundled remotes (grey and black): */ | ||
2014 | static struct ir_scancode tt_1500[] = { | ||
2015 | { 0x01, KEY_POWER }, | ||
2016 | { 0x02, KEY_SHUFFLE }, /* ? double-arrow key */ | ||
2017 | { 0x03, KEY_1 }, | ||
2018 | { 0x04, KEY_2 }, | ||
2019 | { 0x05, KEY_3 }, | ||
2020 | { 0x06, KEY_4 }, | ||
2021 | { 0x07, KEY_5 }, | ||
2022 | { 0x08, KEY_6 }, | ||
2023 | { 0x09, KEY_7 }, | ||
2024 | { 0x0a, KEY_8 }, | ||
2025 | { 0x0b, KEY_9 }, | ||
2026 | { 0x0c, KEY_0 }, | ||
2027 | { 0x0d, KEY_UP }, | ||
2028 | { 0x0e, KEY_LEFT }, | ||
2029 | { 0x0f, KEY_OK }, | ||
2030 | { 0x10, KEY_RIGHT }, | ||
2031 | { 0x11, KEY_DOWN }, | ||
2032 | { 0x12, KEY_INFO }, | ||
2033 | { 0x13, KEY_EXIT }, | ||
2034 | { 0x14, KEY_RED }, | ||
2035 | { 0x15, KEY_GREEN }, | ||
2036 | { 0x16, KEY_YELLOW }, | ||
2037 | { 0x17, KEY_BLUE }, | ||
2038 | { 0x18, KEY_MUTE }, | ||
2039 | { 0x19, KEY_TEXT }, | ||
2040 | { 0x1a, KEY_MODE }, /* ? TV/Radio */ | ||
2041 | { 0x21, KEY_OPTION }, | ||
2042 | { 0x22, KEY_EPG }, | ||
2043 | { 0x23, KEY_CHANNELUP }, | ||
2044 | { 0x24, KEY_CHANNELDOWN }, | ||
2045 | { 0x25, KEY_VOLUMEUP }, | ||
2046 | { 0x26, KEY_VOLUMEDOWN }, | ||
2047 | { 0x27, KEY_SETUP }, | ||
2048 | { 0x3a, KEY_RECORD }, /* these keys are only in the black remote */ | ||
2049 | { 0x3b, KEY_PLAY }, | ||
2050 | { 0x3c, KEY_STOP }, | ||
2051 | { 0x3d, KEY_REWIND }, | ||
2052 | { 0x3e, KEY_PAUSE }, | ||
2053 | { 0x3f, KEY_FORWARD }, | ||
2054 | }; | ||
2055 | DEFINE_LEGACY_IR_KEYTABLE(tt_1500); | ||
2056 | |||
2057 | /* DViCO FUSION HDTV MCE remote */ | ||
2058 | static struct ir_scancode fusionhdtv_mce[] = { | ||
2059 | |||
2060 | { 0x0b, KEY_1 }, | ||
2061 | { 0x17, KEY_2 }, | ||
2062 | { 0x1b, KEY_3 }, | ||
2063 | { 0x07, KEY_4 }, | ||
2064 | { 0x50, KEY_5 }, | ||
2065 | { 0x54, KEY_6 }, | ||
2066 | { 0x48, KEY_7 }, | ||
2067 | { 0x4c, KEY_8 }, | ||
2068 | { 0x58, KEY_9 }, | ||
2069 | { 0x03, KEY_0 }, | ||
2070 | |||
2071 | { 0x5e, KEY_OK }, | ||
2072 | { 0x51, KEY_UP }, | ||
2073 | { 0x53, KEY_DOWN }, | ||
2074 | { 0x5b, KEY_LEFT }, | ||
2075 | { 0x5f, KEY_RIGHT }, | ||
2076 | |||
2077 | { 0x02, KEY_TV }, /* Labeled DTV on remote */ | ||
2078 | { 0x0e, KEY_MP3 }, | ||
2079 | { 0x1a, KEY_DVD }, | ||
2080 | { 0x1e, KEY_FAVORITES }, /* Labeled CPF on remote */ | ||
2081 | { 0x16, KEY_SETUP }, | ||
2082 | { 0x46, KEY_POWER2 }, /* TV On/Off button on remote */ | ||
2083 | { 0x0a, KEY_EPG }, /* Labeled Guide on remote */ | ||
2084 | |||
2085 | { 0x49, KEY_BACK }, | ||
2086 | { 0x59, KEY_INFO }, /* Labeled MORE on remote */ | ||
2087 | { 0x4d, KEY_MENU }, /* Labeled DVDMENU on remote */ | ||
2088 | { 0x55, KEY_CYCLEWINDOWS }, /* Labeled ALT-TAB on remote */ | ||
2089 | |||
2090 | { 0x0f, KEY_PREVIOUSSONG }, /* Labeled |<< REPLAY on remote */ | ||
2091 | { 0x12, KEY_NEXTSONG }, /* Labeled >>| SKIP on remote */ | ||
2092 | { 0x42, KEY_ENTER }, /* Labeled START with a green | ||
2093 | MS windows logo on remote */ | ||
2094 | |||
2095 | { 0x15, KEY_VOLUMEUP }, | ||
2096 | { 0x05, KEY_VOLUMEDOWN }, | ||
2097 | { 0x11, KEY_CHANNELUP }, | ||
2098 | { 0x09, KEY_CHANNELDOWN }, | ||
2099 | |||
2100 | { 0x52, KEY_CAMERA }, | ||
2101 | { 0x5a, KEY_TUNER }, | ||
2102 | { 0x19, KEY_OPEN }, | ||
2103 | |||
2104 | { 0x13, KEY_MODE }, /* 4:3 16:9 select */ | ||
2105 | { 0x1f, KEY_ZOOM }, | ||
2106 | |||
2107 | { 0x43, KEY_REWIND }, | ||
2108 | { 0x47, KEY_PLAYPAUSE }, | ||
2109 | { 0x4f, KEY_FASTFORWARD }, | ||
2110 | { 0x57, KEY_MUTE }, | ||
2111 | { 0x0d, KEY_STOP }, | ||
2112 | { 0x01, KEY_RECORD }, | ||
2113 | { 0x4e, KEY_POWER }, | ||
2114 | }; | ||
2115 | DEFINE_LEGACY_IR_KEYTABLE(fusionhdtv_mce); | ||
2116 | |||
2117 | /* Pinnacle PCTV HD 800i mini remote */ | ||
2118 | static struct ir_scancode pinnacle_pctv_hd[] = { | ||
2119 | |||
2120 | { 0x0f, KEY_1 }, | ||
2121 | { 0x15, KEY_2 }, | ||
2122 | { 0x10, KEY_3 }, | ||
2123 | { 0x18, KEY_4 }, | ||
2124 | { 0x1b, KEY_5 }, | ||
2125 | { 0x1e, KEY_6 }, | ||
2126 | { 0x11, KEY_7 }, | ||
2127 | { 0x21, KEY_8 }, | ||
2128 | { 0x12, KEY_9 }, | ||
2129 | { 0x27, KEY_0 }, | ||
2130 | |||
2131 | { 0x24, KEY_ZOOM }, | ||
2132 | { 0x2a, KEY_SUBTITLE }, | ||
2133 | |||
2134 | { 0x00, KEY_MUTE }, | ||
2135 | { 0x01, KEY_ENTER }, /* Pinnacle Logo */ | ||
2136 | { 0x39, KEY_POWER }, | ||
2137 | |||
2138 | { 0x03, KEY_VOLUMEUP }, | ||
2139 | { 0x09, KEY_VOLUMEDOWN }, | ||
2140 | { 0x06, KEY_CHANNELUP }, | ||
2141 | { 0x0c, KEY_CHANNELDOWN }, | ||
2142 | |||
2143 | { 0x2d, KEY_REWIND }, | ||
2144 | { 0x30, KEY_PLAYPAUSE }, | ||
2145 | { 0x33, KEY_FASTFORWARD }, | ||
2146 | { 0x3c, KEY_STOP }, | ||
2147 | { 0x36, KEY_RECORD }, | ||
2148 | { 0x3f, KEY_EPG }, /* Labeled "?" */ | ||
2149 | }; | ||
2150 | DEFINE_LEGACY_IR_KEYTABLE(pinnacle_pctv_hd); | ||
2151 | |||
2152 | /* | ||
2153 | * Igor Kuznetsov <igk72@ya.ru> | ||
2154 | * Andrey J. Melnikov <temnota@kmv.ru> | ||
2155 | * | ||
2156 | * Keytable is used by BeholdTV 60x series, M6 series at | ||
2157 | * least, and probably other cards too. | ||
2158 | * The "ascii-art picture" below (in comments, first row | ||
2159 | * is the keycode in hex, and subsequent row(s) shows | ||
2160 | * the button labels (several variants when appropriate) | ||
2161 | * helps to descide which keycodes to assign to the buttons. | ||
2162 | */ | ||
2163 | static struct ir_scancode behold[] = { | ||
2164 | |||
2165 | /* 0x1c 0x12 * | ||
2166 | * TV/FM POWER * | ||
2167 | * */ | ||
2168 | { 0x1c, KEY_TUNER }, /* XXX KEY_TV / KEY_RADIO */ | ||
2169 | { 0x12, KEY_POWER }, | ||
2170 | |||
2171 | /* 0x01 0x02 0x03 * | ||
2172 | * 1 2 3 * | ||
2173 | * * | ||
2174 | * 0x04 0x05 0x06 * | ||
2175 | * 4 5 6 * | ||
2176 | * * | ||
2177 | * 0x07 0x08 0x09 * | ||
2178 | * 7 8 9 * | ||
2179 | * */ | ||
2180 | { 0x01, KEY_1 }, | ||
2181 | { 0x02, KEY_2 }, | ||
2182 | { 0x03, KEY_3 }, | ||
2183 | { 0x04, KEY_4 }, | ||
2184 | { 0x05, KEY_5 }, | ||
2185 | { 0x06, KEY_6 }, | ||
2186 | { 0x07, KEY_7 }, | ||
2187 | { 0x08, KEY_8 }, | ||
2188 | { 0x09, KEY_9 }, | ||
2189 | |||
2190 | /* 0x0a 0x00 0x17 * | ||
2191 | * RECALL 0 MODE * | ||
2192 | * */ | ||
2193 | { 0x0a, KEY_AGAIN }, | ||
2194 | { 0x00, KEY_0 }, | ||
2195 | { 0x17, KEY_MODE }, | ||
2196 | |||
2197 | /* 0x14 0x10 * | ||
2198 | * ASPECT FULLSCREEN * | ||
2199 | * */ | ||
2200 | { 0x14, KEY_SCREEN }, | ||
2201 | { 0x10, KEY_ZOOM }, | ||
2202 | |||
2203 | /* 0x0b * | ||
2204 | * Up * | ||
2205 | * * | ||
2206 | * 0x18 0x16 0x0c * | ||
2207 | * Left Ok Right * | ||
2208 | * * | ||
2209 | * 0x015 * | ||
2210 | * Down * | ||
2211 | * */ | ||
2212 | { 0x0b, KEY_CHANNELUP }, | ||
2213 | { 0x18, KEY_VOLUMEDOWN }, | ||
2214 | { 0x16, KEY_OK }, /* XXX KEY_ENTER */ | ||
2215 | { 0x0c, KEY_VOLUMEUP }, | ||
2216 | { 0x15, KEY_CHANNELDOWN }, | ||
2217 | |||
2218 | /* 0x11 0x0d * | ||
2219 | * MUTE INFO * | ||
2220 | * */ | ||
2221 | { 0x11, KEY_MUTE }, | ||
2222 | { 0x0d, KEY_INFO }, | ||
2223 | |||
2224 | /* 0x0f 0x1b 0x1a * | ||
2225 | * RECORD PLAY/PAUSE STOP * | ||
2226 | * * | ||
2227 | * 0x0e 0x1f 0x1e * | ||
2228 | *TELETEXT AUDIO SOURCE * | ||
2229 | * RED YELLOW * | ||
2230 | * */ | ||
2231 | { 0x0f, KEY_RECORD }, | ||
2232 | { 0x1b, KEY_PLAYPAUSE }, | ||
2233 | { 0x1a, KEY_STOP }, | ||
2234 | { 0x0e, KEY_TEXT }, | ||
2235 | { 0x1f, KEY_RED }, /*XXX KEY_AUDIO */ | ||
2236 | { 0x1e, KEY_YELLOW }, /*XXX KEY_SOURCE */ | ||
2237 | |||
2238 | /* 0x1d 0x13 0x19 * | ||
2239 | * SLEEP PREVIEW DVB * | ||
2240 | * GREEN BLUE * | ||
2241 | * */ | ||
2242 | { 0x1d, KEY_SLEEP }, | ||
2243 | { 0x13, KEY_GREEN }, | ||
2244 | { 0x19, KEY_BLUE }, /* XXX KEY_SAT */ | ||
2245 | |||
2246 | /* 0x58 0x5c * | ||
2247 | * FREEZE SNAPSHOT * | ||
2248 | * */ | ||
2249 | { 0x58, KEY_SLOW }, | ||
2250 | { 0x5c, KEY_CAMERA }, | ||
2251 | |||
2252 | }; | ||
2253 | DEFINE_LEGACY_IR_KEYTABLE(behold); | ||
2254 | |||
2255 | /* Beholder Intl. Ltd. 2008 | ||
2256 | * Dmitry Belimov d.belimov@google.com | ||
2257 | * Keytable is used by BeholdTV Columbus | ||
2258 | * The "ascii-art picture" below (in comments, first row | ||
2259 | * is the keycode in hex, and subsequent row(s) shows | ||
2260 | * the button labels (several variants when appropriate) | ||
2261 | * helps to descide which keycodes to assign to the buttons. | ||
2262 | */ | ||
2263 | static struct ir_scancode behold_columbus[] = { | ||
2264 | |||
2265 | /* 0x13 0x11 0x1C 0x12 * | ||
2266 | * Mute Source TV/FM Power * | ||
2267 | * */ | ||
2268 | |||
2269 | { 0x13, KEY_MUTE }, | ||
2270 | { 0x11, KEY_PROPS }, | ||
2271 | { 0x1C, KEY_TUNER }, /* KEY_TV/KEY_RADIO */ | ||
2272 | { 0x12, KEY_POWER }, | ||
2273 | |||
2274 | /* 0x01 0x02 0x03 0x0D * | ||
2275 | * 1 2 3 Stereo * | ||
2276 | * * | ||
2277 | * 0x04 0x05 0x06 0x19 * | ||
2278 | * 4 5 6 Snapshot * | ||
2279 | * * | ||
2280 | * 0x07 0x08 0x09 0x10 * | ||
2281 | * 7 8 9 Zoom * | ||
2282 | * */ | ||
2283 | { 0x01, KEY_1 }, | ||
2284 | { 0x02, KEY_2 }, | ||
2285 | { 0x03, KEY_3 }, | ||
2286 | { 0x0D, KEY_SETUP }, /* Setup key */ | ||
2287 | { 0x04, KEY_4 }, | ||
2288 | { 0x05, KEY_5 }, | ||
2289 | { 0x06, KEY_6 }, | ||
2290 | { 0x19, KEY_CAMERA }, /* Snapshot key */ | ||
2291 | { 0x07, KEY_7 }, | ||
2292 | { 0x08, KEY_8 }, | ||
2293 | { 0x09, KEY_9 }, | ||
2294 | { 0x10, KEY_ZOOM }, | ||
2295 | |||
2296 | /* 0x0A 0x00 0x0B 0x0C * | ||
2297 | * RECALL 0 ChannelUp VolumeUp * | ||
2298 | * */ | ||
2299 | { 0x0A, KEY_AGAIN }, | ||
2300 | { 0x00, KEY_0 }, | ||
2301 | { 0x0B, KEY_CHANNELUP }, | ||
2302 | { 0x0C, KEY_VOLUMEUP }, | ||
2303 | |||
2304 | /* 0x1B 0x1D 0x15 0x18 * | ||
2305 | * Timeshift Record ChannelDown VolumeDown * | ||
2306 | * */ | ||
2307 | |||
2308 | { 0x1B, KEY_TIME }, | ||
2309 | { 0x1D, KEY_RECORD }, | ||
2310 | { 0x15, KEY_CHANNELDOWN }, | ||
2311 | { 0x18, KEY_VOLUMEDOWN }, | ||
2312 | |||
2313 | /* 0x0E 0x1E 0x0F 0x1A * | ||
2314 | * Stop Pause Previouse Next * | ||
2315 | * */ | ||
2316 | |||
2317 | { 0x0E, KEY_STOP }, | ||
2318 | { 0x1E, KEY_PAUSE }, | ||
2319 | { 0x0F, KEY_PREVIOUS }, | ||
2320 | { 0x1A, KEY_NEXT }, | ||
2321 | |||
2322 | }; | ||
2323 | DEFINE_LEGACY_IR_KEYTABLE(behold_columbus); | ||
2324 | |||
2325 | /* | ||
2326 | * Remote control for the Genius TVGO A11MCE | ||
2327 | * Adrian Pardini <pardo.bsso@gmail.com> | ||
2328 | */ | ||
2329 | static struct ir_scancode genius_tvgo_a11mce[] = { | ||
2330 | /* Keys 0 to 9 */ | ||
2331 | { 0x48, KEY_0 }, | ||
2332 | { 0x09, KEY_1 }, | ||
2333 | { 0x1d, KEY_2 }, | ||
2334 | { 0x1f, KEY_3 }, | ||
2335 | { 0x19, KEY_4 }, | ||
2336 | { 0x1b, KEY_5 }, | ||
2337 | { 0x11, KEY_6 }, | ||
2338 | { 0x17, KEY_7 }, | ||
2339 | { 0x12, KEY_8 }, | ||
2340 | { 0x16, KEY_9 }, | ||
2341 | |||
2342 | { 0x54, KEY_RECORD }, /* recording */ | ||
2343 | { 0x06, KEY_MUTE }, /* mute */ | ||
2344 | { 0x10, KEY_POWER }, | ||
2345 | { 0x40, KEY_LAST }, /* recall */ | ||
2346 | { 0x4c, KEY_CHANNELUP }, /* channel / program + */ | ||
2347 | { 0x00, KEY_CHANNELDOWN }, /* channel / program - */ | ||
2348 | { 0x0d, KEY_VOLUMEUP }, | ||
2349 | { 0x15, KEY_VOLUMEDOWN }, | ||
2350 | { 0x4d, KEY_OK }, /* also labeled as Pause */ | ||
2351 | { 0x1c, KEY_ZOOM }, /* full screen and Stop*/ | ||
2352 | { 0x02, KEY_MODE }, /* AV Source or Rewind*/ | ||
2353 | { 0x04, KEY_LIST }, /* -/-- */ | ||
2354 | /* small arrows above numbers */ | ||
2355 | { 0x1a, KEY_NEXT }, /* also Fast Forward */ | ||
2356 | { 0x0e, KEY_PREVIOUS }, /* also Rewind */ | ||
2357 | /* these are in a rather non standard layout and have | ||
2358 | an alternate name written */ | ||
2359 | { 0x1e, KEY_UP }, /* Video Setting */ | ||
2360 | { 0x0a, KEY_DOWN }, /* Video Default */ | ||
2361 | { 0x05, KEY_CAMERA }, /* Snapshot */ | ||
2362 | { 0x0c, KEY_RIGHT }, /* Hide Panel */ | ||
2363 | /* Four buttons without label */ | ||
2364 | { 0x49, KEY_RED }, | ||
2365 | { 0x0b, KEY_GREEN }, | ||
2366 | { 0x13, KEY_YELLOW }, | ||
2367 | { 0x50, KEY_BLUE }, | ||
2368 | }; | ||
2369 | DEFINE_LEGACY_IR_KEYTABLE(genius_tvgo_a11mce); | ||
2370 | |||
2371 | /* | ||
2372 | * Remote control for Powercolor Real Angel 330 | ||
2373 | * Daniel Fraga <fragabr@gmail.com> | ||
2374 | */ | ||
2375 | static struct ir_scancode powercolor_real_angel[] = { | ||
2376 | { 0x38, KEY_SWITCHVIDEOMODE }, /* switch inputs */ | ||
2377 | { 0x0c, KEY_MEDIA }, /* Turn ON/OFF App */ | ||
2378 | { 0x00, KEY_0 }, | ||
2379 | { 0x01, KEY_1 }, | ||
2380 | { 0x02, KEY_2 }, | ||
2381 | { 0x03, KEY_3 }, | ||
2382 | { 0x04, KEY_4 }, | ||
2383 | { 0x05, KEY_5 }, | ||
2384 | { 0x06, KEY_6 }, | ||
2385 | { 0x07, KEY_7 }, | ||
2386 | { 0x08, KEY_8 }, | ||
2387 | { 0x09, KEY_9 }, | ||
2388 | { 0x0a, KEY_DIGITS }, /* single, double, tripple digit */ | ||
2389 | { 0x29, KEY_PREVIOUS }, /* previous channel */ | ||
2390 | { 0x12, KEY_BRIGHTNESSUP }, | ||
2391 | { 0x13, KEY_BRIGHTNESSDOWN }, | ||
2392 | { 0x2b, KEY_MODE }, /* stereo/mono */ | ||
2393 | { 0x2c, KEY_TEXT }, /* teletext */ | ||
2394 | { 0x20, KEY_CHANNELUP }, /* channel up */ | ||
2395 | { 0x21, KEY_CHANNELDOWN }, /* channel down */ | ||
2396 | { 0x10, KEY_VOLUMEUP }, /* volume up */ | ||
2397 | { 0x11, KEY_VOLUMEDOWN }, /* volume down */ | ||
2398 | { 0x0d, KEY_MUTE }, | ||
2399 | { 0x1f, KEY_RECORD }, | ||
2400 | { 0x17, KEY_PLAY }, | ||
2401 | { 0x16, KEY_PAUSE }, | ||
2402 | { 0x0b, KEY_STOP }, | ||
2403 | { 0x27, KEY_FASTFORWARD }, | ||
2404 | { 0x26, KEY_REWIND }, | ||
2405 | { 0x1e, KEY_SEARCH }, /* autoscan */ | ||
2406 | { 0x0e, KEY_CAMERA }, /* snapshot */ | ||
2407 | { 0x2d, KEY_SETUP }, | ||
2408 | { 0x0f, KEY_SCREEN }, /* full screen */ | ||
2409 | { 0x14, KEY_RADIO }, /* FM radio */ | ||
2410 | { 0x25, KEY_POWER }, /* power */ | ||
2411 | }; | ||
2412 | DEFINE_LEGACY_IR_KEYTABLE(powercolor_real_angel); | ||
2413 | |||
2414 | /* Kworld Plus TV Analog Lite PCI IR | ||
2415 | Mauro Carvalho Chehab <mchehab@infradead.org> | ||
2416 | */ | ||
2417 | static struct ir_scancode kworld_plus_tv_analog[] = { | ||
2418 | { 0x0c, KEY_PROG1 }, /* Kworld key */ | ||
2419 | { 0x16, KEY_CLOSECD }, /* -> ) */ | ||
2420 | { 0x1d, KEY_POWER2 }, | ||
2421 | |||
2422 | { 0x00, KEY_1 }, | ||
2423 | { 0x01, KEY_2 }, | ||
2424 | { 0x02, KEY_3 }, /* Two keys have the same code: 3 and left */ | ||
2425 | { 0x03, KEY_4 }, /* Two keys have the same code: 3 and right */ | ||
2426 | { 0x04, KEY_5 }, | ||
2427 | { 0x05, KEY_6 }, | ||
2428 | { 0x06, KEY_7 }, | ||
2429 | { 0x07, KEY_8 }, | ||
2430 | { 0x08, KEY_9 }, | ||
2431 | { 0x0a, KEY_0 }, | ||
2432 | |||
2433 | { 0x09, KEY_AGAIN }, | ||
2434 | { 0x14, KEY_MUTE }, | ||
2435 | |||
2436 | { 0x20, KEY_UP }, | ||
2437 | { 0x21, KEY_DOWN }, | ||
2438 | { 0x0b, KEY_ENTER }, | ||
2439 | |||
2440 | { 0x10, KEY_CHANNELUP }, | ||
2441 | { 0x11, KEY_CHANNELDOWN }, | ||
2442 | |||
2443 | /* Couldn't map key left/key right since those | ||
2444 | conflict with '3' and '4' scancodes | ||
2445 | I dunno what the original driver does | ||
2446 | */ | ||
2447 | |||
2448 | { 0x13, KEY_VOLUMEUP }, | ||
2449 | { 0x12, KEY_VOLUMEDOWN }, | ||
2450 | |||
2451 | /* The lower part of the IR | ||
2452 | There are several duplicated keycodes there. | ||
2453 | Most of them conflict with digits. | ||
2454 | Add mappings just to the unused scancodes. | ||
2455 | Somehow, the original driver has a way to know, | ||
2456 | but this doesn't seem to be on some GPIO. | ||
2457 | Also, it is not related to the time between keyup | ||
2458 | and keydown. | ||
2459 | */ | ||
2460 | { 0x19, KEY_TIME}, /* Timeshift */ | ||
2461 | { 0x1a, KEY_STOP}, | ||
2462 | { 0x1b, KEY_RECORD}, | ||
2463 | |||
2464 | { 0x22, KEY_TEXT}, | ||
2465 | |||
2466 | { 0x15, KEY_AUDIO}, /* ((*)) */ | ||
2467 | { 0x0f, KEY_ZOOM}, | ||
2468 | { 0x1c, KEY_CAMERA}, /* snapshot */ | ||
2469 | |||
2470 | { 0x18, KEY_RED}, /* B */ | ||
2471 | { 0x23, KEY_GREEN}, /* C */ | ||
2472 | }; | ||
2473 | DEFINE_LEGACY_IR_KEYTABLE(kworld_plus_tv_analog); | ||
2474 | |||
2475 | /* Kaiomy TVnPC U2 | ||
2476 | Mauro Carvalho Chehab <mchehab@infradead.org> | ||
2477 | */ | ||
2478 | static struct ir_scancode kaiomy[] = { | ||
2479 | { 0x43, KEY_POWER2}, | ||
2480 | { 0x01, KEY_LIST}, | ||
2481 | { 0x0b, KEY_ZOOM}, | ||
2482 | { 0x03, KEY_POWER}, | ||
2483 | |||
2484 | { 0x04, KEY_1}, | ||
2485 | { 0x08, KEY_2}, | ||
2486 | { 0x02, KEY_3}, | ||
2487 | |||
2488 | { 0x0f, KEY_4}, | ||
2489 | { 0x05, KEY_5}, | ||
2490 | { 0x06, KEY_6}, | ||
2491 | |||
2492 | { 0x0c, KEY_7}, | ||
2493 | { 0x0d, KEY_8}, | ||
2494 | { 0x0a, KEY_9}, | ||
2495 | |||
2496 | { 0x11, KEY_0}, | ||
2497 | |||
2498 | { 0x09, KEY_CHANNELUP}, | ||
2499 | { 0x07, KEY_CHANNELDOWN}, | ||
2500 | |||
2501 | { 0x0e, KEY_VOLUMEUP}, | ||
2502 | { 0x13, KEY_VOLUMEDOWN}, | ||
2503 | |||
2504 | { 0x10, KEY_HOME}, | ||
2505 | { 0x12, KEY_ENTER}, | ||
2506 | |||
2507 | { 0x14, KEY_RECORD}, | ||
2508 | { 0x15, KEY_STOP}, | ||
2509 | { 0x16, KEY_PLAY}, | ||
2510 | { 0x17, KEY_MUTE}, | ||
2511 | |||
2512 | { 0x18, KEY_UP}, | ||
2513 | { 0x19, KEY_DOWN}, | ||
2514 | { 0x1a, KEY_LEFT}, | ||
2515 | { 0x1b, KEY_RIGHT}, | ||
2516 | |||
2517 | { 0x1c, KEY_RED}, | ||
2518 | { 0x1d, KEY_GREEN}, | ||
2519 | { 0x1e, KEY_YELLOW}, | ||
2520 | { 0x1f, KEY_BLUE}, | ||
2521 | }; | ||
2522 | DEFINE_LEGACY_IR_KEYTABLE(kaiomy); | ||
2523 | |||
2524 | static struct ir_scancode avermedia_a16d[] = { | ||
2525 | { 0x20, KEY_LIST}, | ||
2526 | { 0x00, KEY_POWER}, | ||
2527 | { 0x28, KEY_1}, | ||
2528 | { 0x18, KEY_2}, | ||
2529 | { 0x38, KEY_3}, | ||
2530 | { 0x24, KEY_4}, | ||
2531 | { 0x14, KEY_5}, | ||
2532 | { 0x34, KEY_6}, | ||
2533 | { 0x2c, KEY_7}, | ||
2534 | { 0x1c, KEY_8}, | ||
2535 | { 0x3c, KEY_9}, | ||
2536 | { 0x12, KEY_SUBTITLE}, | ||
2537 | { 0x22, KEY_0}, | ||
2538 | { 0x32, KEY_REWIND}, | ||
2539 | { 0x3a, KEY_SHUFFLE}, | ||
2540 | { 0x02, KEY_PRINT}, | ||
2541 | { 0x11, KEY_CHANNELDOWN}, | ||
2542 | { 0x31, KEY_CHANNELUP}, | ||
2543 | { 0x0c, KEY_ZOOM}, | ||
2544 | { 0x1e, KEY_VOLUMEDOWN}, | ||
2545 | { 0x3e, KEY_VOLUMEUP}, | ||
2546 | { 0x0a, KEY_MUTE}, | ||
2547 | { 0x04, KEY_AUDIO}, | ||
2548 | { 0x26, KEY_RECORD}, | ||
2549 | { 0x06, KEY_PLAY}, | ||
2550 | { 0x36, KEY_STOP}, | ||
2551 | { 0x16, KEY_PAUSE}, | ||
2552 | { 0x2e, KEY_REWIND}, | ||
2553 | { 0x0e, KEY_FASTFORWARD}, | ||
2554 | { 0x30, KEY_TEXT}, | ||
2555 | { 0x21, KEY_GREEN}, | ||
2556 | { 0x01, KEY_BLUE}, | ||
2557 | { 0x08, KEY_EPG}, | ||
2558 | { 0x2a, KEY_MENU}, | ||
2559 | }; | ||
2560 | DEFINE_LEGACY_IR_KEYTABLE(avermedia_a16d); | ||
2561 | |||
2562 | /* Encore ENLTV-FM v5.3 | ||
2563 | Mauro Carvalho Chehab <mchehab@infradead.org> | ||
2564 | */ | ||
2565 | static struct ir_scancode encore_enltv_fm53[] = { | ||
2566 | { 0x10, KEY_POWER2}, | ||
2567 | { 0x06, KEY_MUTE}, | ||
2568 | |||
2569 | { 0x09, KEY_1}, | ||
2570 | { 0x1d, KEY_2}, | ||
2571 | { 0x1f, KEY_3}, | ||
2572 | { 0x19, KEY_4}, | ||
2573 | { 0x1b, KEY_5}, | ||
2574 | { 0x11, KEY_6}, | ||
2575 | { 0x17, KEY_7}, | ||
2576 | { 0x12, KEY_8}, | ||
2577 | { 0x16, KEY_9}, | ||
2578 | { 0x48, KEY_0}, | ||
2579 | |||
2580 | { 0x04, KEY_LIST}, /* -/-- */ | ||
2581 | { 0x40, KEY_LAST}, /* recall */ | ||
2582 | |||
2583 | { 0x02, KEY_MODE}, /* TV/AV */ | ||
2584 | { 0x05, KEY_CAMERA}, /* SNAPSHOT */ | ||
2585 | |||
2586 | { 0x4c, KEY_CHANNELUP}, /* UP */ | ||
2587 | { 0x00, KEY_CHANNELDOWN}, /* DOWN */ | ||
2588 | { 0x0d, KEY_VOLUMEUP}, /* RIGHT */ | ||
2589 | { 0x15, KEY_VOLUMEDOWN}, /* LEFT */ | ||
2590 | { 0x49, KEY_ENTER}, /* OK */ | ||
2591 | |||
2592 | { 0x54, KEY_RECORD}, | ||
2593 | { 0x4d, KEY_PLAY}, /* pause */ | ||
2594 | |||
2595 | { 0x1e, KEY_MENU}, /* video setting */ | ||
2596 | { 0x0e, KEY_RIGHT}, /* <- */ | ||
2597 | { 0x1a, KEY_LEFT}, /* -> */ | ||
2598 | |||
2599 | { 0x0a, KEY_CLEAR}, /* video default */ | ||
2600 | { 0x0c, KEY_ZOOM}, /* hide pannel */ | ||
2601 | { 0x47, KEY_SLEEP}, /* shutdown */ | ||
2602 | }; | ||
2603 | DEFINE_LEGACY_IR_KEYTABLE(encore_enltv_fm53); | ||
2604 | |||
2605 | /* Zogis Real Audio 220 - 32 keys IR */ | ||
2606 | static struct ir_scancode real_audio_220_32_keys[] = { | ||
2607 | { 0x1c, KEY_RADIO}, | ||
2608 | { 0x12, KEY_POWER2}, | ||
2609 | |||
2610 | { 0x01, KEY_1}, | ||
2611 | { 0x02, KEY_2}, | ||
2612 | { 0x03, KEY_3}, | ||
2613 | { 0x04, KEY_4}, | ||
2614 | { 0x05, KEY_5}, | ||
2615 | { 0x06, KEY_6}, | ||
2616 | { 0x07, KEY_7}, | ||
2617 | { 0x08, KEY_8}, | ||
2618 | { 0x09, KEY_9}, | ||
2619 | { 0x00, KEY_0}, | ||
2620 | |||
2621 | { 0x0c, KEY_VOLUMEUP}, | ||
2622 | { 0x18, KEY_VOLUMEDOWN}, | ||
2623 | { 0x0b, KEY_CHANNELUP}, | ||
2624 | { 0x15, KEY_CHANNELDOWN}, | ||
2625 | { 0x16, KEY_ENTER}, | ||
2626 | |||
2627 | { 0x11, KEY_LIST}, /* Source */ | ||
2628 | { 0x0d, KEY_AUDIO}, /* stereo */ | ||
2629 | |||
2630 | { 0x0f, KEY_PREVIOUS}, /* Prev */ | ||
2631 | { 0x1b, KEY_TIME}, /* Timeshift */ | ||
2632 | { 0x1a, KEY_NEXT}, /* Next */ | ||
2633 | |||
2634 | { 0x0e, KEY_STOP}, | ||
2635 | { 0x1f, KEY_PLAY}, | ||
2636 | { 0x1e, KEY_PLAYPAUSE}, /* Pause */ | ||
2637 | |||
2638 | { 0x1d, KEY_RECORD}, | ||
2639 | { 0x13, KEY_MUTE}, | ||
2640 | { 0x19, KEY_CAMERA}, /* Snapshot */ | ||
2641 | |||
2642 | }; | ||
2643 | DEFINE_LEGACY_IR_KEYTABLE(real_audio_220_32_keys); | ||
2644 | |||
2645 | /* ATI TV Wonder HD 600 USB | ||
2646 | Devin Heitmueller <devin.heitmueller@gmail.com> | ||
2647 | */ | ||
2648 | static struct ir_scancode ati_tv_wonder_hd_600[] = { | ||
2649 | { 0x00, KEY_RECORD}, /* Row 1 */ | ||
2650 | { 0x01, KEY_PLAYPAUSE}, | ||
2651 | { 0x02, KEY_STOP}, | ||
2652 | { 0x03, KEY_POWER}, | ||
2653 | { 0x04, KEY_PREVIOUS}, /* Row 2 */ | ||
2654 | { 0x05, KEY_REWIND}, | ||
2655 | { 0x06, KEY_FORWARD}, | ||
2656 | { 0x07, KEY_NEXT}, | ||
2657 | { 0x08, KEY_EPG}, /* Row 3 */ | ||
2658 | { 0x09, KEY_HOME}, | ||
2659 | { 0x0a, KEY_MENU}, | ||
2660 | { 0x0b, KEY_CHANNELUP}, | ||
2661 | { 0x0c, KEY_BACK}, /* Row 4 */ | ||
2662 | { 0x0d, KEY_UP}, | ||
2663 | { 0x0e, KEY_INFO}, | ||
2664 | { 0x0f, KEY_CHANNELDOWN}, | ||
2665 | { 0x10, KEY_LEFT}, /* Row 5 */ | ||
2666 | { 0x11, KEY_SELECT}, | ||
2667 | { 0x12, KEY_RIGHT}, | ||
2668 | { 0x13, KEY_VOLUMEUP}, | ||
2669 | { 0x14, KEY_LAST}, /* Row 6 */ | ||
2670 | { 0x15, KEY_DOWN}, | ||
2671 | { 0x16, KEY_MUTE}, | ||
2672 | { 0x17, KEY_VOLUMEDOWN}, | ||
2673 | }; | ||
2674 | DEFINE_LEGACY_IR_KEYTABLE(ati_tv_wonder_hd_600); | ||
2675 | |||
2676 | /* DVBWorld remotes | ||
2677 | Igor M. Liplianin <liplianin@me.by> | ||
2678 | */ | ||
2679 | static struct ir_scancode dm1105_nec[] = { | ||
2680 | { 0x0a, KEY_POWER2}, /* power */ | ||
2681 | { 0x0c, KEY_MUTE}, /* mute */ | ||
2682 | { 0x11, KEY_1}, | ||
2683 | { 0x12, KEY_2}, | ||
2684 | { 0x13, KEY_3}, | ||
2685 | { 0x14, KEY_4}, | ||
2686 | { 0x15, KEY_5}, | ||
2687 | { 0x16, KEY_6}, | ||
2688 | { 0x17, KEY_7}, | ||
2689 | { 0x18, KEY_8}, | ||
2690 | { 0x19, KEY_9}, | ||
2691 | { 0x10, KEY_0}, | ||
2692 | { 0x1c, KEY_CHANNELUP}, /* ch+ */ | ||
2693 | { 0x0f, KEY_CHANNELDOWN}, /* ch- */ | ||
2694 | { 0x1a, KEY_VOLUMEUP}, /* vol+ */ | ||
2695 | { 0x0e, KEY_VOLUMEDOWN}, /* vol- */ | ||
2696 | { 0x04, KEY_RECORD}, /* rec */ | ||
2697 | { 0x09, KEY_CHANNEL}, /* fav */ | ||
2698 | { 0x08, KEY_BACKSPACE}, /* rewind */ | ||
2699 | { 0x07, KEY_FASTFORWARD}, /* fast */ | ||
2700 | { 0x0b, KEY_PAUSE}, /* pause */ | ||
2701 | { 0x02, KEY_ESC}, /* cancel */ | ||
2702 | { 0x03, KEY_TAB}, /* tab */ | ||
2703 | { 0x00, KEY_UP}, /* up */ | ||
2704 | { 0x1f, KEY_ENTER}, /* ok */ | ||
2705 | { 0x01, KEY_DOWN}, /* down */ | ||
2706 | { 0x05, KEY_RECORD}, /* cap */ | ||
2707 | { 0x06, KEY_STOP}, /* stop */ | ||
2708 | { 0x40, KEY_ZOOM}, /* full */ | ||
2709 | { 0x1e, KEY_TV}, /* tvmode */ | ||
2710 | { 0x1b, KEY_B}, /* recall */ | ||
2711 | }; | ||
2712 | DEFINE_LEGACY_IR_KEYTABLE(dm1105_nec); | ||
2713 | |||
2714 | static struct ir_scancode tevii_nec[] = { | ||
2715 | { 0x0a, KEY_POWER2}, | ||
2716 | { 0x0c, KEY_MUTE}, | ||
2717 | { 0x11, KEY_1}, | ||
2718 | { 0x12, KEY_2}, | ||
2719 | { 0x13, KEY_3}, | ||
2720 | { 0x14, KEY_4}, | ||
2721 | { 0x15, KEY_5}, | ||
2722 | { 0x16, KEY_6}, | ||
2723 | { 0x17, KEY_7}, | ||
2724 | { 0x18, KEY_8}, | ||
2725 | { 0x19, KEY_9}, | ||
2726 | { 0x10, KEY_0}, | ||
2727 | { 0x1c, KEY_MENU}, | ||
2728 | { 0x0f, KEY_VOLUMEDOWN}, | ||
2729 | { 0x1a, KEY_LAST}, | ||
2730 | { 0x0e, KEY_OPEN}, | ||
2731 | { 0x04, KEY_RECORD}, | ||
2732 | { 0x09, KEY_VOLUMEUP}, | ||
2733 | { 0x08, KEY_CHANNELUP}, | ||
2734 | { 0x07, KEY_PVR}, | ||
2735 | { 0x0b, KEY_TIME}, | ||
2736 | { 0x02, KEY_RIGHT}, | ||
2737 | { 0x03, KEY_LEFT}, | ||
2738 | { 0x00, KEY_UP}, | ||
2739 | { 0x1f, KEY_OK}, | ||
2740 | { 0x01, KEY_DOWN}, | ||
2741 | { 0x05, KEY_TUNER}, | ||
2742 | { 0x06, KEY_CHANNELDOWN}, | ||
2743 | { 0x40, KEY_PLAYPAUSE}, | ||
2744 | { 0x1e, KEY_REWIND}, | ||
2745 | { 0x1b, KEY_FAVORITES}, | ||
2746 | { 0x1d, KEY_BACK}, | ||
2747 | { 0x4d, KEY_FASTFORWARD}, | ||
2748 | { 0x44, KEY_EPG}, | ||
2749 | { 0x4c, KEY_INFO}, | ||
2750 | { 0x41, KEY_AB}, | ||
2751 | { 0x43, KEY_AUDIO}, | ||
2752 | { 0x45, KEY_SUBTITLE}, | ||
2753 | { 0x4a, KEY_LIST}, | ||
2754 | { 0x46, KEY_F1}, | ||
2755 | { 0x47, KEY_F2}, | ||
2756 | { 0x5e, KEY_F3}, | ||
2757 | { 0x5c, KEY_F4}, | ||
2758 | { 0x52, KEY_F5}, | ||
2759 | { 0x5a, KEY_F6}, | ||
2760 | { 0x56, KEY_MODE}, | ||
2761 | { 0x58, KEY_SWITCHVIDEOMODE}, | ||
2762 | }; | ||
2763 | DEFINE_LEGACY_IR_KEYTABLE(tevii_nec); | ||
2764 | |||
2765 | static struct ir_scancode tbs_nec[] = { | ||
2766 | { 0x04, KEY_POWER2}, /*power*/ | ||
2767 | { 0x14, KEY_MUTE}, /*mute*/ | ||
2768 | { 0x07, KEY_1}, | ||
2769 | { 0x06, KEY_2}, | ||
2770 | { 0x05, KEY_3}, | ||
2771 | { 0x0b, KEY_4}, | ||
2772 | { 0x0a, KEY_5}, | ||
2773 | { 0x09, KEY_6}, | ||
2774 | { 0x0f, KEY_7}, | ||
2775 | { 0x0e, KEY_8}, | ||
2776 | { 0x0d, KEY_9}, | ||
2777 | { 0x12, KEY_0}, | ||
2778 | { 0x16, KEY_CHANNELUP}, /*ch+*/ | ||
2779 | { 0x11, KEY_CHANNELDOWN},/*ch-*/ | ||
2780 | { 0x13, KEY_VOLUMEUP}, /*vol+*/ | ||
2781 | { 0x0c, KEY_VOLUMEDOWN},/*vol-*/ | ||
2782 | { 0x03, KEY_RECORD}, /*rec*/ | ||
2783 | { 0x18, KEY_PAUSE}, /*pause*/ | ||
2784 | { 0x19, KEY_OK}, /*ok*/ | ||
2785 | { 0x1a, KEY_CAMERA}, /* snapshot */ | ||
2786 | { 0x01, KEY_UP}, | ||
2787 | { 0x10, KEY_LEFT}, | ||
2788 | { 0x02, KEY_RIGHT}, | ||
2789 | { 0x08, KEY_DOWN}, | ||
2790 | { 0x15, KEY_FAVORITES}, | ||
2791 | { 0x17, KEY_SUBTITLE}, | ||
2792 | { 0x1d, KEY_ZOOM}, | ||
2793 | { 0x1f, KEY_EXIT}, | ||
2794 | { 0x1e, KEY_MENU}, | ||
2795 | { 0x1c, KEY_EPG}, | ||
2796 | { 0x00, KEY_PREVIOUS}, | ||
2797 | { 0x1b, KEY_MODE}, | ||
2798 | }; | ||
2799 | DEFINE_LEGACY_IR_KEYTABLE(tbs_nec); | ||
2800 | |||
2801 | /* Terratec Cinergy Hybrid T USB XS | ||
2802 | Devin Heitmueller <dheitmueller@linuxtv.org> | ||
2803 | */ | ||
2804 | static struct ir_scancode terratec_cinergy_xs[] = { | ||
2805 | { 0x41, KEY_HOME}, | ||
2806 | { 0x01, KEY_POWER}, | ||
2807 | { 0x42, KEY_MENU}, | ||
2808 | { 0x02, KEY_1}, | ||
2809 | { 0x03, KEY_2}, | ||
2810 | { 0x04, KEY_3}, | ||
2811 | { 0x43, KEY_SUBTITLE}, | ||
2812 | { 0x05, KEY_4}, | ||
2813 | { 0x06, KEY_5}, | ||
2814 | { 0x07, KEY_6}, | ||
2815 | { 0x44, KEY_TEXT}, | ||
2816 | { 0x08, KEY_7}, | ||
2817 | { 0x09, KEY_8}, | ||
2818 | { 0x0a, KEY_9}, | ||
2819 | { 0x45, KEY_DELETE}, | ||
2820 | { 0x0b, KEY_TUNER}, | ||
2821 | { 0x0c, KEY_0}, | ||
2822 | { 0x0d, KEY_MODE}, | ||
2823 | { 0x46, KEY_TV}, | ||
2824 | { 0x47, KEY_DVD}, | ||
2825 | { 0x49, KEY_VIDEO}, | ||
2826 | { 0x4b, KEY_AUX}, | ||
2827 | { 0x10, KEY_UP}, | ||
2828 | { 0x11, KEY_LEFT}, | ||
2829 | { 0x12, KEY_OK}, | ||
2830 | { 0x13, KEY_RIGHT}, | ||
2831 | { 0x14, KEY_DOWN}, | ||
2832 | { 0x0f, KEY_EPG}, | ||
2833 | { 0x16, KEY_INFO}, | ||
2834 | { 0x4d, KEY_BACKSPACE}, | ||
2835 | { 0x1c, KEY_VOLUMEUP}, | ||
2836 | { 0x4c, KEY_PLAY}, | ||
2837 | { 0x1b, KEY_CHANNELUP}, | ||
2838 | { 0x1e, KEY_VOLUMEDOWN}, | ||
2839 | { 0x1d, KEY_MUTE}, | ||
2840 | { 0x1f, KEY_CHANNELDOWN}, | ||
2841 | { 0x17, KEY_RED}, | ||
2842 | { 0x18, KEY_GREEN}, | ||
2843 | { 0x19, KEY_YELLOW}, | ||
2844 | { 0x1a, KEY_BLUE}, | ||
2845 | { 0x58, KEY_RECORD}, | ||
2846 | { 0x48, KEY_STOP}, | ||
2847 | { 0x40, KEY_PAUSE}, | ||
2848 | { 0x54, KEY_LAST}, | ||
2849 | { 0x4e, KEY_REWIND}, | ||
2850 | { 0x4f, KEY_FASTFORWARD}, | ||
2851 | { 0x5c, KEY_NEXT}, | ||
2852 | }; | ||
2853 | DEFINE_LEGACY_IR_KEYTABLE(terratec_cinergy_xs); | ||
2854 | |||
2855 | /* EVGA inDtube | ||
2856 | Devin Heitmueller <devin.heitmueller@gmail.com> | ||
2857 | */ | ||
2858 | static struct ir_scancode evga_indtube[] = { | ||
2859 | { 0x12, KEY_POWER}, | ||
2860 | { 0x02, KEY_MODE}, /* TV */ | ||
2861 | { 0x14, KEY_MUTE}, | ||
2862 | { 0x1a, KEY_CHANNELUP}, | ||
2863 | { 0x16, KEY_TV2}, /* PIP */ | ||
2864 | { 0x1d, KEY_VOLUMEUP}, | ||
2865 | { 0x05, KEY_CHANNELDOWN}, | ||
2866 | { 0x0f, KEY_PLAYPAUSE}, | ||
2867 | { 0x19, KEY_VOLUMEDOWN}, | ||
2868 | { 0x1c, KEY_REWIND}, | ||
2869 | { 0x0d, KEY_RECORD}, | ||
2870 | { 0x18, KEY_FORWARD}, | ||
2871 | { 0x1e, KEY_PREVIOUS}, | ||
2872 | { 0x1b, KEY_STOP}, | ||
2873 | { 0x1f, KEY_NEXT}, | ||
2874 | { 0x13, KEY_CAMERA}, | ||
2875 | }; | ||
2876 | DEFINE_LEGACY_IR_KEYTABLE(evga_indtube); | ||
2877 | |||
2878 | static struct ir_scancode videomate_s350[] = { | ||
2879 | { 0x00, KEY_TV}, | ||
2880 | { 0x01, KEY_DVD}, | ||
2881 | { 0x04, KEY_RECORD}, | ||
2882 | { 0x05, KEY_VIDEO}, /* TV/Video */ | ||
2883 | { 0x07, KEY_STOP}, | ||
2884 | { 0x08, KEY_PLAYPAUSE}, | ||
2885 | { 0x0a, KEY_REWIND}, | ||
2886 | { 0x0f, KEY_FASTFORWARD}, | ||
2887 | { 0x10, KEY_CHANNELUP}, | ||
2888 | { 0x12, KEY_VOLUMEUP}, | ||
2889 | { 0x13, KEY_CHANNELDOWN}, | ||
2890 | { 0x14, KEY_MUTE}, | ||
2891 | { 0x15, KEY_VOLUMEDOWN}, | ||
2892 | { 0x16, KEY_1}, | ||
2893 | { 0x17, KEY_2}, | ||
2894 | { 0x18, KEY_3}, | ||
2895 | { 0x19, KEY_4}, | ||
2896 | { 0x1a, KEY_5}, | ||
2897 | { 0x1b, KEY_6}, | ||
2898 | { 0x1c, KEY_7}, | ||
2899 | { 0x1d, KEY_8}, | ||
2900 | { 0x1e, KEY_9}, | ||
2901 | { 0x1f, KEY_0}, | ||
2902 | { 0x21, KEY_SLEEP}, | ||
2903 | { 0x24, KEY_ZOOM}, | ||
2904 | { 0x25, KEY_LAST}, /* Recall */ | ||
2905 | { 0x26, KEY_SUBTITLE}, /* CC */ | ||
2906 | { 0x27, KEY_LANGUAGE}, /* MTS */ | ||
2907 | { 0x29, KEY_CHANNEL}, /* SURF */ | ||
2908 | { 0x2b, KEY_A}, | ||
2909 | { 0x2c, KEY_B}, | ||
2910 | { 0x2f, KEY_CAMERA}, /* Snapshot */ | ||
2911 | { 0x23, KEY_RADIO}, | ||
2912 | { 0x02, KEY_PREVIOUSSONG}, | ||
2913 | { 0x06, KEY_NEXTSONG}, | ||
2914 | { 0x03, KEY_EPG}, | ||
2915 | { 0x09, KEY_SETUP}, | ||
2916 | { 0x22, KEY_BACKSPACE}, | ||
2917 | { 0x0c, KEY_UP}, | ||
2918 | { 0x0e, KEY_DOWN}, | ||
2919 | { 0x0b, KEY_LEFT}, | ||
2920 | { 0x0d, KEY_RIGHT}, | ||
2921 | { 0x11, KEY_ENTER}, | ||
2922 | { 0x20, KEY_TEXT}, | ||
2923 | }; | ||
2924 | DEFINE_LEGACY_IR_KEYTABLE(videomate_s350); | ||
2925 | |||
2926 | /* GADMEI UTV330+ RM008Z remote | ||
2927 | Shine Liu <shinel@foxmail.com> | ||
2928 | */ | ||
2929 | static struct ir_scancode gadmei_rm008z[] = { | ||
2930 | { 0x14, KEY_POWER2}, /* POWER OFF */ | ||
2931 | { 0x0c, KEY_MUTE}, /* MUTE */ | ||
2932 | |||
2933 | { 0x18, KEY_TV}, /* TV */ | ||
2934 | { 0x0e, KEY_VIDEO}, /* AV */ | ||
2935 | { 0x0b, KEY_AUDIO}, /* SV */ | ||
2936 | { 0x0f, KEY_RADIO}, /* FM */ | ||
2937 | |||
2938 | { 0x00, KEY_1}, | ||
2939 | { 0x01, KEY_2}, | ||
2940 | { 0x02, KEY_3}, | ||
2941 | { 0x03, KEY_4}, | ||
2942 | { 0x04, KEY_5}, | ||
2943 | { 0x05, KEY_6}, | ||
2944 | { 0x06, KEY_7}, | ||
2945 | { 0x07, KEY_8}, | ||
2946 | { 0x08, KEY_9}, | ||
2947 | { 0x09, KEY_0}, | ||
2948 | { 0x0a, KEY_INFO}, /* OSD */ | ||
2949 | { 0x1c, KEY_BACKSPACE}, /* LAST */ | ||
2950 | |||
2951 | { 0x0d, KEY_PLAY}, /* PLAY */ | ||
2952 | { 0x1e, KEY_CAMERA}, /* SNAPSHOT */ | ||
2953 | { 0x1a, KEY_RECORD}, /* RECORD */ | ||
2954 | { 0x17, KEY_STOP}, /* STOP */ | ||
2955 | |||
2956 | { 0x1f, KEY_UP}, /* UP */ | ||
2957 | { 0x44, KEY_DOWN}, /* DOWN */ | ||
2958 | { 0x46, KEY_TAB}, /* BACK */ | ||
2959 | { 0x4a, KEY_ZOOM}, /* FULLSECREEN */ | ||
2960 | |||
2961 | { 0x10, KEY_VOLUMEUP}, /* VOLUMEUP */ | ||
2962 | { 0x11, KEY_VOLUMEDOWN}, /* VOLUMEDOWN */ | ||
2963 | { 0x12, KEY_CHANNELUP}, /* CHANNELUP */ | ||
2964 | { 0x13, KEY_CHANNELDOWN}, /* CHANNELDOWN */ | ||
2965 | { 0x15, KEY_ENTER}, /* OK */ | ||
2966 | }; | ||
2967 | DEFINE_LEGACY_IR_KEYTABLE(gadmei_rm008z); | ||
2968 | |||
2969 | /************************************************************* | ||
2970 | * COMPLETE SCANCODE TABLES | ||
2971 | * Instead of just a partial scancode, the tables bellow | ||
2972 | * contains the complete scancode and the receiver protocol | ||
2973 | *************************************************************/ | ||
2974 | 37 | ||
2975 | /* | 38 | /* |
2976 | * Hauppauge:the newer, gray remotes (seems there are multiple | 39 | * All keytables got moved to include/media/keytables directory. |
2977 | * slightly different versions), shipped with cx88+ivtv cards. | 40 | * This file is still needed - at least for now, as their data is |
2978 | * | 41 | * dynamically inserted here by the media/ir-common.h, due to the |
2979 | * This table contains the complete RC5 code, instead of just the data part | 42 | * #define IR_KEYMAPS line, at the beginning of this file. The |
2980 | */ | 43 | * plans are to get rid of this file completely in a near future. |
2981 | static struct ir_scancode rc5_hauppauge_new[] = { | ||
2982 | /* Keys 0 to 9 */ | ||
2983 | { 0x1e00, KEY_0 }, | ||
2984 | { 0x1e01, KEY_1 }, | ||
2985 | { 0x1e02, KEY_2 }, | ||
2986 | { 0x1e03, KEY_3 }, | ||
2987 | { 0x1e04, KEY_4 }, | ||
2988 | { 0x1e05, KEY_5 }, | ||
2989 | { 0x1e06, KEY_6 }, | ||
2990 | { 0x1e07, KEY_7 }, | ||
2991 | { 0x1e08, KEY_8 }, | ||
2992 | { 0x1e09, KEY_9 }, | ||
2993 | |||
2994 | { 0x1e0a, KEY_TEXT }, /* keypad asterisk as well */ | ||
2995 | { 0x1e0b, KEY_RED }, /* red button */ | ||
2996 | { 0x1e0c, KEY_RADIO }, | ||
2997 | { 0x1e0d, KEY_MENU }, | ||
2998 | { 0x1e0e, KEY_SUBTITLE }, /* also the # key */ | ||
2999 | { 0x1e0f, KEY_MUTE }, | ||
3000 | { 0x1e10, KEY_VOLUMEUP }, | ||
3001 | { 0x1e11, KEY_VOLUMEDOWN }, | ||
3002 | { 0x1e12, KEY_PREVIOUS }, /* previous channel */ | ||
3003 | { 0x1e14, KEY_UP }, | ||
3004 | { 0x1e15, KEY_DOWN }, | ||
3005 | { 0x1e16, KEY_LEFT }, | ||
3006 | { 0x1e17, KEY_RIGHT }, | ||
3007 | { 0x1e18, KEY_VIDEO }, /* Videos */ | ||
3008 | { 0x1e19, KEY_AUDIO }, /* Music */ | ||
3009 | /* 0x1e1a: Pictures - presume this means | ||
3010 | "Multimedia Home Platform" - | ||
3011 | no "PICTURES" key in input.h | ||
3012 | */ | ||
3013 | { 0x1e1a, KEY_MHP }, | ||
3014 | |||
3015 | { 0x1e1b, KEY_EPG }, /* Guide */ | ||
3016 | { 0x1e1c, KEY_TV }, | ||
3017 | { 0x1e1e, KEY_NEXTSONG }, /* skip >| */ | ||
3018 | { 0x1e1f, KEY_EXIT }, /* back/exit */ | ||
3019 | { 0x1e20, KEY_CHANNELUP }, /* channel / program + */ | ||
3020 | { 0x1e21, KEY_CHANNELDOWN }, /* channel / program - */ | ||
3021 | { 0x1e22, KEY_CHANNEL }, /* source (old black remote) */ | ||
3022 | { 0x1e24, KEY_PREVIOUSSONG }, /* replay |< */ | ||
3023 | { 0x1e25, KEY_ENTER }, /* OK */ | ||
3024 | { 0x1e26, KEY_SLEEP }, /* minimize (old black remote) */ | ||
3025 | { 0x1e29, KEY_BLUE }, /* blue key */ | ||
3026 | { 0x1e2e, KEY_GREEN }, /* green button */ | ||
3027 | { 0x1e30, KEY_PAUSE }, /* pause */ | ||
3028 | { 0x1e32, KEY_REWIND }, /* backward << */ | ||
3029 | { 0x1e34, KEY_FASTFORWARD }, /* forward >> */ | ||
3030 | { 0x1e35, KEY_PLAY }, | ||
3031 | { 0x1e36, KEY_STOP }, | ||
3032 | { 0x1e37, KEY_RECORD }, /* recording */ | ||
3033 | { 0x1e38, KEY_YELLOW }, /* yellow key */ | ||
3034 | { 0x1e3b, KEY_SELECT }, /* top right button */ | ||
3035 | { 0x1e3c, KEY_ZOOM }, /* full */ | ||
3036 | { 0x1e3d, KEY_POWER }, /* system power (green button) */ | ||
3037 | }; | ||
3038 | DEFINE_IR_KEYTABLE(rc5_hauppauge_new, IR_TYPE_RC5); | ||
3039 | |||
3040 | /* Terratec Cinergy Hybrid T USB XS FM | ||
3041 | Mauro Carvalho Chehab <mchehab@redhat.com> | ||
3042 | */ | 44 | */ |
3043 | static struct ir_scancode nec_terratec_cinergy_xs[] = { | ||
3044 | { 0x1441, KEY_HOME}, | ||
3045 | { 0x1401, KEY_POWER2}, | ||
3046 | |||
3047 | { 0x1442, KEY_MENU}, /* DVD menu */ | ||
3048 | { 0x1443, KEY_SUBTITLE}, | ||
3049 | { 0x1444, KEY_TEXT}, /* Teletext */ | ||
3050 | { 0x1445, KEY_DELETE}, | ||
3051 | |||
3052 | { 0x1402, KEY_1}, | ||
3053 | { 0x1403, KEY_2}, | ||
3054 | { 0x1404, KEY_3}, | ||
3055 | { 0x1405, KEY_4}, | ||
3056 | { 0x1406, KEY_5}, | ||
3057 | { 0x1407, KEY_6}, | ||
3058 | { 0x1408, KEY_7}, | ||
3059 | { 0x1409, KEY_8}, | ||
3060 | { 0x140a, KEY_9}, | ||
3061 | { 0x140c, KEY_0}, | ||
3062 | |||
3063 | { 0x140b, KEY_TUNER}, /* AV */ | ||
3064 | { 0x140d, KEY_MODE}, /* A.B */ | ||
3065 | |||
3066 | { 0x1446, KEY_TV}, | ||
3067 | { 0x1447, KEY_DVD}, | ||
3068 | { 0x1449, KEY_VIDEO}, | ||
3069 | { 0x144a, KEY_RADIO}, /* Music */ | ||
3070 | { 0x144b, KEY_CAMERA}, /* PIC */ | ||
3071 | |||
3072 | { 0x1410, KEY_UP}, | ||
3073 | { 0x1411, KEY_LEFT}, | ||
3074 | { 0x1412, KEY_OK}, | ||
3075 | { 0x1413, KEY_RIGHT}, | ||
3076 | { 0x1414, KEY_DOWN}, | ||
3077 | |||
3078 | { 0x140f, KEY_EPG}, | ||
3079 | { 0x1416, KEY_INFO}, | ||
3080 | { 0x144d, KEY_BACKSPACE}, | ||
3081 | |||
3082 | { 0x141c, KEY_VOLUMEUP}, | ||
3083 | { 0x141e, KEY_VOLUMEDOWN}, | ||
3084 | |||
3085 | { 0x144c, KEY_PLAY}, | ||
3086 | { 0x141d, KEY_MUTE}, | ||
3087 | |||
3088 | { 0x141b, KEY_CHANNELUP}, | ||
3089 | { 0x141f, KEY_CHANNELDOWN}, | ||
3090 | |||
3091 | { 0x1417, KEY_RED}, | ||
3092 | { 0x1418, KEY_GREEN}, | ||
3093 | { 0x1419, KEY_YELLOW}, | ||
3094 | { 0x141a, KEY_BLUE}, | ||
3095 | |||
3096 | { 0x1458, KEY_RECORD}, | ||
3097 | { 0x1448, KEY_STOP}, | ||
3098 | { 0x1440, KEY_PAUSE}, | ||
3099 | |||
3100 | { 0x1454, KEY_LAST}, | ||
3101 | { 0x144e, KEY_REWIND}, | ||
3102 | { 0x144f, KEY_FASTFORWARD}, | ||
3103 | { 0x145c, KEY_NEXT}, | ||
3104 | }; | ||
3105 | DEFINE_IR_KEYTABLE(nec_terratec_cinergy_xs, IR_TYPE_NEC); | ||
3106 | |||
3107 | /* Leadtek Winfast TV USB II Deluxe remote | ||
3108 | Magnus Alm <magnus.alm@gmail.com> | ||
3109 | */ | ||
3110 | static struct ir_scancode winfast_usbii_deluxe[] = { | ||
3111 | { 0x62, KEY_0}, | ||
3112 | { 0x75, KEY_1}, | ||
3113 | { 0x76, KEY_2}, | ||
3114 | { 0x77, KEY_3}, | ||
3115 | { 0x79, KEY_4}, | ||
3116 | { 0x7a, KEY_5}, | ||
3117 | { 0x7b, KEY_6}, | ||
3118 | { 0x7d, KEY_7}, | ||
3119 | { 0x7e, KEY_8}, | ||
3120 | { 0x7f, KEY_9}, | ||
3121 | |||
3122 | { 0x38, KEY_CAMERA}, /* SNAPSHOT */ | ||
3123 | { 0x37, KEY_RECORD}, /* RECORD */ | ||
3124 | { 0x35, KEY_TIME}, /* TIMESHIFT */ | ||
3125 | |||
3126 | { 0x74, KEY_VOLUMEUP}, /* VOLUMEUP */ | ||
3127 | { 0x78, KEY_VOLUMEDOWN}, /* VOLUMEDOWN */ | ||
3128 | { 0x64, KEY_MUTE}, /* MUTE */ | ||
3129 | |||
3130 | { 0x21, KEY_CHANNEL}, /* SURF */ | ||
3131 | { 0x7c, KEY_CHANNELUP}, /* CHANNELUP */ | ||
3132 | { 0x60, KEY_CHANNELDOWN}, /* CHANNELDOWN */ | ||
3133 | { 0x61, KEY_LAST}, /* LAST CHANNEL (RECALL) */ | ||
3134 | |||
3135 | { 0x72, KEY_VIDEO}, /* INPUT MODES (TV/FM) */ | ||
3136 | |||
3137 | { 0x70, KEY_POWER2}, /* TV ON/OFF */ | ||
3138 | |||
3139 | { 0x39, KEY_CYCLEWINDOWS}, /* MINIMIZE (BOSS) */ | ||
3140 | { 0x3a, KEY_NEW}, /* PIP */ | ||
3141 | { 0x73, KEY_ZOOM}, /* FULLSECREEN */ | ||
3142 | |||
3143 | { 0x66, KEY_INFO}, /* OSD (DISPLAY) */ | ||
3144 | |||
3145 | { 0x31, KEY_DOT}, /* '.' */ | ||
3146 | { 0x63, KEY_ENTER}, /* ENTER */ | ||
3147 | |||
3148 | }; | ||
3149 | DEFINE_LEGACY_IR_KEYTABLE(winfast_usbii_deluxe); | ||
3150 | |||
3151 | /* Kworld 315U | ||
3152 | */ | ||
3153 | static struct ir_scancode kworld_315u[] = { | ||
3154 | { 0x6143, KEY_POWER }, | ||
3155 | { 0x6101, KEY_TUNER }, /* source */ | ||
3156 | { 0x610b, KEY_ZOOM }, | ||
3157 | { 0x6103, KEY_POWER2 }, /* shutdown */ | ||
3158 | |||
3159 | { 0x6104, KEY_1 }, | ||
3160 | { 0x6108, KEY_2 }, | ||
3161 | { 0x6102, KEY_3 }, | ||
3162 | { 0x6109, KEY_CHANNELUP }, | ||
3163 | |||
3164 | { 0x610f, KEY_4 }, | ||
3165 | { 0x6105, KEY_5 }, | ||
3166 | { 0x6106, KEY_6 }, | ||
3167 | { 0x6107, KEY_CHANNELDOWN }, | ||
3168 | |||
3169 | { 0x610c, KEY_7 }, | ||
3170 | { 0x610d, KEY_8 }, | ||
3171 | { 0x610a, KEY_9 }, | ||
3172 | { 0x610e, KEY_VOLUMEUP }, | ||
3173 | |||
3174 | { 0x6110, KEY_LAST }, | ||
3175 | { 0x6111, KEY_0 }, | ||
3176 | { 0x6112, KEY_ENTER }, | ||
3177 | { 0x6113, KEY_VOLUMEDOWN }, | ||
3178 | |||
3179 | { 0x6114, KEY_RECORD }, | ||
3180 | { 0x6115, KEY_STOP }, | ||
3181 | { 0x6116, KEY_PLAY }, | ||
3182 | { 0x6117, KEY_MUTE }, | ||
3183 | |||
3184 | { 0x6118, KEY_UP }, | ||
3185 | { 0x6119, KEY_DOWN }, | ||
3186 | { 0x611a, KEY_LEFT }, | ||
3187 | { 0x611b, KEY_RIGHT }, | ||
3188 | 45 | ||
3189 | { 0x611c, KEY_RED }, | ||
3190 | { 0x611d, KEY_GREEN }, | ||
3191 | { 0x611e, KEY_YELLOW }, | ||
3192 | { 0x611f, KEY_BLUE }, | ||
3193 | }; | ||
3194 | DEFINE_IR_KEYTABLE(kworld_315u, IR_TYPE_NEC); | ||
diff --git a/include/media/ir-common.h b/include/media/ir-common.h index e8a64761df56..59ce30280b72 100644 --- a/include/media/ir-common.h +++ b/include/media/ir-common.h | |||
@@ -28,6 +28,71 @@ | |||
28 | #include <linux/interrupt.h> | 28 | #include <linux/interrupt.h> |
29 | #include <media/ir-core.h> | 29 | #include <media/ir-core.h> |
30 | 30 | ||
31 | #include <media/keycodes/adstech-dvb-t-pci.h> | ||
32 | #include <media/keycodes/apac-viewcomp.h> | ||
33 | #include <media/keycodes/asus-pc39.h> | ||
34 | #include <media/keycodes/ati-tv-wonder-hd-600.h> | ||
35 | #include <media/keycodes/avermedia-a16d.h> | ||
36 | #include <media/keycodes/avermedia-cardbus.h> | ||
37 | #include <media/keycodes/avermedia-dvbt.h> | ||
38 | #include <media/keycodes/avermedia.h> | ||
39 | #include <media/keycodes/avermedia-m135a-rm-jx.h> | ||
40 | #include <media/keycodes/avertv-303.h> | ||
41 | #include <media/keycodes/behold-columbus.h> | ||
42 | #include <media/keycodes/behold.h> | ||
43 | #include <media/keycodes/budget-ci-old.h> | ||
44 | #include <media/keycodes/cinergy-1400.h> | ||
45 | #include <media/keycodes/cinergy.h> | ||
46 | #include <media/keycodes/dm1105-nec.h> | ||
47 | #include <media/keycodes/dntv-live-dvb-t.h> | ||
48 | #include <media/keycodes/dntv-live-dvbt-pro.h> | ||
49 | #include <media/keycodes/empty.h> | ||
50 | #include <media/keycodes/em-terratec.h> | ||
51 | #include <media/keycodes/encore-enltv2.h> | ||
52 | #include <media/keycodes/encore-enltv-fm53.h> | ||
53 | #include <media/keycodes/encore-enltv.h> | ||
54 | #include <media/keycodes/evga-indtube.h> | ||
55 | #include <media/keycodes/eztv.h> | ||
56 | #include <media/keycodes/flydvb.h> | ||
57 | #include <media/keycodes/flyvideo.h> | ||
58 | #include <media/keycodes/fusionhdtv-mce.h> | ||
59 | #include <media/keycodes/gadmei-rm008z.h> | ||
60 | #include <media/keycodes/genius-tvgo-a11mce.h> | ||
61 | #include <media/keycodes/gotview7135.h> | ||
62 | #include <media/keycodes/hauppauge-new.h> | ||
63 | #include <media/keycodes/iodata-bctv7e.h> | ||
64 | #include <media/keycodes/kaiomy.h> | ||
65 | #include <media/keycodes/kworld-315u.h> | ||
66 | #include <media/keycodes/kworld-plus-tv-analog.h> | ||
67 | #include <media/keycodes/manli.h> | ||
68 | #include <media/keycodes/msi-tvanywhere.h> | ||
69 | #include <media/keycodes/msi-tvanywhere-plus.h> | ||
70 | #include <media/keycodes/nebula.h> | ||
71 | #include <media/keycodes/nec-terratec-cinergy-xs.h> | ||
72 | #include <media/keycodes/norwood.h> | ||
73 | #include <media/keycodes/npgtech.h> | ||
74 | #include <media/keycodes/pctv-sedna.h> | ||
75 | #include <media/keycodes/pinnacle-color.h> | ||
76 | #include <media/keycodes/pinnacle-grey.h> | ||
77 | #include <media/keycodes/pinnacle-pctv-hd.h> | ||
78 | #include <media/keycodes/pixelview.h> | ||
79 | #include <media/keycodes/pixelview-new.h> | ||
80 | #include <media/keycodes/powercolor-real-angel.h> | ||
81 | #include <media/keycodes/proteus-2309.h> | ||
82 | #include <media/keycodes/purpletv.h> | ||
83 | #include <media/keycodes/pv951.h> | ||
84 | #include <media/keycodes/rc5-hauppauge-new.h> | ||
85 | #include <media/keycodes/rc5-tv.h> | ||
86 | #include <media/keycodes/real-audio-220-32-keys.h> | ||
87 | #include <media/keycodes/tbs-nec.h> | ||
88 | #include <media/keycodes/terratec-cinergy-xs.h> | ||
89 | #include <media/keycodes/tevii-nec.h> | ||
90 | #include <media/keycodes/tt-1500.h> | ||
91 | #include <media/keycodes/videomate-s350.h> | ||
92 | #include <media/keycodes/videomate-tv-pvr.h> | ||
93 | #include <media/keycodes/winfast.h> | ||
94 | #include <media/keycodes/winfast-usbii-deluxe.h> | ||
95 | |||
31 | #define RC5_START(x) (((x)>>12)&3) | 96 | #define RC5_START(x) (((x)>>12)&3) |
32 | #define RC5_TOGGLE(x) (((x)>>11)&1) | 97 | #define RC5_TOGGLE(x) (((x)>>11)&1) |
33 | #define RC5_ADDR(x) (((x)>>6)&31) | 98 | #define RC5_ADDR(x) (((x)>>6)&31) |
@@ -104,89 +169,4 @@ u32 ir_rc5_decode(unsigned int code); | |||
104 | void ir_rc5_timer_end(unsigned long data); | 169 | void ir_rc5_timer_end(unsigned long data); |
105 | void ir_rc5_timer_keyup(unsigned long data); | 170 | void ir_rc5_timer_keyup(unsigned long data); |
106 | 171 | ||
107 | /* scancode->keycode map tables from ir-keymaps.c */ | ||
108 | |||
109 | #define IR_KEYTABLE(a) \ | ||
110 | ir_codes_ ## a ## _table | ||
111 | |||
112 | #define DECLARE_IR_KEYTABLE(a) \ | ||
113 | extern struct ir_scancode_table IR_KEYTABLE(a) | ||
114 | |||
115 | #define DEFINE_IR_KEYTABLE(tabname, type) \ | ||
116 | struct ir_scancode_table IR_KEYTABLE(tabname) = { \ | ||
117 | .scan = tabname, \ | ||
118 | .size = ARRAY_SIZE(tabname), \ | ||
119 | .ir_type = type, \ | ||
120 | .name = #tabname, \ | ||
121 | }; \ | ||
122 | EXPORT_SYMBOL_GPL(IR_KEYTABLE(tabname)) | ||
123 | |||
124 | #define DEFINE_LEGACY_IR_KEYTABLE(tabname) \ | ||
125 | DEFINE_IR_KEYTABLE(tabname, IR_TYPE_UNKNOWN) | ||
126 | |||
127 | DECLARE_IR_KEYTABLE(adstech_dvb_t_pci); | ||
128 | DECLARE_IR_KEYTABLE(apac_viewcomp); | ||
129 | DECLARE_IR_KEYTABLE(asus_pc39); | ||
130 | DECLARE_IR_KEYTABLE(ati_tv_wonder_hd_600); | ||
131 | DECLARE_IR_KEYTABLE(avermedia); | ||
132 | DECLARE_IR_KEYTABLE(avermedia_a16d); | ||
133 | DECLARE_IR_KEYTABLE(avermedia_cardbus); | ||
134 | DECLARE_IR_KEYTABLE(avermedia_dvbt); | ||
135 | DECLARE_IR_KEYTABLE(avermedia_m135a_rm_jx); | ||
136 | DECLARE_IR_KEYTABLE(avertv_303); | ||
137 | DECLARE_IR_KEYTABLE(behold); | ||
138 | DECLARE_IR_KEYTABLE(behold_columbus); | ||
139 | DECLARE_IR_KEYTABLE(budget_ci_old); | ||
140 | DECLARE_IR_KEYTABLE(cinergy); | ||
141 | DECLARE_IR_KEYTABLE(cinergy_1400); | ||
142 | DECLARE_IR_KEYTABLE(dm1105_nec); | ||
143 | DECLARE_IR_KEYTABLE(dntv_live_dvb_t); | ||
144 | DECLARE_IR_KEYTABLE(dntv_live_dvbt_pro); | ||
145 | DECLARE_IR_KEYTABLE(empty); | ||
146 | DECLARE_IR_KEYTABLE(em_terratec); | ||
147 | DECLARE_IR_KEYTABLE(encore_enltv); | ||
148 | DECLARE_IR_KEYTABLE(encore_enltv2); | ||
149 | DECLARE_IR_KEYTABLE(encore_enltv_fm53); | ||
150 | DECLARE_IR_KEYTABLE(evga_indtube); | ||
151 | DECLARE_IR_KEYTABLE(eztv); | ||
152 | DECLARE_IR_KEYTABLE(flydvb); | ||
153 | DECLARE_IR_KEYTABLE(flyvideo); | ||
154 | DECLARE_IR_KEYTABLE(fusionhdtv_mce); | ||
155 | DECLARE_IR_KEYTABLE(gadmei_rm008z); | ||
156 | DECLARE_IR_KEYTABLE(genius_tvgo_a11mce); | ||
157 | DECLARE_IR_KEYTABLE(gotview7135); | ||
158 | DECLARE_IR_KEYTABLE(hauppauge_new); | ||
159 | DECLARE_IR_KEYTABLE(iodata_bctv7e); | ||
160 | DECLARE_IR_KEYTABLE(kaiomy); | ||
161 | DECLARE_IR_KEYTABLE(kworld_315u); | ||
162 | DECLARE_IR_KEYTABLE(kworld_plus_tv_analog); | ||
163 | DECLARE_IR_KEYTABLE(manli); | ||
164 | DECLARE_IR_KEYTABLE(msi_tvanywhere); | ||
165 | DECLARE_IR_KEYTABLE(msi_tvanywhere_plus); | ||
166 | DECLARE_IR_KEYTABLE(nebula); | ||
167 | DECLARE_IR_KEYTABLE(nec_terratec_cinergy_xs); | ||
168 | DECLARE_IR_KEYTABLE(norwood); | ||
169 | DECLARE_IR_KEYTABLE(npgtech); | ||
170 | DECLARE_IR_KEYTABLE(pctv_sedna); | ||
171 | DECLARE_IR_KEYTABLE(pinnacle_color); | ||
172 | DECLARE_IR_KEYTABLE(pinnacle_grey); | ||
173 | DECLARE_IR_KEYTABLE(pinnacle_pctv_hd); | ||
174 | DECLARE_IR_KEYTABLE(pixelview); | ||
175 | DECLARE_IR_KEYTABLE(pixelview_new); | ||
176 | DECLARE_IR_KEYTABLE(powercolor_real_angel); | ||
177 | DECLARE_IR_KEYTABLE(proteus_2309); | ||
178 | DECLARE_IR_KEYTABLE(purpletv); | ||
179 | DECLARE_IR_KEYTABLE(pv951); | ||
180 | DECLARE_IR_KEYTABLE(rc5_hauppauge_new); | ||
181 | DECLARE_IR_KEYTABLE(rc5_tv); | ||
182 | DECLARE_IR_KEYTABLE(real_audio_220_32_keys); | ||
183 | DECLARE_IR_KEYTABLE(tbs_nec); | ||
184 | DECLARE_IR_KEYTABLE(terratec_cinergy_xs); | ||
185 | DECLARE_IR_KEYTABLE(tevii_nec); | ||
186 | DECLARE_IR_KEYTABLE(tt_1500); | ||
187 | DECLARE_IR_KEYTABLE(videomate_s350); | ||
188 | DECLARE_IR_KEYTABLE(videomate_tv_pvr); | ||
189 | DECLARE_IR_KEYTABLE(winfast); | ||
190 | DECLARE_IR_KEYTABLE(winfast_usbii_deluxe); | ||
191 | |||
192 | #endif | 172 | #endif |
diff --git a/include/media/ir-core.h b/include/media/ir-core.h index 9a2f3084ffec..643ff25daa89 100644 --- a/include/media/ir-core.h +++ b/include/media/ir-core.h | |||
@@ -96,6 +96,24 @@ struct ir_raw_handler { | |||
96 | 96 | ||
97 | #define to_ir_input_dev(_attr) container_of(_attr, struct ir_input_dev, attr) | 97 | #define to_ir_input_dev(_attr) container_of(_attr, struct ir_input_dev, attr) |
98 | 98 | ||
99 | #define IR_KEYTABLE(a) \ | ||
100 | ir_codes_ ## a ## _table | ||
101 | |||
102 | #define DECLARE_IR_KEYTABLE(a) \ | ||
103 | extern struct ir_scancode_table IR_KEYTABLE(a) | ||
104 | |||
105 | #define DEFINE_IR_KEYTABLE(tabname, type) \ | ||
106 | struct ir_scancode_table IR_KEYTABLE(tabname) = { \ | ||
107 | .scan = tabname, \ | ||
108 | .size = ARRAY_SIZE(tabname), \ | ||
109 | .ir_type = type, \ | ||
110 | .name = #tabname, \ | ||
111 | }; \ | ||
112 | EXPORT_SYMBOL_GPL(IR_KEYTABLE(tabname)) | ||
113 | |||
114 | #define DEFINE_LEGACY_IR_KEYTABLE(tabname) \ | ||
115 | DEFINE_IR_KEYTABLE(tabname, IR_TYPE_UNKNOWN) | ||
116 | |||
99 | /* Routines from ir-keytable.c */ | 117 | /* Routines from ir-keytable.c */ |
100 | 118 | ||
101 | u32 ir_g_keycode_from_table(struct input_dev *input_dev, | 119 | u32 ir_g_keycode_from_table(struct input_dev *input_dev, |
diff --git a/include/media/keycodes/adstech-dvb-t-pci.h b/include/media/keycodes/adstech-dvb-t-pci.h new file mode 100644 index 000000000000..cfca5262d431 --- /dev/null +++ b/include/media/keycodes/adstech-dvb-t-pci.h | |||
@@ -0,0 +1,65 @@ | |||
1 | /* adstech-dvb-t-pci.h - Keytable for adstech_dvb_t_pci Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* ADS Tech Instant TV DVB-T PCI Remote */ | ||
12 | |||
13 | #ifdef IR_KEYMAPS | ||
14 | static struct ir_scancode adstech_dvb_t_pci[] = { | ||
15 | /* Keys 0 to 9 */ | ||
16 | { 0x4d, KEY_0 }, | ||
17 | { 0x57, KEY_1 }, | ||
18 | { 0x4f, KEY_2 }, | ||
19 | { 0x53, KEY_3 }, | ||
20 | { 0x56, KEY_4 }, | ||
21 | { 0x4e, KEY_5 }, | ||
22 | { 0x5e, KEY_6 }, | ||
23 | { 0x54, KEY_7 }, | ||
24 | { 0x4c, KEY_8 }, | ||
25 | { 0x5c, KEY_9 }, | ||
26 | |||
27 | { 0x5b, KEY_POWER }, | ||
28 | { 0x5f, KEY_MUTE }, | ||
29 | { 0x55, KEY_GOTO }, | ||
30 | { 0x5d, KEY_SEARCH }, | ||
31 | { 0x17, KEY_EPG }, /* Guide */ | ||
32 | { 0x1f, KEY_MENU }, | ||
33 | { 0x0f, KEY_UP }, | ||
34 | { 0x46, KEY_DOWN }, | ||
35 | { 0x16, KEY_LEFT }, | ||
36 | { 0x1e, KEY_RIGHT }, | ||
37 | { 0x0e, KEY_SELECT }, /* Enter */ | ||
38 | { 0x5a, KEY_INFO }, | ||
39 | { 0x52, KEY_EXIT }, | ||
40 | { 0x59, KEY_PREVIOUS }, | ||
41 | { 0x51, KEY_NEXT }, | ||
42 | { 0x58, KEY_REWIND }, | ||
43 | { 0x50, KEY_FORWARD }, | ||
44 | { 0x44, KEY_PLAYPAUSE }, | ||
45 | { 0x07, KEY_STOP }, | ||
46 | { 0x1b, KEY_RECORD }, | ||
47 | { 0x13, KEY_TUNER }, /* Live */ | ||
48 | { 0x0a, KEY_A }, | ||
49 | { 0x12, KEY_B }, | ||
50 | { 0x03, KEY_PROG1 }, /* 1 */ | ||
51 | { 0x01, KEY_PROG2 }, /* 2 */ | ||
52 | { 0x00, KEY_PROG3 }, /* 3 */ | ||
53 | { 0x06, KEY_DVD }, | ||
54 | { 0x48, KEY_AUX }, /* Photo */ | ||
55 | { 0x40, KEY_VIDEO }, | ||
56 | { 0x19, KEY_AUDIO }, /* Music */ | ||
57 | { 0x0b, KEY_CHANNELUP }, | ||
58 | { 0x08, KEY_CHANNELDOWN }, | ||
59 | { 0x15, KEY_VOLUMEUP }, | ||
60 | { 0x1c, KEY_VOLUMEDOWN }, | ||
61 | }; | ||
62 | DEFINE_LEGACY_IR_KEYTABLE(adstech_dvb_t_pci); | ||
63 | #else | ||
64 | DECLARE_IR_KEYTABLE(adstech_dvb_t_pci); | ||
65 | #endif | ||
diff --git a/include/media/keycodes/apac-viewcomp.h b/include/media/keycodes/apac-viewcomp.h new file mode 100644 index 000000000000..69460c2266ea --- /dev/null +++ b/include/media/keycodes/apac-viewcomp.h | |||
@@ -0,0 +1,56 @@ | |||
1 | /* apac-viewcomp.h - Keytable for apac_viewcomp Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* Attila Kondoros <attila.kondoros@chello.hu> */ | ||
12 | |||
13 | #ifdef IR_KEYMAPS | ||
14 | static struct ir_scancode apac_viewcomp[] = { | ||
15 | |||
16 | { 0x01, KEY_1 }, | ||
17 | { 0x02, KEY_2 }, | ||
18 | { 0x03, KEY_3 }, | ||
19 | { 0x04, KEY_4 }, | ||
20 | { 0x05, KEY_5 }, | ||
21 | { 0x06, KEY_6 }, | ||
22 | { 0x07, KEY_7 }, | ||
23 | { 0x08, KEY_8 }, | ||
24 | { 0x09, KEY_9 }, | ||
25 | { 0x00, KEY_0 }, | ||
26 | { 0x17, KEY_LAST }, /* +100 */ | ||
27 | { 0x0a, KEY_LIST }, /* recall */ | ||
28 | |||
29 | |||
30 | { 0x1c, KEY_TUNER }, /* TV/FM */ | ||
31 | { 0x15, KEY_SEARCH }, /* scan */ | ||
32 | { 0x12, KEY_POWER }, /* power */ | ||
33 | { 0x1f, KEY_VOLUMEDOWN }, /* vol up */ | ||
34 | { 0x1b, KEY_VOLUMEUP }, /* vol down */ | ||
35 | { 0x1e, KEY_CHANNELDOWN }, /* chn up */ | ||
36 | { 0x1a, KEY_CHANNELUP }, /* chn down */ | ||
37 | |||
38 | { 0x11, KEY_VIDEO }, /* video */ | ||
39 | { 0x0f, KEY_ZOOM }, /* full screen */ | ||
40 | { 0x13, KEY_MUTE }, /* mute/unmute */ | ||
41 | { 0x10, KEY_TEXT }, /* min */ | ||
42 | |||
43 | { 0x0d, KEY_STOP }, /* freeze */ | ||
44 | { 0x0e, KEY_RECORD }, /* record */ | ||
45 | { 0x1d, KEY_PLAYPAUSE }, /* stop */ | ||
46 | { 0x19, KEY_PLAY }, /* play */ | ||
47 | |||
48 | { 0x16, KEY_GOTO }, /* osd */ | ||
49 | { 0x14, KEY_REFRESH }, /* default */ | ||
50 | { 0x0c, KEY_KPPLUS }, /* fine tune >>>> */ | ||
51 | { 0x18, KEY_KPMINUS }, /* fine tune <<<< */ | ||
52 | }; | ||
53 | DEFINE_LEGACY_IR_KEYTABLE(apac_viewcomp); | ||
54 | #else | ||
55 | DECLARE_IR_KEYTABLE(apac_viewcomp); | ||
56 | #endif | ||
diff --git a/include/media/keycodes/asus-pc39.h b/include/media/keycodes/asus-pc39.h new file mode 100644 index 000000000000..3e89ccd40893 --- /dev/null +++ b/include/media/keycodes/asus-pc39.h | |||
@@ -0,0 +1,67 @@ | |||
1 | /* asus-pc39.h - Keytable for asus_pc39 Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* | ||
12 | * Marc Fargas <telenieko@telenieko.com> | ||
13 | * this is the remote control that comes with the asus p7131 | ||
14 | * which has a label saying is "Model PC-39" | ||
15 | */ | ||
16 | |||
17 | #ifdef IR_KEYMAPS | ||
18 | static struct ir_scancode asus_pc39[] = { | ||
19 | /* Keys 0 to 9 */ | ||
20 | { 0x15, KEY_0 }, | ||
21 | { 0x29, KEY_1 }, | ||
22 | { 0x2d, KEY_2 }, | ||
23 | { 0x2b, KEY_3 }, | ||
24 | { 0x09, KEY_4 }, | ||
25 | { 0x0d, KEY_5 }, | ||
26 | { 0x0b, KEY_6 }, | ||
27 | { 0x31, KEY_7 }, | ||
28 | { 0x35, KEY_8 }, | ||
29 | { 0x33, KEY_9 }, | ||
30 | |||
31 | { 0x3e, KEY_RADIO }, /* radio */ | ||
32 | { 0x03, KEY_MENU }, /* dvd/menu */ | ||
33 | { 0x2a, KEY_VOLUMEUP }, | ||
34 | { 0x19, KEY_VOLUMEDOWN }, | ||
35 | { 0x37, KEY_UP }, | ||
36 | { 0x3b, KEY_DOWN }, | ||
37 | { 0x27, KEY_LEFT }, | ||
38 | { 0x2f, KEY_RIGHT }, | ||
39 | { 0x25, KEY_VIDEO }, /* video */ | ||
40 | { 0x39, KEY_AUDIO }, /* music */ | ||
41 | |||
42 | { 0x21, KEY_TV }, /* tv */ | ||
43 | { 0x1d, KEY_EXIT }, /* back */ | ||
44 | { 0x0a, KEY_CHANNELUP }, /* channel / program + */ | ||
45 | { 0x1b, KEY_CHANNELDOWN }, /* channel / program - */ | ||
46 | { 0x1a, KEY_ENTER }, /* enter */ | ||
47 | |||
48 | { 0x06, KEY_PAUSE }, /* play/pause */ | ||
49 | { 0x1e, KEY_PREVIOUS }, /* rew */ | ||
50 | { 0x26, KEY_NEXT }, /* forward */ | ||
51 | { 0x0e, KEY_REWIND }, /* backward << */ | ||
52 | { 0x3a, KEY_FASTFORWARD }, /* forward >> */ | ||
53 | { 0x36, KEY_STOP }, | ||
54 | { 0x2e, KEY_RECORD }, /* recording */ | ||
55 | { 0x16, KEY_POWER }, /* the button that reads "close" */ | ||
56 | |||
57 | { 0x11, KEY_ZOOM }, /* full screen */ | ||
58 | { 0x13, KEY_MACRO }, /* recall */ | ||
59 | { 0x23, KEY_HOME }, /* home */ | ||
60 | { 0x05, KEY_PVR }, /* picture */ | ||
61 | { 0x3d, KEY_MUTE }, /* mute */ | ||
62 | { 0x01, KEY_DVD }, /* dvd */ | ||
63 | }; | ||
64 | DEFINE_LEGACY_IR_KEYTABLE(asus_pc39); | ||
65 | #else | ||
66 | DECLARE_IR_KEYTABLE(asus_pc39); | ||
67 | #endif | ||
diff --git a/include/media/keycodes/ati-tv-wonder-hd-600.h b/include/media/keycodes/ati-tv-wonder-hd-600.h new file mode 100644 index 000000000000..25db7bfcc1a9 --- /dev/null +++ b/include/media/keycodes/ati-tv-wonder-hd-600.h | |||
@@ -0,0 +1,45 @@ | |||
1 | /* ati-tv-wonder-hd-600.h - Keytable for ati_tv_wonder_hd_600 Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* ATI TV Wonder HD 600 USB | ||
12 | Devin Heitmueller <devin.heitmueller@gmail.com> | ||
13 | */ | ||
14 | |||
15 | #ifdef IR_KEYMAPS | ||
16 | static struct ir_scancode ati_tv_wonder_hd_600[] = { | ||
17 | { 0x00, KEY_RECORD}, /* Row 1 */ | ||
18 | { 0x01, KEY_PLAYPAUSE}, | ||
19 | { 0x02, KEY_STOP}, | ||
20 | { 0x03, KEY_POWER}, | ||
21 | { 0x04, KEY_PREVIOUS}, /* Row 2 */ | ||
22 | { 0x05, KEY_REWIND}, | ||
23 | { 0x06, KEY_FORWARD}, | ||
24 | { 0x07, KEY_NEXT}, | ||
25 | { 0x08, KEY_EPG}, /* Row 3 */ | ||
26 | { 0x09, KEY_HOME}, | ||
27 | { 0x0a, KEY_MENU}, | ||
28 | { 0x0b, KEY_CHANNELUP}, | ||
29 | { 0x0c, KEY_BACK}, /* Row 4 */ | ||
30 | { 0x0d, KEY_UP}, | ||
31 | { 0x0e, KEY_INFO}, | ||
32 | { 0x0f, KEY_CHANNELDOWN}, | ||
33 | { 0x10, KEY_LEFT}, /* Row 5 */ | ||
34 | { 0x11, KEY_SELECT}, | ||
35 | { 0x12, KEY_RIGHT}, | ||
36 | { 0x13, KEY_VOLUMEUP}, | ||
37 | { 0x14, KEY_LAST}, /* Row 6 */ | ||
38 | { 0x15, KEY_DOWN}, | ||
39 | { 0x16, KEY_MUTE}, | ||
40 | { 0x17, KEY_VOLUMEDOWN}, | ||
41 | }; | ||
42 | DEFINE_LEGACY_IR_KEYTABLE(ati_tv_wonder_hd_600); | ||
43 | #else | ||
44 | DECLARE_IR_KEYTABLE(ati_tv_wonder_hd_600); | ||
45 | #endif | ||
diff --git a/include/media/keycodes/avermedia-a16d.h b/include/media/keycodes/avermedia-a16d.h new file mode 100644 index 000000000000..d267951665db --- /dev/null +++ b/include/media/keycodes/avermedia-a16d.h | |||
@@ -0,0 +1,52 @@ | |||
1 | /* avermedia-a16d.h - Keytable for avermedia_a16d Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | |||
12 | #ifdef IR_KEYMAPS | ||
13 | static struct ir_scancode avermedia_a16d[] = { | ||
14 | { 0x20, KEY_LIST}, | ||
15 | { 0x00, KEY_POWER}, | ||
16 | { 0x28, KEY_1}, | ||
17 | { 0x18, KEY_2}, | ||
18 | { 0x38, KEY_3}, | ||
19 | { 0x24, KEY_4}, | ||
20 | { 0x14, KEY_5}, | ||
21 | { 0x34, KEY_6}, | ||
22 | { 0x2c, KEY_7}, | ||
23 | { 0x1c, KEY_8}, | ||
24 | { 0x3c, KEY_9}, | ||
25 | { 0x12, KEY_SUBTITLE}, | ||
26 | { 0x22, KEY_0}, | ||
27 | { 0x32, KEY_REWIND}, | ||
28 | { 0x3a, KEY_SHUFFLE}, | ||
29 | { 0x02, KEY_PRINT}, | ||
30 | { 0x11, KEY_CHANNELDOWN}, | ||
31 | { 0x31, KEY_CHANNELUP}, | ||
32 | { 0x0c, KEY_ZOOM}, | ||
33 | { 0x1e, KEY_VOLUMEDOWN}, | ||
34 | { 0x3e, KEY_VOLUMEUP}, | ||
35 | { 0x0a, KEY_MUTE}, | ||
36 | { 0x04, KEY_AUDIO}, | ||
37 | { 0x26, KEY_RECORD}, | ||
38 | { 0x06, KEY_PLAY}, | ||
39 | { 0x36, KEY_STOP}, | ||
40 | { 0x16, KEY_PAUSE}, | ||
41 | { 0x2e, KEY_REWIND}, | ||
42 | { 0x0e, KEY_FASTFORWARD}, | ||
43 | { 0x30, KEY_TEXT}, | ||
44 | { 0x21, KEY_GREEN}, | ||
45 | { 0x01, KEY_BLUE}, | ||
46 | { 0x08, KEY_EPG}, | ||
47 | { 0x2a, KEY_MENU}, | ||
48 | }; | ||
49 | DEFINE_LEGACY_IR_KEYTABLE(avermedia_a16d); | ||
50 | #else | ||
51 | DECLARE_IR_KEYTABLE(avermedia_a16d); | ||
52 | #endif | ||
diff --git a/include/media/keycodes/avermedia-cardbus.h b/include/media/keycodes/avermedia-cardbus.h new file mode 100644 index 000000000000..221049d1a57b --- /dev/null +++ b/include/media/keycodes/avermedia-cardbus.h | |||
@@ -0,0 +1,73 @@ | |||
1 | /* avermedia-cardbus.h - Keytable for avermedia_cardbus Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* Oldrich Jedlicka <oldium.pro@seznam.cz> */ | ||
12 | |||
13 | #ifdef IR_KEYMAPS | ||
14 | static struct ir_scancode avermedia_cardbus[] = { | ||
15 | { 0x00, KEY_POWER }, | ||
16 | { 0x01, KEY_TUNER }, /* TV/FM */ | ||
17 | { 0x03, KEY_TEXT }, /* Teletext */ | ||
18 | { 0x04, KEY_EPG }, | ||
19 | { 0x05, KEY_1 }, | ||
20 | { 0x06, KEY_2 }, | ||
21 | { 0x07, KEY_3 }, | ||
22 | { 0x08, KEY_AUDIO }, | ||
23 | { 0x09, KEY_4 }, | ||
24 | { 0x0a, KEY_5 }, | ||
25 | { 0x0b, KEY_6 }, | ||
26 | { 0x0c, KEY_ZOOM }, /* Full screen */ | ||
27 | { 0x0d, KEY_7 }, | ||
28 | { 0x0e, KEY_8 }, | ||
29 | { 0x0f, KEY_9 }, | ||
30 | { 0x10, KEY_PAGEUP }, /* 16-CH PREV */ | ||
31 | { 0x11, KEY_0 }, | ||
32 | { 0x12, KEY_INFO }, | ||
33 | { 0x13, KEY_AGAIN }, /* CH RTN - channel return */ | ||
34 | { 0x14, KEY_MUTE }, | ||
35 | { 0x15, KEY_EDIT }, /* Autoscan */ | ||
36 | { 0x17, KEY_SAVE }, /* Screenshot */ | ||
37 | { 0x18, KEY_PLAYPAUSE }, | ||
38 | { 0x19, KEY_RECORD }, | ||
39 | { 0x1a, KEY_PLAY }, | ||
40 | { 0x1b, KEY_STOP }, | ||
41 | { 0x1c, KEY_FASTFORWARD }, | ||
42 | { 0x1d, KEY_REWIND }, | ||
43 | { 0x1e, KEY_VOLUMEDOWN }, | ||
44 | { 0x1f, KEY_VOLUMEUP }, | ||
45 | { 0x22, KEY_SLEEP }, /* Sleep */ | ||
46 | { 0x23, KEY_ZOOM }, /* Aspect */ | ||
47 | { 0x26, KEY_SCREEN }, /* Pos */ | ||
48 | { 0x27, KEY_ANGLE }, /* Size */ | ||
49 | { 0x28, KEY_SELECT }, /* Select */ | ||
50 | { 0x29, KEY_BLUE }, /* Blue/Picture */ | ||
51 | { 0x2a, KEY_BACKSPACE }, /* Back */ | ||
52 | { 0x2b, KEY_MEDIA }, /* PIP (Picture-in-picture) */ | ||
53 | { 0x2c, KEY_DOWN }, | ||
54 | { 0x2e, KEY_DOT }, | ||
55 | { 0x2f, KEY_TV }, /* Live TV */ | ||
56 | { 0x32, KEY_LEFT }, | ||
57 | { 0x33, KEY_CLEAR }, /* Clear */ | ||
58 | { 0x35, KEY_RED }, /* Red/TV */ | ||
59 | { 0x36, KEY_UP }, | ||
60 | { 0x37, KEY_HOME }, /* Home */ | ||
61 | { 0x39, KEY_GREEN }, /* Green/Video */ | ||
62 | { 0x3d, KEY_YELLOW }, /* Yellow/Music */ | ||
63 | { 0x3e, KEY_OK }, /* Ok */ | ||
64 | { 0x3f, KEY_RIGHT }, | ||
65 | { 0x40, KEY_NEXT }, /* Next */ | ||
66 | { 0x41, KEY_PREVIOUS }, /* Previous */ | ||
67 | { 0x42, KEY_CHANNELDOWN }, /* Channel down */ | ||
68 | { 0x43, KEY_CHANNELUP }, /* Channel up */ | ||
69 | }; | ||
70 | DEFINE_LEGACY_IR_KEYTABLE(avermedia_cardbus); | ||
71 | #else | ||
72 | DECLARE_IR_KEYTABLE(avermedia_cardbus); | ||
73 | #endif | ||
diff --git a/include/media/keycodes/avermedia-dvbt.h b/include/media/keycodes/avermedia-dvbt.h new file mode 100644 index 000000000000..bdaadf40d2c2 --- /dev/null +++ b/include/media/keycodes/avermedia-dvbt.h | |||
@@ -0,0 +1,54 @@ | |||
1 | /* avermedia-dvbt.h - Keytable for avermedia_dvbt Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* Matt Jesson <dvb@jesson.eclipse.co.uk */ | ||
12 | |||
13 | #ifdef IR_KEYMAPS | ||
14 | static struct ir_scancode avermedia_dvbt[] = { | ||
15 | { 0x28, KEY_0 }, /* '0' / 'enter' */ | ||
16 | { 0x22, KEY_1 }, /* '1' */ | ||
17 | { 0x12, KEY_2 }, /* '2' / 'up arrow' */ | ||
18 | { 0x32, KEY_3 }, /* '3' */ | ||
19 | { 0x24, KEY_4 }, /* '4' / 'left arrow' */ | ||
20 | { 0x14, KEY_5 }, /* '5' */ | ||
21 | { 0x34, KEY_6 }, /* '6' / 'right arrow' */ | ||
22 | { 0x26, KEY_7 }, /* '7' */ | ||
23 | { 0x16, KEY_8 }, /* '8' / 'down arrow' */ | ||
24 | { 0x36, KEY_9 }, /* '9' */ | ||
25 | |||
26 | { 0x20, KEY_LIST }, /* 'source' */ | ||
27 | { 0x10, KEY_TEXT }, /* 'teletext' */ | ||
28 | { 0x00, KEY_POWER }, /* 'power' */ | ||
29 | { 0x04, KEY_AUDIO }, /* 'audio' */ | ||
30 | { 0x06, KEY_ZOOM }, /* 'full screen' */ | ||
31 | { 0x18, KEY_VIDEO }, /* 'display' */ | ||
32 | { 0x38, KEY_SEARCH }, /* 'loop' */ | ||
33 | { 0x08, KEY_INFO }, /* 'preview' */ | ||
34 | { 0x2a, KEY_REWIND }, /* 'backward <<' */ | ||
35 | { 0x1a, KEY_FASTFORWARD }, /* 'forward >>' */ | ||
36 | { 0x3a, KEY_RECORD }, /* 'capture' */ | ||
37 | { 0x0a, KEY_MUTE }, /* 'mute' */ | ||
38 | { 0x2c, KEY_RECORD }, /* 'record' */ | ||
39 | { 0x1c, KEY_PAUSE }, /* 'pause' */ | ||
40 | { 0x3c, KEY_STOP }, /* 'stop' */ | ||
41 | { 0x0c, KEY_PLAY }, /* 'play' */ | ||
42 | { 0x2e, KEY_RED }, /* 'red' */ | ||
43 | { 0x01, KEY_BLUE }, /* 'blue' / 'cancel' */ | ||
44 | { 0x0e, KEY_YELLOW }, /* 'yellow' / 'ok' */ | ||
45 | { 0x21, KEY_GREEN }, /* 'green' */ | ||
46 | { 0x11, KEY_CHANNELDOWN }, /* 'channel -' */ | ||
47 | { 0x31, KEY_CHANNELUP }, /* 'channel +' */ | ||
48 | { 0x1e, KEY_VOLUMEDOWN }, /* 'volume -' */ | ||
49 | { 0x3e, KEY_VOLUMEUP }, /* 'volume +' */ | ||
50 | }; | ||
51 | DEFINE_LEGACY_IR_KEYTABLE(avermedia_dvbt); | ||
52 | #else | ||
53 | DECLARE_IR_KEYTABLE(avermedia_dvbt); | ||
54 | #endif | ||
diff --git a/include/media/keycodes/avermedia-m135a-rm-jx.h b/include/media/keycodes/avermedia-m135a-rm-jx.h new file mode 100644 index 000000000000..1158598994cf --- /dev/null +++ b/include/media/keycodes/avermedia-m135a-rm-jx.h | |||
@@ -0,0 +1,66 @@ | |||
1 | /* avermedia-m135a-rm-jx.h - Keytable for avermedia_m135a_rm_jx Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* | ||
12 | * Avermedia M135A with IR model RM-JX | ||
13 | * The same codes exist on both Positivo (BR) and original IR | ||
14 | * Mauro Carvalho Chehab <mchehab@infradead.org> | ||
15 | */ | ||
16 | |||
17 | #ifdef IR_KEYMAPS | ||
18 | static struct ir_scancode avermedia_m135a_rm_jx[] = { | ||
19 | { 0x0200, KEY_POWER2 }, | ||
20 | { 0x022e, KEY_DOT }, /* '.' */ | ||
21 | { 0x0201, KEY_MODE }, /* TV/FM or SOURCE */ | ||
22 | |||
23 | { 0x0205, KEY_1 }, | ||
24 | { 0x0206, KEY_2 }, | ||
25 | { 0x0207, KEY_3 }, | ||
26 | { 0x0209, KEY_4 }, | ||
27 | { 0x020a, KEY_5 }, | ||
28 | { 0x020b, KEY_6 }, | ||
29 | { 0x020d, KEY_7 }, | ||
30 | { 0x020e, KEY_8 }, | ||
31 | { 0x020f, KEY_9 }, | ||
32 | { 0x0211, KEY_0 }, | ||
33 | |||
34 | { 0x0213, KEY_RIGHT }, /* -> or L */ | ||
35 | { 0x0212, KEY_LEFT }, /* <- or R */ | ||
36 | |||
37 | { 0x0217, KEY_SLEEP }, /* Capturar Imagem or Snapshot */ | ||
38 | { 0x0210, KEY_SHUFFLE }, /* Amostra or 16 chan prev */ | ||
39 | |||
40 | { 0x0303, KEY_CHANNELUP }, | ||
41 | { 0x0302, KEY_CHANNELDOWN }, | ||
42 | { 0x021f, KEY_VOLUMEUP }, | ||
43 | { 0x021e, KEY_VOLUMEDOWN }, | ||
44 | { 0x020c, KEY_ENTER }, /* Full Screen */ | ||
45 | |||
46 | { 0x0214, KEY_MUTE }, | ||
47 | { 0x0208, KEY_AUDIO }, | ||
48 | |||
49 | { 0x0203, KEY_TEXT }, /* Teletext */ | ||
50 | { 0x0204, KEY_EPG }, | ||
51 | { 0x022b, KEY_TV2 }, /* TV2 or PIP */ | ||
52 | |||
53 | { 0x021d, KEY_RED }, | ||
54 | { 0x021c, KEY_YELLOW }, | ||
55 | { 0x0301, KEY_GREEN }, | ||
56 | { 0x0300, KEY_BLUE }, | ||
57 | |||
58 | { 0x021a, KEY_PLAYPAUSE }, | ||
59 | { 0x0219, KEY_RECORD }, | ||
60 | { 0x0218, KEY_PLAY }, | ||
61 | { 0x021b, KEY_STOP }, | ||
62 | }; | ||
63 | DEFINE_IR_KEYTABLE(avermedia_m135a_rm_jx, IR_TYPE_NEC); | ||
64 | #else | ||
65 | DECLARE_IR_KEYTABLE(avermedia_m135a_rm_jx); | ||
66 | #endif | ||
diff --git a/include/media/keycodes/avermedia.h b/include/media/keycodes/avermedia.h new file mode 100644 index 000000000000..a4834528a8ed --- /dev/null +++ b/include/media/keycodes/avermedia.h | |||
@@ -0,0 +1,62 @@ | |||
1 | /* avermedia.h - Keytable for avermedia Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* Alex Hermann <gaaf@gmx.net> */ | ||
12 | |||
13 | #ifdef IR_KEYMAPS | ||
14 | static struct ir_scancode avermedia[] = { | ||
15 | { 0x28, KEY_1 }, | ||
16 | { 0x18, KEY_2 }, | ||
17 | { 0x38, KEY_3 }, | ||
18 | { 0x24, KEY_4 }, | ||
19 | { 0x14, KEY_5 }, | ||
20 | { 0x34, KEY_6 }, | ||
21 | { 0x2c, KEY_7 }, | ||
22 | { 0x1c, KEY_8 }, | ||
23 | { 0x3c, KEY_9 }, | ||
24 | { 0x22, KEY_0 }, | ||
25 | |||
26 | { 0x20, KEY_TV }, /* TV/FM */ | ||
27 | { 0x10, KEY_CD }, /* CD */ | ||
28 | { 0x30, KEY_TEXT }, /* TELETEXT */ | ||
29 | { 0x00, KEY_POWER }, /* POWER */ | ||
30 | |||
31 | { 0x08, KEY_VIDEO }, /* VIDEO */ | ||
32 | { 0x04, KEY_AUDIO }, /* AUDIO */ | ||
33 | { 0x0c, KEY_ZOOM }, /* FULL SCREEN */ | ||
34 | |||
35 | { 0x12, KEY_SUBTITLE }, /* DISPLAY */ | ||
36 | { 0x32, KEY_REWIND }, /* LOOP */ | ||
37 | { 0x02, KEY_PRINT }, /* PREVIEW */ | ||
38 | |||
39 | { 0x2a, KEY_SEARCH }, /* AUTOSCAN */ | ||
40 | { 0x1a, KEY_SLEEP }, /* FREEZE */ | ||
41 | { 0x3a, KEY_CAMERA }, /* SNAPSHOT */ | ||
42 | { 0x0a, KEY_MUTE }, /* MUTE */ | ||
43 | |||
44 | { 0x26, KEY_RECORD }, /* RECORD */ | ||
45 | { 0x16, KEY_PAUSE }, /* PAUSE */ | ||
46 | { 0x36, KEY_STOP }, /* STOP */ | ||
47 | { 0x06, KEY_PLAY }, /* PLAY */ | ||
48 | |||
49 | { 0x2e, KEY_RED }, /* RED */ | ||
50 | { 0x21, KEY_GREEN }, /* GREEN */ | ||
51 | { 0x0e, KEY_YELLOW }, /* YELLOW */ | ||
52 | { 0x01, KEY_BLUE }, /* BLUE */ | ||
53 | |||
54 | { 0x1e, KEY_VOLUMEDOWN }, /* VOLUME- */ | ||
55 | { 0x3e, KEY_VOLUMEUP }, /* VOLUME+ */ | ||
56 | { 0x11, KEY_CHANNELDOWN }, /* CHANNEL/PAGE- */ | ||
57 | { 0x31, KEY_CHANNELUP } /* CHANNEL/PAGE+ */ | ||
58 | }; | ||
59 | DEFINE_LEGACY_IR_KEYTABLE(avermedia); | ||
60 | #else | ||
61 | DECLARE_IR_KEYTABLE(avermedia); | ||
62 | #endif | ||
diff --git a/include/media/keycodes/avertv-303.h b/include/media/keycodes/avertv-303.h new file mode 100644 index 000000000000..1ef10af78020 --- /dev/null +++ b/include/media/keycodes/avertv-303.h | |||
@@ -0,0 +1,61 @@ | |||
1 | /* avertv-303.h - Keytable for avertv_303 Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* AVERTV STUDIO 303 Remote */ | ||
12 | |||
13 | #ifdef IR_KEYMAPS | ||
14 | static struct ir_scancode avertv_303[] = { | ||
15 | { 0x2a, KEY_1 }, | ||
16 | { 0x32, KEY_2 }, | ||
17 | { 0x3a, KEY_3 }, | ||
18 | { 0x4a, KEY_4 }, | ||
19 | { 0x52, KEY_5 }, | ||
20 | { 0x5a, KEY_6 }, | ||
21 | { 0x6a, KEY_7 }, | ||
22 | { 0x72, KEY_8 }, | ||
23 | { 0x7a, KEY_9 }, | ||
24 | { 0x0e, KEY_0 }, | ||
25 | |||
26 | { 0x02, KEY_POWER }, | ||
27 | { 0x22, KEY_VIDEO }, | ||
28 | { 0x42, KEY_AUDIO }, | ||
29 | { 0x62, KEY_ZOOM }, | ||
30 | { 0x0a, KEY_TV }, | ||
31 | { 0x12, KEY_CD }, | ||
32 | { 0x1a, KEY_TEXT }, | ||
33 | |||
34 | { 0x16, KEY_SUBTITLE }, | ||
35 | { 0x1e, KEY_REWIND }, | ||
36 | { 0x06, KEY_PRINT }, | ||
37 | |||
38 | { 0x2e, KEY_SEARCH }, | ||
39 | { 0x36, KEY_SLEEP }, | ||
40 | { 0x3e, KEY_SHUFFLE }, | ||
41 | { 0x26, KEY_MUTE }, | ||
42 | |||
43 | { 0x4e, KEY_RECORD }, | ||
44 | { 0x56, KEY_PAUSE }, | ||
45 | { 0x5e, KEY_STOP }, | ||
46 | { 0x46, KEY_PLAY }, | ||
47 | |||
48 | { 0x6e, KEY_RED }, | ||
49 | { 0x0b, KEY_GREEN }, | ||
50 | { 0x66, KEY_YELLOW }, | ||
51 | { 0x03, KEY_BLUE }, | ||
52 | |||
53 | { 0x76, KEY_LEFT }, | ||
54 | { 0x7e, KEY_RIGHT }, | ||
55 | { 0x13, KEY_DOWN }, | ||
56 | { 0x1b, KEY_UP }, | ||
57 | }; | ||
58 | DEFINE_LEGACY_IR_KEYTABLE(avertv_303); | ||
59 | #else | ||
60 | DECLARE_IR_KEYTABLE(avertv_303); | ||
61 | #endif | ||
diff --git a/include/media/keycodes/behold-columbus.h b/include/media/keycodes/behold-columbus.h new file mode 100644 index 000000000000..fb68e75585f1 --- /dev/null +++ b/include/media/keycodes/behold-columbus.h | |||
@@ -0,0 +1,84 @@ | |||
1 | /* behold-columbus.h - Keytable for behold_columbus Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* Beholder Intl. Ltd. 2008 | ||
12 | * Dmitry Belimov d.belimov@google.com | ||
13 | * Keytable is used by BeholdTV Columbus | ||
14 | * The "ascii-art picture" below (in comments, first row | ||
15 | * is the keycode in hex, and subsequent row(s) shows | ||
16 | * the button labels (several variants when appropriate) | ||
17 | * helps to descide which keycodes to assign to the buttons. | ||
18 | */ | ||
19 | |||
20 | #ifdef IR_KEYMAPS | ||
21 | static struct ir_scancode behold_columbus[] = { | ||
22 | |||
23 | /* 0x13 0x11 0x1C 0x12 * | ||
24 | * Mute Source TV/FM Power * | ||
25 | * */ | ||
26 | |||
27 | { 0x13, KEY_MUTE }, | ||
28 | { 0x11, KEY_PROPS }, | ||
29 | { 0x1C, KEY_TUNER }, /* KEY_TV/KEY_RADIO */ | ||
30 | { 0x12, KEY_POWER }, | ||
31 | |||
32 | /* 0x01 0x02 0x03 0x0D * | ||
33 | * 1 2 3 Stereo * | ||
34 | * * | ||
35 | * 0x04 0x05 0x06 0x19 * | ||
36 | * 4 5 6 Snapshot * | ||
37 | * * | ||
38 | * 0x07 0x08 0x09 0x10 * | ||
39 | * 7 8 9 Zoom * | ||
40 | * */ | ||
41 | { 0x01, KEY_1 }, | ||
42 | { 0x02, KEY_2 }, | ||
43 | { 0x03, KEY_3 }, | ||
44 | { 0x0D, KEY_SETUP }, /* Setup key */ | ||
45 | { 0x04, KEY_4 }, | ||
46 | { 0x05, KEY_5 }, | ||
47 | { 0x06, KEY_6 }, | ||
48 | { 0x19, KEY_CAMERA }, /* Snapshot key */ | ||
49 | { 0x07, KEY_7 }, | ||
50 | { 0x08, KEY_8 }, | ||
51 | { 0x09, KEY_9 }, | ||
52 | { 0x10, KEY_ZOOM }, | ||
53 | |||
54 | /* 0x0A 0x00 0x0B 0x0C * | ||
55 | * RECALL 0 ChannelUp VolumeUp * | ||
56 | * */ | ||
57 | { 0x0A, KEY_AGAIN }, | ||
58 | { 0x00, KEY_0 }, | ||
59 | { 0x0B, KEY_CHANNELUP }, | ||
60 | { 0x0C, KEY_VOLUMEUP }, | ||
61 | |||
62 | /* 0x1B 0x1D 0x15 0x18 * | ||
63 | * Timeshift Record ChannelDown VolumeDown * | ||
64 | * */ | ||
65 | |||
66 | { 0x1B, KEY_TIME }, | ||
67 | { 0x1D, KEY_RECORD }, | ||
68 | { 0x15, KEY_CHANNELDOWN }, | ||
69 | { 0x18, KEY_VOLUMEDOWN }, | ||
70 | |||
71 | /* 0x0E 0x1E 0x0F 0x1A * | ||
72 | * Stop Pause Previouse Next * | ||
73 | * */ | ||
74 | |||
75 | { 0x0E, KEY_STOP }, | ||
76 | { 0x1E, KEY_PAUSE }, | ||
77 | { 0x0F, KEY_PREVIOUS }, | ||
78 | { 0x1A, KEY_NEXT }, | ||
79 | |||
80 | }; | ||
81 | DEFINE_LEGACY_IR_KEYTABLE(behold_columbus); | ||
82 | #else | ||
83 | DECLARE_IR_KEYTABLE(behold_columbus); | ||
84 | #endif | ||
diff --git a/include/media/keycodes/behold.h b/include/media/keycodes/behold.h new file mode 100644 index 000000000000..57a2dae49b6c --- /dev/null +++ b/include/media/keycodes/behold.h | |||
@@ -0,0 +1,117 @@ | |||
1 | /* behold.h - Keytable for behold Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* | ||
12 | * Igor Kuznetsov <igk72@ya.ru> | ||
13 | * Andrey J. Melnikov <temnota@kmv.ru> | ||
14 | * | ||
15 | * Keytable is used by BeholdTV 60x series, M6 series at | ||
16 | * least, and probably other cards too. | ||
17 | * The "ascii-art picture" below (in comments, first row | ||
18 | * is the keycode in hex, and subsequent row(s) shows | ||
19 | * the button labels (several variants when appropriate) | ||
20 | * helps to descide which keycodes to assign to the buttons. | ||
21 | */ | ||
22 | |||
23 | #ifdef IR_KEYMAPS | ||
24 | static struct ir_scancode behold[] = { | ||
25 | |||
26 | /* 0x1c 0x12 * | ||
27 | * TV/FM POWER * | ||
28 | * */ | ||
29 | { 0x1c, KEY_TUNER }, /* XXX KEY_TV / KEY_RADIO */ | ||
30 | { 0x12, KEY_POWER }, | ||
31 | |||
32 | /* 0x01 0x02 0x03 * | ||
33 | * 1 2 3 * | ||
34 | * * | ||
35 | * 0x04 0x05 0x06 * | ||
36 | * 4 5 6 * | ||
37 | * * | ||
38 | * 0x07 0x08 0x09 * | ||
39 | * 7 8 9 * | ||
40 | * */ | ||
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 }, | ||
50 | |||
51 | /* 0x0a 0x00 0x17 * | ||
52 | * RECALL 0 MODE * | ||
53 | * */ | ||
54 | { 0x0a, KEY_AGAIN }, | ||
55 | { 0x00, KEY_0 }, | ||
56 | { 0x17, KEY_MODE }, | ||
57 | |||
58 | /* 0x14 0x10 * | ||
59 | * ASPECT FULLSCREEN * | ||
60 | * */ | ||
61 | { 0x14, KEY_SCREEN }, | ||
62 | { 0x10, KEY_ZOOM }, | ||
63 | |||
64 | /* 0x0b * | ||
65 | * Up * | ||
66 | * * | ||
67 | * 0x18 0x16 0x0c * | ||
68 | * Left Ok Right * | ||
69 | * * | ||
70 | * 0x015 * | ||
71 | * Down * | ||
72 | * */ | ||
73 | { 0x0b, KEY_CHANNELUP }, | ||
74 | { 0x18, KEY_VOLUMEDOWN }, | ||
75 | { 0x16, KEY_OK }, /* XXX KEY_ENTER */ | ||
76 | { 0x0c, KEY_VOLUMEUP }, | ||
77 | { 0x15, KEY_CHANNELDOWN }, | ||
78 | |||
79 | /* 0x11 0x0d * | ||
80 | * MUTE INFO * | ||
81 | * */ | ||
82 | { 0x11, KEY_MUTE }, | ||
83 | { 0x0d, KEY_INFO }, | ||
84 | |||
85 | /* 0x0f 0x1b 0x1a * | ||
86 | * RECORD PLAY/PAUSE STOP * | ||
87 | * * | ||
88 | * 0x0e 0x1f 0x1e * | ||
89 | *TELETEXT AUDIO SOURCE * | ||
90 | * RED YELLOW * | ||
91 | * */ | ||
92 | { 0x0f, KEY_RECORD }, | ||
93 | { 0x1b, KEY_PLAYPAUSE }, | ||
94 | { 0x1a, KEY_STOP }, | ||
95 | { 0x0e, KEY_TEXT }, | ||
96 | { 0x1f, KEY_RED }, /*XXX KEY_AUDIO */ | ||
97 | { 0x1e, KEY_YELLOW }, /*XXX KEY_SOURCE */ | ||
98 | |||
99 | /* 0x1d 0x13 0x19 * | ||
100 | * SLEEP PREVIEW DVB * | ||
101 | * GREEN BLUE * | ||
102 | * */ | ||
103 | { 0x1d, KEY_SLEEP }, | ||
104 | { 0x13, KEY_GREEN }, | ||
105 | { 0x19, KEY_BLUE }, /* XXX KEY_SAT */ | ||
106 | |||
107 | /* 0x58 0x5c * | ||
108 | * FREEZE SNAPSHOT * | ||
109 | * */ | ||
110 | { 0x58, KEY_SLOW }, | ||
111 | { 0x5c, KEY_CAMERA }, | ||
112 | |||
113 | }; | ||
114 | DEFINE_LEGACY_IR_KEYTABLE(behold); | ||
115 | #else | ||
116 | DECLARE_IR_KEYTABLE(behold); | ||
117 | #endif | ||
diff --git a/include/media/keycodes/budget-ci-old.h b/include/media/keycodes/budget-ci-old.h new file mode 100644 index 000000000000..03ada4710cfc --- /dev/null +++ b/include/media/keycodes/budget-ci-old.h | |||
@@ -0,0 +1,68 @@ | |||
1 | /* budget-ci-old.h - Keytable for budget_ci_old Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* From reading the following remotes: | ||
12 | * Zenith Universal 7 / TV Mode 807 / VCR Mode 837 | ||
13 | * Hauppauge (from NOVA-CI-s box product) | ||
14 | * This is a "middle of the road" approach, differences are noted | ||
15 | */ | ||
16 | |||
17 | #ifdef IR_KEYMAPS | ||
18 | static struct ir_scancode budget_ci_old[] = { | ||
19 | { 0x00, KEY_0 }, | ||
20 | { 0x01, KEY_1 }, | ||
21 | { 0x02, KEY_2 }, | ||
22 | { 0x03, KEY_3 }, | ||
23 | { 0x04, KEY_4 }, | ||
24 | { 0x05, KEY_5 }, | ||
25 | { 0x06, KEY_6 }, | ||
26 | { 0x07, KEY_7 }, | ||
27 | { 0x08, KEY_8 }, | ||
28 | { 0x09, KEY_9 }, | ||
29 | { 0x0a, KEY_ENTER }, | ||
30 | { 0x0b, KEY_RED }, | ||
31 | { 0x0c, KEY_POWER }, /* RADIO on Hauppauge */ | ||
32 | { 0x0d, KEY_MUTE }, | ||
33 | { 0x0f, KEY_A }, /* TV on Hauppauge */ | ||
34 | { 0x10, KEY_VOLUMEUP }, | ||
35 | { 0x11, KEY_VOLUMEDOWN }, | ||
36 | { 0x14, KEY_B }, | ||
37 | { 0x1c, KEY_UP }, | ||
38 | { 0x1d, KEY_DOWN }, | ||
39 | { 0x1e, KEY_OPTION }, /* RESERVED on Hauppauge */ | ||
40 | { 0x1f, KEY_BREAK }, | ||
41 | { 0x20, KEY_CHANNELUP }, | ||
42 | { 0x21, KEY_CHANNELDOWN }, | ||
43 | { 0x22, KEY_PREVIOUS }, /* Prev Ch on Zenith, SOURCE on Hauppauge */ | ||
44 | { 0x24, KEY_RESTART }, | ||
45 | { 0x25, KEY_OK }, | ||
46 | { 0x26, KEY_CYCLEWINDOWS }, /* MINIMIZE on Hauppauge */ | ||
47 | { 0x28, KEY_ENTER }, /* VCR mode on Zenith */ | ||
48 | { 0x29, KEY_PAUSE }, | ||
49 | { 0x2b, KEY_RIGHT }, | ||
50 | { 0x2c, KEY_LEFT }, | ||
51 | { 0x2e, KEY_MENU }, /* FULL SCREEN on Hauppauge */ | ||
52 | { 0x30, KEY_SLOW }, | ||
53 | { 0x31, KEY_PREVIOUS }, /* VCR mode on Zenith */ | ||
54 | { 0x32, KEY_REWIND }, | ||
55 | { 0x34, KEY_FASTFORWARD }, | ||
56 | { 0x35, KEY_PLAY }, | ||
57 | { 0x36, KEY_STOP }, | ||
58 | { 0x37, KEY_RECORD }, | ||
59 | { 0x38, KEY_TUNER }, /* TV/VCR on Zenith */ | ||
60 | { 0x3a, KEY_C }, | ||
61 | { 0x3c, KEY_EXIT }, | ||
62 | { 0x3d, KEY_POWER2 }, | ||
63 | { 0x3e, KEY_TUNER }, | ||
64 | }; | ||
65 | DEFINE_LEGACY_IR_KEYTABLE(budget_ci_old); | ||
66 | #else | ||
67 | DECLARE_IR_KEYTABLE(budget_ci_old); | ||
68 | #endif | ||
diff --git a/include/media/keycodes/cinergy-1400.h b/include/media/keycodes/cinergy-1400.h new file mode 100644 index 000000000000..9b562eab7715 --- /dev/null +++ b/include/media/keycodes/cinergy-1400.h | |||
@@ -0,0 +1,60 @@ | |||
1 | /* cinergy-1400.h - Keytable for cinergy_1400 Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* Cinergy 1400 DVB-T */ | ||
12 | |||
13 | #ifdef IR_KEYMAPS | ||
14 | static struct ir_scancode cinergy_1400[] = { | ||
15 | { 0x01, KEY_POWER }, | ||
16 | { 0x02, KEY_1 }, | ||
17 | { 0x03, KEY_2 }, | ||
18 | { 0x04, KEY_3 }, | ||
19 | { 0x05, KEY_4 }, | ||
20 | { 0x06, KEY_5 }, | ||
21 | { 0x07, KEY_6 }, | ||
22 | { 0x08, KEY_7 }, | ||
23 | { 0x09, KEY_8 }, | ||
24 | { 0x0a, KEY_9 }, | ||
25 | { 0x0c, KEY_0 }, | ||
26 | |||
27 | { 0x0b, KEY_VIDEO }, | ||
28 | { 0x0d, KEY_REFRESH }, | ||
29 | { 0x0e, KEY_SELECT }, | ||
30 | { 0x0f, KEY_EPG }, | ||
31 | { 0x10, KEY_UP }, | ||
32 | { 0x11, KEY_LEFT }, | ||
33 | { 0x12, KEY_OK }, | ||
34 | { 0x13, KEY_RIGHT }, | ||
35 | { 0x14, KEY_DOWN }, | ||
36 | { 0x15, KEY_TEXT }, | ||
37 | { 0x16, KEY_INFO }, | ||
38 | |||
39 | { 0x17, KEY_RED }, | ||
40 | { 0x18, KEY_GREEN }, | ||
41 | { 0x19, KEY_YELLOW }, | ||
42 | { 0x1a, KEY_BLUE }, | ||
43 | |||
44 | { 0x1b, KEY_CHANNELUP }, | ||
45 | { 0x1c, KEY_VOLUMEUP }, | ||
46 | { 0x1d, KEY_MUTE }, | ||
47 | { 0x1e, KEY_VOLUMEDOWN }, | ||
48 | { 0x1f, KEY_CHANNELDOWN }, | ||
49 | |||
50 | { 0x40, KEY_PAUSE }, | ||
51 | { 0x4c, KEY_PLAY }, | ||
52 | { 0x58, KEY_RECORD }, | ||
53 | { 0x54, KEY_PREVIOUS }, | ||
54 | { 0x48, KEY_STOP }, | ||
55 | { 0x5c, KEY_NEXT }, | ||
56 | }; | ||
57 | DEFINE_LEGACY_IR_KEYTABLE(cinergy_1400); | ||
58 | #else | ||
59 | DECLARE_IR_KEYTABLE(cinergy_1400); | ||
60 | #endif | ||
diff --git a/include/media/keycodes/cinergy.h b/include/media/keycodes/cinergy.h new file mode 100644 index 000000000000..7884696bc683 --- /dev/null +++ b/include/media/keycodes/cinergy.h | |||
@@ -0,0 +1,55 @@ | |||
1 | /* cinergy.h - Keytable for cinergy Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | |||
12 | #ifdef IR_KEYMAPS | ||
13 | static struct ir_scancode cinergy[] = { | ||
14 | { 0x00, KEY_0 }, | ||
15 | { 0x01, KEY_1 }, | ||
16 | { 0x02, KEY_2 }, | ||
17 | { 0x03, KEY_3 }, | ||
18 | { 0x04, KEY_4 }, | ||
19 | { 0x05, KEY_5 }, | ||
20 | { 0x06, KEY_6 }, | ||
21 | { 0x07, KEY_7 }, | ||
22 | { 0x08, KEY_8 }, | ||
23 | { 0x09, KEY_9 }, | ||
24 | |||
25 | { 0x0a, KEY_POWER }, | ||
26 | { 0x0b, KEY_PROG1 }, /* app */ | ||
27 | { 0x0c, KEY_ZOOM }, /* zoom/fullscreen */ | ||
28 | { 0x0d, KEY_CHANNELUP }, /* channel */ | ||
29 | { 0x0e, KEY_CHANNELDOWN }, /* channel- */ | ||
30 | { 0x0f, KEY_VOLUMEUP }, | ||
31 | { 0x10, KEY_VOLUMEDOWN }, | ||
32 | { 0x11, KEY_TUNER }, /* AV */ | ||
33 | { 0x12, KEY_NUMLOCK }, /* -/-- */ | ||
34 | { 0x13, KEY_AUDIO }, /* audio */ | ||
35 | { 0x14, KEY_MUTE }, | ||
36 | { 0x15, KEY_UP }, | ||
37 | { 0x16, KEY_DOWN }, | ||
38 | { 0x17, KEY_LEFT }, | ||
39 | { 0x18, KEY_RIGHT }, | ||
40 | { 0x19, BTN_LEFT, }, | ||
41 | { 0x1a, BTN_RIGHT, }, | ||
42 | { 0x1b, KEY_WWW }, /* text */ | ||
43 | { 0x1c, KEY_REWIND }, | ||
44 | { 0x1d, KEY_FORWARD }, | ||
45 | { 0x1e, KEY_RECORD }, | ||
46 | { 0x1f, KEY_PLAY }, | ||
47 | { 0x20, KEY_PREVIOUSSONG }, | ||
48 | { 0x21, KEY_NEXTSONG }, | ||
49 | { 0x22, KEY_PAUSE }, | ||
50 | { 0x23, KEY_STOP }, | ||
51 | }; | ||
52 | DEFINE_LEGACY_IR_KEYTABLE(cinergy); | ||
53 | #else | ||
54 | DECLARE_IR_KEYTABLE(cinergy); | ||
55 | #endif | ||
diff --git a/include/media/keycodes/dm1105-nec.h b/include/media/keycodes/dm1105-nec.h new file mode 100644 index 000000000000..b87d770747a2 --- /dev/null +++ b/include/media/keycodes/dm1105-nec.h | |||
@@ -0,0 +1,52 @@ | |||
1 | /* dm1105-nec.h - Keytable for dm1105_nec Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* DVBWorld remotes | ||
12 | Igor M. Liplianin <liplianin@me.by> | ||
13 | */ | ||
14 | |||
15 | #ifdef IR_KEYMAPS | ||
16 | static struct ir_scancode dm1105_nec[] = { | ||
17 | { 0x0a, KEY_POWER2}, /* power */ | ||
18 | { 0x0c, KEY_MUTE}, /* mute */ | ||
19 | { 0x11, KEY_1}, | ||
20 | { 0x12, KEY_2}, | ||
21 | { 0x13, KEY_3}, | ||
22 | { 0x14, KEY_4}, | ||
23 | { 0x15, KEY_5}, | ||
24 | { 0x16, KEY_6}, | ||
25 | { 0x17, KEY_7}, | ||
26 | { 0x18, KEY_8}, | ||
27 | { 0x19, KEY_9}, | ||
28 | { 0x10, KEY_0}, | ||
29 | { 0x1c, KEY_CHANNELUP}, /* ch+ */ | ||
30 | { 0x0f, KEY_CHANNELDOWN}, /* ch- */ | ||
31 | { 0x1a, KEY_VOLUMEUP}, /* vol+ */ | ||
32 | { 0x0e, KEY_VOLUMEDOWN}, /* vol- */ | ||
33 | { 0x04, KEY_RECORD}, /* rec */ | ||
34 | { 0x09, KEY_CHANNEL}, /* fav */ | ||
35 | { 0x08, KEY_BACKSPACE}, /* rewind */ | ||
36 | { 0x07, KEY_FASTFORWARD}, /* fast */ | ||
37 | { 0x0b, KEY_PAUSE}, /* pause */ | ||
38 | { 0x02, KEY_ESC}, /* cancel */ | ||
39 | { 0x03, KEY_TAB}, /* tab */ | ||
40 | { 0x00, KEY_UP}, /* up */ | ||
41 | { 0x1f, KEY_ENTER}, /* ok */ | ||
42 | { 0x01, KEY_DOWN}, /* down */ | ||
43 | { 0x05, KEY_RECORD}, /* cap */ | ||
44 | { 0x06, KEY_STOP}, /* stop */ | ||
45 | { 0x40, KEY_ZOOM}, /* full */ | ||
46 | { 0x1e, KEY_TV}, /* tvmode */ | ||
47 | { 0x1b, KEY_B}, /* recall */ | ||
48 | }; | ||
49 | DEFINE_LEGACY_IR_KEYTABLE(dm1105_nec); | ||
50 | #else | ||
51 | DECLARE_IR_KEYTABLE(dm1105_nec); | ||
52 | #endif | ||
diff --git a/include/media/keycodes/dntv-live-dvb-t.h b/include/media/keycodes/dntv-live-dvb-t.h new file mode 100644 index 000000000000..4431ae6e206c --- /dev/null +++ b/include/media/keycodes/dntv-live-dvb-t.h | |||
@@ -0,0 +1,54 @@ | |||
1 | /* dntv-live-dvb-t.h - Keytable for dntv_live_dvb_t Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* DigitalNow DNTV Live DVB-T Remote */ | ||
12 | |||
13 | #ifdef IR_KEYMAPS | ||
14 | static struct ir_scancode dntv_live_dvb_t[] = { | ||
15 | { 0x00, KEY_ESC }, /* 'go up a level?' */ | ||
16 | /* Keys 0 to 9 */ | ||
17 | { 0x0a, KEY_0 }, | ||
18 | { 0x01, KEY_1 }, | ||
19 | { 0x02, KEY_2 }, | ||
20 | { 0x03, KEY_3 }, | ||
21 | { 0x04, KEY_4 }, | ||
22 | { 0x05, KEY_5 }, | ||
23 | { 0x06, KEY_6 }, | ||
24 | { 0x07, KEY_7 }, | ||
25 | { 0x08, KEY_8 }, | ||
26 | { 0x09, KEY_9 }, | ||
27 | |||
28 | { 0x0b, KEY_TUNER }, /* tv/fm */ | ||
29 | { 0x0c, KEY_SEARCH }, /* scan */ | ||
30 | { 0x0d, KEY_STOP }, | ||
31 | { 0x0e, KEY_PAUSE }, | ||
32 | { 0x0f, KEY_LIST }, /* source */ | ||
33 | |||
34 | { 0x10, KEY_MUTE }, | ||
35 | { 0x11, KEY_REWIND }, /* backward << */ | ||
36 | { 0x12, KEY_POWER }, | ||
37 | { 0x13, KEY_CAMERA }, /* snap */ | ||
38 | { 0x14, KEY_AUDIO }, /* stereo */ | ||
39 | { 0x15, KEY_CLEAR }, /* reset */ | ||
40 | { 0x16, KEY_PLAY }, | ||
41 | { 0x17, KEY_ENTER }, | ||
42 | { 0x18, KEY_ZOOM }, /* full screen */ | ||
43 | { 0x19, KEY_FASTFORWARD }, /* forward >> */ | ||
44 | { 0x1a, KEY_CHANNELUP }, | ||
45 | { 0x1b, KEY_VOLUMEUP }, | ||
46 | { 0x1c, KEY_INFO }, /* preview */ | ||
47 | { 0x1d, KEY_RECORD }, /* record */ | ||
48 | { 0x1e, KEY_CHANNELDOWN }, | ||
49 | { 0x1f, KEY_VOLUMEDOWN }, | ||
50 | }; | ||
51 | DEFINE_LEGACY_IR_KEYTABLE(dntv_live_dvb_t); | ||
52 | #else | ||
53 | DECLARE_IR_KEYTABLE(dntv_live_dvb_t); | ||
54 | #endif | ||
diff --git a/include/media/keycodes/dntv-live-dvbt-pro.h b/include/media/keycodes/dntv-live-dvbt-pro.h new file mode 100644 index 000000000000..d64fa26503cc --- /dev/null +++ b/include/media/keycodes/dntv-live-dvbt-pro.h | |||
@@ -0,0 +1,73 @@ | |||
1 | /* dntv-live-dvbt-pro.h - Keytable for dntv_live_dvbt_pro Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* DigitalNow DNTV Live! DVB-T Pro Remote */ | ||
12 | |||
13 | #ifdef IR_KEYMAPS | ||
14 | static struct ir_scancode dntv_live_dvbt_pro[] = { | ||
15 | { 0x16, KEY_POWER }, | ||
16 | { 0x5b, KEY_HOME }, | ||
17 | |||
18 | { 0x55, KEY_TV }, /* live tv */ | ||
19 | { 0x58, KEY_TUNER }, /* digital Radio */ | ||
20 | { 0x5a, KEY_RADIO }, /* FM radio */ | ||
21 | { 0x59, KEY_DVD }, /* dvd menu */ | ||
22 | { 0x03, KEY_1 }, | ||
23 | { 0x01, KEY_2 }, | ||
24 | { 0x06, KEY_3 }, | ||
25 | { 0x09, KEY_4 }, | ||
26 | { 0x1d, KEY_5 }, | ||
27 | { 0x1f, KEY_6 }, | ||
28 | { 0x0d, KEY_7 }, | ||
29 | { 0x19, KEY_8 }, | ||
30 | { 0x1b, KEY_9 }, | ||
31 | { 0x0c, KEY_CANCEL }, | ||
32 | { 0x15, KEY_0 }, | ||
33 | { 0x4a, KEY_CLEAR }, | ||
34 | { 0x13, KEY_BACK }, | ||
35 | { 0x00, KEY_TAB }, | ||
36 | { 0x4b, KEY_UP }, | ||
37 | { 0x4e, KEY_LEFT }, | ||
38 | { 0x4f, KEY_OK }, | ||
39 | { 0x52, KEY_RIGHT }, | ||
40 | { 0x51, KEY_DOWN }, | ||
41 | { 0x1e, KEY_VOLUMEUP }, | ||
42 | { 0x0a, KEY_VOLUMEDOWN }, | ||
43 | { 0x02, KEY_CHANNELDOWN }, | ||
44 | { 0x05, KEY_CHANNELUP }, | ||
45 | { 0x11, KEY_RECORD }, | ||
46 | { 0x14, KEY_PLAY }, | ||
47 | { 0x4c, KEY_PAUSE }, | ||
48 | { 0x1a, KEY_STOP }, | ||
49 | { 0x40, KEY_REWIND }, | ||
50 | { 0x12, KEY_FASTFORWARD }, | ||
51 | { 0x41, KEY_PREVIOUSSONG }, /* replay |< */ | ||
52 | { 0x42, KEY_NEXTSONG }, /* skip >| */ | ||
53 | { 0x54, KEY_CAMERA }, /* capture */ | ||
54 | { 0x50, KEY_LANGUAGE }, /* sap */ | ||
55 | { 0x47, KEY_TV2 }, /* pip */ | ||
56 | { 0x4d, KEY_SCREEN }, | ||
57 | { 0x43, KEY_SUBTITLE }, | ||
58 | { 0x10, KEY_MUTE }, | ||
59 | { 0x49, KEY_AUDIO }, /* l/r */ | ||
60 | { 0x07, KEY_SLEEP }, | ||
61 | { 0x08, KEY_VIDEO }, /* a/v */ | ||
62 | { 0x0e, KEY_PREVIOUS }, /* recall */ | ||
63 | { 0x45, KEY_ZOOM }, /* zoom + */ | ||
64 | { 0x46, KEY_ANGLE }, /* zoom - */ | ||
65 | { 0x56, KEY_RED }, | ||
66 | { 0x57, KEY_GREEN }, | ||
67 | { 0x5c, KEY_YELLOW }, | ||
68 | { 0x5d, KEY_BLUE }, | ||
69 | }; | ||
70 | DEFINE_LEGACY_IR_KEYTABLE(dntv_live_dvbt_pro); | ||
71 | #else | ||
72 | DECLARE_IR_KEYTABLE(dntv_live_dvbt_pro); | ||
73 | #endif | ||
diff --git a/include/media/keycodes/em-terratec.h b/include/media/keycodes/em-terratec.h new file mode 100644 index 000000000000..906557d06143 --- /dev/null +++ b/include/media/keycodes/em-terratec.h | |||
@@ -0,0 +1,46 @@ | |||
1 | /* em-terratec.h - Keytable for em_terratec Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | |||
12 | #ifdef IR_KEYMAPS | ||
13 | static struct ir_scancode em_terratec[] = { | ||
14 | { 0x01, KEY_CHANNEL }, | ||
15 | { 0x02, KEY_SELECT }, | ||
16 | { 0x03, KEY_MUTE }, | ||
17 | { 0x04, KEY_POWER }, | ||
18 | { 0x05, KEY_1 }, | ||
19 | { 0x06, KEY_2 }, | ||
20 | { 0x07, KEY_3 }, | ||
21 | { 0x08, KEY_CHANNELUP }, | ||
22 | { 0x09, KEY_4 }, | ||
23 | { 0x0a, KEY_5 }, | ||
24 | { 0x0b, KEY_6 }, | ||
25 | { 0x0c, KEY_CHANNELDOWN }, | ||
26 | { 0x0d, KEY_7 }, | ||
27 | { 0x0e, KEY_8 }, | ||
28 | { 0x0f, KEY_9 }, | ||
29 | { 0x10, KEY_VOLUMEUP }, | ||
30 | { 0x11, KEY_0 }, | ||
31 | { 0x12, KEY_MENU }, | ||
32 | { 0x13, KEY_PRINT }, | ||
33 | { 0x14, KEY_VOLUMEDOWN }, | ||
34 | { 0x16, KEY_PAUSE }, | ||
35 | { 0x18, KEY_RECORD }, | ||
36 | { 0x19, KEY_REWIND }, | ||
37 | { 0x1a, KEY_PLAY }, | ||
38 | { 0x1b, KEY_FORWARD }, | ||
39 | { 0x1c, KEY_BACKSPACE }, | ||
40 | { 0x1e, KEY_STOP }, | ||
41 | { 0x40, KEY_ZOOM }, | ||
42 | }; | ||
43 | DEFINE_LEGACY_IR_KEYTABLE(em_terratec); | ||
44 | #else | ||
45 | DECLARE_IR_KEYTABLE(em_terratec); | ||
46 | #endif | ||
diff --git a/include/media/keycodes/empty.h b/include/media/keycodes/empty.h new file mode 100644 index 000000000000..aea866c42b22 --- /dev/null +++ b/include/media/keycodes/empty.h | |||
@@ -0,0 +1,20 @@ | |||
1 | /* empty.h - Keytable for empty Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* empty keytable, can be used as placeholder for not-yet created keytables */ | ||
12 | |||
13 | #ifdef IR_KEYMAPS | ||
14 | static struct ir_scancode empty[] = { | ||
15 | { 0x2a, KEY_COFFEE }, | ||
16 | }; | ||
17 | DEFINE_LEGACY_IR_KEYTABLE(empty); | ||
18 | #else | ||
19 | DECLARE_IR_KEYTABLE(empty); | ||
20 | #endif | ||
diff --git a/include/media/keycodes/encore-enltv-fm53.h b/include/media/keycodes/encore-enltv-fm53.h new file mode 100644 index 000000000000..bccb7440676b --- /dev/null +++ b/include/media/keycodes/encore-enltv-fm53.h | |||
@@ -0,0 +1,57 @@ | |||
1 | /* encore-enltv-fm53.h - Keytable for encore_enltv_fm53 Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* Encore ENLTV-FM v5.3 | ||
12 | Mauro Carvalho Chehab <mchehab@infradead.org> | ||
13 | */ | ||
14 | |||
15 | #ifdef IR_KEYMAPS | ||
16 | static struct ir_scancode encore_enltv_fm53[] = { | ||
17 | { 0x10, KEY_POWER2}, | ||
18 | { 0x06, KEY_MUTE}, | ||
19 | |||
20 | { 0x09, KEY_1}, | ||
21 | { 0x1d, KEY_2}, | ||
22 | { 0x1f, KEY_3}, | ||
23 | { 0x19, KEY_4}, | ||
24 | { 0x1b, KEY_5}, | ||
25 | { 0x11, KEY_6}, | ||
26 | { 0x17, KEY_7}, | ||
27 | { 0x12, KEY_8}, | ||
28 | { 0x16, KEY_9}, | ||
29 | { 0x48, KEY_0}, | ||
30 | |||
31 | { 0x04, KEY_LIST}, /* -/-- */ | ||
32 | { 0x40, KEY_LAST}, /* recall */ | ||
33 | |||
34 | { 0x02, KEY_MODE}, /* TV/AV */ | ||
35 | { 0x05, KEY_CAMERA}, /* SNAPSHOT */ | ||
36 | |||
37 | { 0x4c, KEY_CHANNELUP}, /* UP */ | ||
38 | { 0x00, KEY_CHANNELDOWN}, /* DOWN */ | ||
39 | { 0x0d, KEY_VOLUMEUP}, /* RIGHT */ | ||
40 | { 0x15, KEY_VOLUMEDOWN}, /* LEFT */ | ||
41 | { 0x49, KEY_ENTER}, /* OK */ | ||
42 | |||
43 | { 0x54, KEY_RECORD}, | ||
44 | { 0x4d, KEY_PLAY}, /* pause */ | ||
45 | |||
46 | { 0x1e, KEY_MENU}, /* video setting */ | ||
47 | { 0x0e, KEY_RIGHT}, /* <- */ | ||
48 | { 0x1a, KEY_LEFT}, /* -> */ | ||
49 | |||
50 | { 0x0a, KEY_CLEAR}, /* video default */ | ||
51 | { 0x0c, KEY_ZOOM}, /* hide pannel */ | ||
52 | { 0x47, KEY_SLEEP}, /* shutdown */ | ||
53 | }; | ||
54 | DEFINE_LEGACY_IR_KEYTABLE(encore_enltv_fm53); | ||
55 | #else | ||
56 | DECLARE_IR_KEYTABLE(encore_enltv_fm53); | ||
57 | #endif | ||
diff --git a/include/media/keycodes/encore-enltv.h b/include/media/keycodes/encore-enltv.h new file mode 100644 index 000000000000..4c55b526129c --- /dev/null +++ b/include/media/keycodes/encore-enltv.h | |||
@@ -0,0 +1,88 @@ | |||
1 | /* encore-enltv.h - Keytable for encore_enltv Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* Encore ENLTV-FM - black plastic, white front cover with white glowing buttons | ||
12 | Juan Pablo Sormani <sorman@gmail.com> */ | ||
13 | |||
14 | #ifdef IR_KEYMAPS | ||
15 | static struct ir_scancode encore_enltv[] = { | ||
16 | |||
17 | /* Power button does nothing, neither in Windows app, | ||
18 | although it sends data (used for BIOS wakeup?) */ | ||
19 | { 0x0d, KEY_MUTE }, | ||
20 | |||
21 | { 0x1e, KEY_TV }, | ||
22 | { 0x00, KEY_VIDEO }, | ||
23 | { 0x01, KEY_AUDIO }, /* music */ | ||
24 | { 0x02, KEY_MHP }, /* picture */ | ||
25 | |||
26 | { 0x1f, KEY_1 }, | ||
27 | { 0x03, KEY_2 }, | ||
28 | { 0x04, KEY_3 }, | ||
29 | { 0x05, KEY_4 }, | ||
30 | { 0x1c, KEY_5 }, | ||
31 | { 0x06, KEY_6 }, | ||
32 | { 0x07, KEY_7 }, | ||
33 | { 0x08, KEY_8 }, | ||
34 | { 0x1d, KEY_9 }, | ||
35 | { 0x0a, KEY_0 }, | ||
36 | |||
37 | { 0x09, KEY_LIST }, /* -/-- */ | ||
38 | { 0x0b, KEY_LAST }, /* recall */ | ||
39 | |||
40 | { 0x14, KEY_HOME }, /* win start menu */ | ||
41 | { 0x15, KEY_EXIT }, /* exit */ | ||
42 | { 0x16, KEY_CHANNELUP }, /* UP */ | ||
43 | { 0x12, KEY_CHANNELDOWN }, /* DOWN */ | ||
44 | { 0x0c, KEY_VOLUMEUP }, /* RIGHT */ | ||
45 | { 0x17, KEY_VOLUMEDOWN }, /* LEFT */ | ||
46 | |||
47 | { 0x18, KEY_ENTER }, /* OK */ | ||
48 | |||
49 | { 0x0e, KEY_ESC }, | ||
50 | { 0x13, KEY_CYCLEWINDOWS }, /* desktop */ | ||
51 | { 0x11, KEY_TAB }, | ||
52 | { 0x19, KEY_SWITCHVIDEOMODE }, /* switch */ | ||
53 | |||
54 | { 0x1a, KEY_MENU }, | ||
55 | { 0x1b, KEY_ZOOM }, /* fullscreen */ | ||
56 | { 0x44, KEY_TIME }, /* time shift */ | ||
57 | { 0x40, KEY_MODE }, /* source */ | ||
58 | |||
59 | { 0x5a, KEY_RECORD }, | ||
60 | { 0x42, KEY_PLAY }, /* play/pause */ | ||
61 | { 0x45, KEY_STOP }, | ||
62 | { 0x43, KEY_CAMERA }, /* camera icon */ | ||
63 | |||
64 | { 0x48, KEY_REWIND }, | ||
65 | { 0x4a, KEY_FASTFORWARD }, | ||
66 | { 0x49, KEY_PREVIOUS }, | ||
67 | { 0x4b, KEY_NEXT }, | ||
68 | |||
69 | { 0x4c, KEY_FAVORITES }, /* tv wall */ | ||
70 | { 0x4d, KEY_SOUND }, /* DVD sound */ | ||
71 | { 0x4e, KEY_LANGUAGE }, /* DVD lang */ | ||
72 | { 0x4f, KEY_TEXT }, /* DVD text */ | ||
73 | |||
74 | { 0x50, KEY_SLEEP }, /* shutdown */ | ||
75 | { 0x51, KEY_MODE }, /* stereo > main */ | ||
76 | { 0x52, KEY_SELECT }, /* stereo > sap */ | ||
77 | { 0x53, KEY_PROG1 }, /* teletext */ | ||
78 | |||
79 | |||
80 | { 0x59, KEY_RED }, /* AP1 */ | ||
81 | { 0x41, KEY_GREEN }, /* AP2 */ | ||
82 | { 0x47, KEY_YELLOW }, /* AP3 */ | ||
83 | { 0x57, KEY_BLUE }, /* AP4 */ | ||
84 | }; | ||
85 | DEFINE_LEGACY_IR_KEYTABLE(encore_enltv); | ||
86 | #else | ||
87 | DECLARE_IR_KEYTABLE(encore_enltv); | ||
88 | #endif | ||
diff --git a/include/media/keycodes/encore-enltv2.h b/include/media/keycodes/encore-enltv2.h new file mode 100644 index 000000000000..6b37fbcfc4aa --- /dev/null +++ b/include/media/keycodes/encore-enltv2.h | |||
@@ -0,0 +1,66 @@ | |||
1 | /* encore-enltv2.h - Keytable for encore_enltv2 Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* Encore ENLTV2-FM - silver plastic - "Wand Media" written at the botton | ||
12 | Mauro Carvalho Chehab <mchehab@infradead.org> */ | ||
13 | |||
14 | #ifdef IR_KEYMAPS | ||
15 | static struct ir_scancode encore_enltv2[] = { | ||
16 | { 0x4c, KEY_POWER2 }, | ||
17 | { 0x4a, KEY_TUNER }, | ||
18 | { 0x40, KEY_1 }, | ||
19 | { 0x60, KEY_2 }, | ||
20 | { 0x50, KEY_3 }, | ||
21 | { 0x70, KEY_4 }, | ||
22 | { 0x48, KEY_5 }, | ||
23 | { 0x68, KEY_6 }, | ||
24 | { 0x58, KEY_7 }, | ||
25 | { 0x78, KEY_8 }, | ||
26 | { 0x44, KEY_9 }, | ||
27 | { 0x54, KEY_0 }, | ||
28 | |||
29 | { 0x64, KEY_LAST }, /* +100 */ | ||
30 | { 0x4e, KEY_AGAIN }, /* Recall */ | ||
31 | |||
32 | { 0x6c, KEY_SWITCHVIDEOMODE }, /* Video Source */ | ||
33 | { 0x5e, KEY_MENU }, | ||
34 | { 0x56, KEY_SCREEN }, | ||
35 | { 0x7a, KEY_SETUP }, | ||
36 | |||
37 | { 0x46, KEY_MUTE }, | ||
38 | { 0x5c, KEY_MODE }, /* Stereo */ | ||
39 | { 0x74, KEY_INFO }, | ||
40 | { 0x7c, KEY_CLEAR }, | ||
41 | |||
42 | { 0x55, KEY_UP }, | ||
43 | { 0x49, KEY_DOWN }, | ||
44 | { 0x7e, KEY_LEFT }, | ||
45 | { 0x59, KEY_RIGHT }, | ||
46 | { 0x6a, KEY_ENTER }, | ||
47 | |||
48 | { 0x42, KEY_VOLUMEUP }, | ||
49 | { 0x62, KEY_VOLUMEDOWN }, | ||
50 | { 0x52, KEY_CHANNELUP }, | ||
51 | { 0x72, KEY_CHANNELDOWN }, | ||
52 | |||
53 | { 0x41, KEY_RECORD }, | ||
54 | { 0x51, KEY_CAMERA }, /* Snapshot */ | ||
55 | { 0x75, KEY_TIME }, /* Timeshift */ | ||
56 | { 0x71, KEY_TV2 }, /* PIP */ | ||
57 | |||
58 | { 0x45, KEY_REWIND }, | ||
59 | { 0x6f, KEY_PAUSE }, | ||
60 | { 0x7d, KEY_FORWARD }, | ||
61 | { 0x79, KEY_STOP }, | ||
62 | }; | ||
63 | DEFINE_LEGACY_IR_KEYTABLE(encore_enltv2); | ||
64 | #else | ||
65 | DECLARE_IR_KEYTABLE(encore_enltv2); | ||
66 | #endif | ||
diff --git a/include/media/keycodes/evga-indtube.h b/include/media/keycodes/evga-indtube.h new file mode 100644 index 000000000000..2aab58d75037 --- /dev/null +++ b/include/media/keycodes/evga-indtube.h | |||
@@ -0,0 +1,37 @@ | |||
1 | /* evga-indtube.h - Keytable for evga_indtube Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* EVGA inDtube | ||
12 | Devin Heitmueller <devin.heitmueller@gmail.com> | ||
13 | */ | ||
14 | |||
15 | #ifdef IR_KEYMAPS | ||
16 | static struct ir_scancode evga_indtube[] = { | ||
17 | { 0x12, KEY_POWER}, | ||
18 | { 0x02, KEY_MODE}, /* TV */ | ||
19 | { 0x14, KEY_MUTE}, | ||
20 | { 0x1a, KEY_CHANNELUP}, | ||
21 | { 0x16, KEY_TV2}, /* PIP */ | ||
22 | { 0x1d, KEY_VOLUMEUP}, | ||
23 | { 0x05, KEY_CHANNELDOWN}, | ||
24 | { 0x0f, KEY_PLAYPAUSE}, | ||
25 | { 0x19, KEY_VOLUMEDOWN}, | ||
26 | { 0x1c, KEY_REWIND}, | ||
27 | { 0x0d, KEY_RECORD}, | ||
28 | { 0x18, KEY_FORWARD}, | ||
29 | { 0x1e, KEY_PREVIOUS}, | ||
30 | { 0x1b, KEY_STOP}, | ||
31 | { 0x1f, KEY_NEXT}, | ||
32 | { 0x13, KEY_CAMERA}, | ||
33 | }; | ||
34 | DEFINE_LEGACY_IR_KEYTABLE(evga_indtube); | ||
35 | #else | ||
36 | DECLARE_IR_KEYTABLE(evga_indtube); | ||
37 | #endif | ||
diff --git a/include/media/keycodes/eztv.h b/include/media/keycodes/eztv.h new file mode 100644 index 000000000000..030f57a61349 --- /dev/null +++ b/include/media/keycodes/eztv.h | |||
@@ -0,0 +1,72 @@ | |||
1 | /* eztv.h - Keytable for eztv Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* Alfons Geser <a.geser@cox.net> | ||
12 | * updates from Job D. R. Borges <jobdrb@ig.com.br> */ | ||
13 | |||
14 | #ifdef IR_KEYMAPS | ||
15 | static struct ir_scancode eztv[] = { | ||
16 | { 0x12, KEY_POWER }, | ||
17 | { 0x01, KEY_TV }, /* DVR */ | ||
18 | { 0x15, KEY_DVD }, /* DVD */ | ||
19 | { 0x17, KEY_AUDIO }, /* music */ | ||
20 | /* DVR mode / DVD mode / music mode */ | ||
21 | |||
22 | { 0x1b, KEY_MUTE }, /* mute */ | ||
23 | { 0x02, KEY_LANGUAGE }, /* MTS/SAP / audio / autoseek */ | ||
24 | { 0x1e, KEY_SUBTITLE }, /* closed captioning / subtitle / seek */ | ||
25 | { 0x16, KEY_ZOOM }, /* full screen */ | ||
26 | { 0x1c, KEY_VIDEO }, /* video source / eject / delall */ | ||
27 | { 0x1d, KEY_RESTART }, /* playback / angle / del */ | ||
28 | { 0x2f, KEY_SEARCH }, /* scan / menu / playlist */ | ||
29 | { 0x30, KEY_CHANNEL }, /* CH surfing / bookmark / memo */ | ||
30 | |||
31 | { 0x31, KEY_HELP }, /* help */ | ||
32 | { 0x32, KEY_MODE }, /* num/memo */ | ||
33 | { 0x33, KEY_ESC }, /* cancel */ | ||
34 | |||
35 | { 0x0c, KEY_UP }, /* up */ | ||
36 | { 0x10, KEY_DOWN }, /* down */ | ||
37 | { 0x08, KEY_LEFT }, /* left */ | ||
38 | { 0x04, KEY_RIGHT }, /* right */ | ||
39 | { 0x03, KEY_SELECT }, /* select */ | ||
40 | |||
41 | { 0x1f, KEY_REWIND }, /* rewind */ | ||
42 | { 0x20, KEY_PLAYPAUSE },/* play/pause */ | ||
43 | { 0x29, KEY_FORWARD }, /* forward */ | ||
44 | { 0x14, KEY_AGAIN }, /* repeat */ | ||
45 | { 0x2b, KEY_RECORD }, /* recording */ | ||
46 | { 0x2c, KEY_STOP }, /* stop */ | ||
47 | { 0x2d, KEY_PLAY }, /* play */ | ||
48 | { 0x2e, KEY_CAMERA }, /* snapshot / shuffle */ | ||
49 | |||
50 | { 0x00, KEY_0 }, | ||
51 | { 0x05, KEY_1 }, | ||
52 | { 0x06, KEY_2 }, | ||
53 | { 0x07, KEY_3 }, | ||
54 | { 0x09, KEY_4 }, | ||
55 | { 0x0a, KEY_5 }, | ||
56 | { 0x0b, KEY_6 }, | ||
57 | { 0x0d, KEY_7 }, | ||
58 | { 0x0e, KEY_8 }, | ||
59 | { 0x0f, KEY_9 }, | ||
60 | |||
61 | { 0x2a, KEY_VOLUMEUP }, | ||
62 | { 0x11, KEY_VOLUMEDOWN }, | ||
63 | { 0x18, KEY_CHANNELUP },/* CH.tracking up */ | ||
64 | { 0x19, KEY_CHANNELDOWN },/* CH.tracking down */ | ||
65 | |||
66 | { 0x13, KEY_ENTER }, /* enter */ | ||
67 | { 0x21, KEY_DOT }, /* . (decimal dot) */ | ||
68 | }; | ||
69 | DEFINE_LEGACY_IR_KEYTABLE(eztv); | ||
70 | #else | ||
71 | DECLARE_IR_KEYTABLE(eztv); | ||
72 | #endif | ||
diff --git a/include/media/keycodes/flydvb.h b/include/media/keycodes/flydvb.h new file mode 100644 index 000000000000..b270cc058b7c --- /dev/null +++ b/include/media/keycodes/flydvb.h | |||
@@ -0,0 +1,54 @@ | |||
1 | /* flydvb.h - Keytable for flydvb Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | |||
12 | #ifdef IR_KEYMAPS | ||
13 | static struct ir_scancode flydvb[] = { | ||
14 | { 0x01, KEY_ZOOM }, /* Full Screen */ | ||
15 | { 0x00, KEY_POWER }, /* Power */ | ||
16 | |||
17 | { 0x03, KEY_1 }, | ||
18 | { 0x04, KEY_2 }, | ||
19 | { 0x05, KEY_3 }, | ||
20 | { 0x07, KEY_4 }, | ||
21 | { 0x08, KEY_5 }, | ||
22 | { 0x09, KEY_6 }, | ||
23 | { 0x0b, KEY_7 }, | ||
24 | { 0x0c, KEY_8 }, | ||
25 | { 0x0d, KEY_9 }, | ||
26 | { 0x06, KEY_AGAIN }, /* Recall */ | ||
27 | { 0x0f, KEY_0 }, | ||
28 | { 0x10, KEY_MUTE }, /* Mute */ | ||
29 | { 0x02, KEY_RADIO }, /* TV/Radio */ | ||
30 | { 0x1b, KEY_LANGUAGE }, /* SAP (Second Audio Program) */ | ||
31 | |||
32 | { 0x14, KEY_VOLUMEUP }, /* VOL+ */ | ||
33 | { 0x17, KEY_VOLUMEDOWN }, /* VOL- */ | ||
34 | { 0x12, KEY_CHANNELUP }, /* CH+ */ | ||
35 | { 0x13, KEY_CHANNELDOWN }, /* CH- */ | ||
36 | { 0x1d, KEY_ENTER }, /* Enter */ | ||
37 | |||
38 | { 0x1a, KEY_MODE }, /* PIP */ | ||
39 | { 0x18, KEY_TUNER }, /* Source */ | ||
40 | |||
41 | { 0x1e, KEY_RECORD }, /* Record/Pause */ | ||
42 | { 0x15, KEY_ANGLE }, /* Swap (no label on key) */ | ||
43 | { 0x1c, KEY_PAUSE }, /* Timeshift/Pause */ | ||
44 | { 0x19, KEY_BACK }, /* Rewind << */ | ||
45 | { 0x0a, KEY_PLAYPAUSE }, /* Play/Pause */ | ||
46 | { 0x1f, KEY_FORWARD }, /* Forward >> */ | ||
47 | { 0x16, KEY_PREVIOUS }, /* Back |<< */ | ||
48 | { 0x11, KEY_STOP }, /* Stop */ | ||
49 | { 0x0e, KEY_NEXT }, /* End >>| */ | ||
50 | }; | ||
51 | DEFINE_LEGACY_IR_KEYTABLE(flydvb); | ||
52 | #else | ||
53 | DECLARE_IR_KEYTABLE(flydvb); | ||
54 | #endif | ||
diff --git a/include/media/keycodes/flyvideo.h b/include/media/keycodes/flyvideo.h new file mode 100644 index 000000000000..5c52f92d039c --- /dev/null +++ b/include/media/keycodes/flyvideo.h | |||
@@ -0,0 +1,47 @@ | |||
1 | /* flyvideo.h - Keytable for flyvideo Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | |||
12 | #ifdef IR_KEYMAPS | ||
13 | static struct ir_scancode flyvideo[] = { | ||
14 | { 0x0f, KEY_0 }, | ||
15 | { 0x03, KEY_1 }, | ||
16 | { 0x04, KEY_2 }, | ||
17 | { 0x05, KEY_3 }, | ||
18 | { 0x07, KEY_4 }, | ||
19 | { 0x08, KEY_5 }, | ||
20 | { 0x09, KEY_6 }, | ||
21 | { 0x0b, KEY_7 }, | ||
22 | { 0x0c, KEY_8 }, | ||
23 | { 0x0d, KEY_9 }, | ||
24 | |||
25 | { 0x0e, KEY_MODE }, /* Air/Cable */ | ||
26 | { 0x11, KEY_VIDEO }, /* Video */ | ||
27 | { 0x15, KEY_AUDIO }, /* Audio */ | ||
28 | { 0x00, KEY_POWER }, /* Power */ | ||
29 | { 0x18, KEY_TUNER }, /* AV Source */ | ||
30 | { 0x02, KEY_ZOOM }, /* Fullscreen */ | ||
31 | { 0x1a, KEY_LANGUAGE }, /* Stereo */ | ||
32 | { 0x1b, KEY_MUTE }, /* Mute */ | ||
33 | { 0x14, KEY_VOLUMEUP }, /* Volume + */ | ||
34 | { 0x17, KEY_VOLUMEDOWN },/* Volume - */ | ||
35 | { 0x12, KEY_CHANNELUP },/* Channel + */ | ||
36 | { 0x13, KEY_CHANNELDOWN },/* Channel - */ | ||
37 | { 0x06, KEY_AGAIN }, /* Recall */ | ||
38 | { 0x10, KEY_ENTER }, /* Enter */ | ||
39 | |||
40 | { 0x19, KEY_BACK }, /* Rewind ( <<< ) */ | ||
41 | { 0x1f, KEY_FORWARD }, /* Forward ( >>> ) */ | ||
42 | { 0x0a, KEY_ANGLE }, /* no label, may be used as the PAUSE button */ | ||
43 | }; | ||
44 | DEFINE_LEGACY_IR_KEYTABLE(flyvideo); | ||
45 | #else | ||
46 | DECLARE_IR_KEYTABLE(flyvideo); | ||
47 | #endif | ||
diff --git a/include/media/keycodes/fusionhdtv-mce.h b/include/media/keycodes/fusionhdtv-mce.h new file mode 100644 index 000000000000..bf2998f6a9d2 --- /dev/null +++ b/include/media/keycodes/fusionhdtv-mce.h | |||
@@ -0,0 +1,74 @@ | |||
1 | /* fusionhdtv-mce.h - Keytable for fusionhdtv_mce Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* DViCO FUSION HDTV MCE remote */ | ||
12 | |||
13 | #ifdef IR_KEYMAPS | ||
14 | static struct ir_scancode fusionhdtv_mce[] = { | ||
15 | |||
16 | { 0x0b, KEY_1 }, | ||
17 | { 0x17, KEY_2 }, | ||
18 | { 0x1b, KEY_3 }, | ||
19 | { 0x07, KEY_4 }, | ||
20 | { 0x50, KEY_5 }, | ||
21 | { 0x54, KEY_6 }, | ||
22 | { 0x48, KEY_7 }, | ||
23 | { 0x4c, KEY_8 }, | ||
24 | { 0x58, KEY_9 }, | ||
25 | { 0x03, KEY_0 }, | ||
26 | |||
27 | { 0x5e, KEY_OK }, | ||
28 | { 0x51, KEY_UP }, | ||
29 | { 0x53, KEY_DOWN }, | ||
30 | { 0x5b, KEY_LEFT }, | ||
31 | { 0x5f, KEY_RIGHT }, | ||
32 | |||
33 | { 0x02, KEY_TV }, /* Labeled DTV on remote */ | ||
34 | { 0x0e, KEY_MP3 }, | ||
35 | { 0x1a, KEY_DVD }, | ||
36 | { 0x1e, KEY_FAVORITES }, /* Labeled CPF on remote */ | ||
37 | { 0x16, KEY_SETUP }, | ||
38 | { 0x46, KEY_POWER2 }, /* TV On/Off button on remote */ | ||
39 | { 0x0a, KEY_EPG }, /* Labeled Guide on remote */ | ||
40 | |||
41 | { 0x49, KEY_BACK }, | ||
42 | { 0x59, KEY_INFO }, /* Labeled MORE on remote */ | ||
43 | { 0x4d, KEY_MENU }, /* Labeled DVDMENU on remote */ | ||
44 | { 0x55, KEY_CYCLEWINDOWS }, /* Labeled ALT-TAB on remote */ | ||
45 | |||
46 | { 0x0f, KEY_PREVIOUSSONG }, /* Labeled |<< REPLAY on remote */ | ||
47 | { 0x12, KEY_NEXTSONG }, /* Labeled >>| SKIP on remote */ | ||
48 | { 0x42, KEY_ENTER }, /* Labeled START with a green | ||
49 | MS windows logo on remote */ | ||
50 | |||
51 | { 0x15, KEY_VOLUMEUP }, | ||
52 | { 0x05, KEY_VOLUMEDOWN }, | ||
53 | { 0x11, KEY_CHANNELUP }, | ||
54 | { 0x09, KEY_CHANNELDOWN }, | ||
55 | |||
56 | { 0x52, KEY_CAMERA }, | ||
57 | { 0x5a, KEY_TUNER }, | ||
58 | { 0x19, KEY_OPEN }, | ||
59 | |||
60 | { 0x13, KEY_MODE }, /* 4:3 16:9 select */ | ||
61 | { 0x1f, KEY_ZOOM }, | ||
62 | |||
63 | { 0x43, KEY_REWIND }, | ||
64 | { 0x47, KEY_PLAYPAUSE }, | ||
65 | { 0x4f, KEY_FASTFORWARD }, | ||
66 | { 0x57, KEY_MUTE }, | ||
67 | { 0x0d, KEY_STOP }, | ||
68 | { 0x01, KEY_RECORD }, | ||
69 | { 0x4e, KEY_POWER }, | ||
70 | }; | ||
71 | DEFINE_LEGACY_IR_KEYTABLE(fusionhdtv_mce); | ||
72 | #else | ||
73 | DECLARE_IR_KEYTABLE(fusionhdtv_mce); | ||
74 | #endif | ||
diff --git a/include/media/keycodes/gadmei-rm008z.h b/include/media/keycodes/gadmei-rm008z.h new file mode 100644 index 000000000000..b73d3e5d7292 --- /dev/null +++ b/include/media/keycodes/gadmei-rm008z.h | |||
@@ -0,0 +1,57 @@ | |||
1 | /* gadmei-rm008z.h - Keytable for gadmei_rm008z Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* GADMEI UTV330+ RM008Z remote | ||
12 | Shine Liu <shinel@foxmail.com> | ||
13 | */ | ||
14 | |||
15 | #ifdef IR_KEYMAPS | ||
16 | static struct ir_scancode gadmei_rm008z[] = { | ||
17 | { 0x14, KEY_POWER2}, /* POWER OFF */ | ||
18 | { 0x0c, KEY_MUTE}, /* MUTE */ | ||
19 | |||
20 | { 0x18, KEY_TV}, /* TV */ | ||
21 | { 0x0e, KEY_VIDEO}, /* AV */ | ||
22 | { 0x0b, KEY_AUDIO}, /* SV */ | ||
23 | { 0x0f, KEY_RADIO}, /* FM */ | ||
24 | |||
25 | { 0x00, KEY_1}, | ||
26 | { 0x01, KEY_2}, | ||
27 | { 0x02, KEY_3}, | ||
28 | { 0x03, KEY_4}, | ||
29 | { 0x04, KEY_5}, | ||
30 | { 0x05, KEY_6}, | ||
31 | { 0x06, KEY_7}, | ||
32 | { 0x07, KEY_8}, | ||
33 | { 0x08, KEY_9}, | ||
34 | { 0x09, KEY_0}, | ||
35 | { 0x0a, KEY_INFO}, /* OSD */ | ||
36 | { 0x1c, KEY_BACKSPACE}, /* LAST */ | ||
37 | |||
38 | { 0x0d, KEY_PLAY}, /* PLAY */ | ||
39 | { 0x1e, KEY_CAMERA}, /* SNAPSHOT */ | ||
40 | { 0x1a, KEY_RECORD}, /* RECORD */ | ||
41 | { 0x17, KEY_STOP}, /* STOP */ | ||
42 | |||
43 | { 0x1f, KEY_UP}, /* UP */ | ||
44 | { 0x44, KEY_DOWN}, /* DOWN */ | ||
45 | { 0x46, KEY_TAB}, /* BACK */ | ||
46 | { 0x4a, KEY_ZOOM}, /* FULLSECREEN */ | ||
47 | |||
48 | { 0x10, KEY_VOLUMEUP}, /* VOLUMEUP */ | ||
49 | { 0x11, KEY_VOLUMEDOWN}, /* VOLUMEDOWN */ | ||
50 | { 0x12, KEY_CHANNELUP}, /* CHANNELUP */ | ||
51 | { 0x13, KEY_CHANNELDOWN}, /* CHANNELDOWN */ | ||
52 | { 0x15, KEY_ENTER}, /* OK */ | ||
53 | }; | ||
54 | DEFINE_LEGACY_IR_KEYTABLE(gadmei_rm008z); | ||
55 | #else | ||
56 | DECLARE_IR_KEYTABLE(gadmei_rm008z); | ||
57 | #endif | ||
diff --git a/include/media/keycodes/genius-tvgo-a11mce.h b/include/media/keycodes/genius-tvgo-a11mce.h new file mode 100644 index 000000000000..b0aad3b489b0 --- /dev/null +++ b/include/media/keycodes/genius-tvgo-a11mce.h | |||
@@ -0,0 +1,60 @@ | |||
1 | /* genius-tvgo-a11mce.h - Keytable for genius_tvgo_a11mce Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* | ||
12 | * Remote control for the Genius TVGO A11MCE | ||
13 | * Adrian Pardini <pardo.bsso@gmail.com> | ||
14 | */ | ||
15 | |||
16 | #ifdef IR_KEYMAPS | ||
17 | static struct ir_scancode genius_tvgo_a11mce[] = { | ||
18 | /* Keys 0 to 9 */ | ||
19 | { 0x48, KEY_0 }, | ||
20 | { 0x09, KEY_1 }, | ||
21 | { 0x1d, KEY_2 }, | ||
22 | { 0x1f, KEY_3 }, | ||
23 | { 0x19, KEY_4 }, | ||
24 | { 0x1b, KEY_5 }, | ||
25 | { 0x11, KEY_6 }, | ||
26 | { 0x17, KEY_7 }, | ||
27 | { 0x12, KEY_8 }, | ||
28 | { 0x16, KEY_9 }, | ||
29 | |||
30 | { 0x54, KEY_RECORD }, /* recording */ | ||
31 | { 0x06, KEY_MUTE }, /* mute */ | ||
32 | { 0x10, KEY_POWER }, | ||
33 | { 0x40, KEY_LAST }, /* recall */ | ||
34 | { 0x4c, KEY_CHANNELUP }, /* channel / program + */ | ||
35 | { 0x00, KEY_CHANNELDOWN }, /* channel / program - */ | ||
36 | { 0x0d, KEY_VOLUMEUP }, | ||
37 | { 0x15, KEY_VOLUMEDOWN }, | ||
38 | { 0x4d, KEY_OK }, /* also labeled as Pause */ | ||
39 | { 0x1c, KEY_ZOOM }, /* full screen and Stop*/ | ||
40 | { 0x02, KEY_MODE }, /* AV Source or Rewind*/ | ||
41 | { 0x04, KEY_LIST }, /* -/-- */ | ||
42 | /* small arrows above numbers */ | ||
43 | { 0x1a, KEY_NEXT }, /* also Fast Forward */ | ||
44 | { 0x0e, KEY_PREVIOUS }, /* also Rewind */ | ||
45 | /* these are in a rather non standard layout and have | ||
46 | an alternate name written */ | ||
47 | { 0x1e, KEY_UP }, /* Video Setting */ | ||
48 | { 0x0a, KEY_DOWN }, /* Video Default */ | ||
49 | { 0x05, KEY_CAMERA }, /* Snapshot */ | ||
50 | { 0x0c, KEY_RIGHT }, /* Hide Panel */ | ||
51 | /* Four buttons without label */ | ||
52 | { 0x49, KEY_RED }, | ||
53 | { 0x0b, KEY_GREEN }, | ||
54 | { 0x13, KEY_YELLOW }, | ||
55 | { 0x50, KEY_BLUE }, | ||
56 | }; | ||
57 | DEFINE_LEGACY_IR_KEYTABLE(genius_tvgo_a11mce); | ||
58 | #else | ||
59 | DECLARE_IR_KEYTABLE(genius_tvgo_a11mce); | ||
60 | #endif | ||
diff --git a/include/media/keycodes/gotview7135.h b/include/media/keycodes/gotview7135.h new file mode 100644 index 000000000000..1d108e85a342 --- /dev/null +++ b/include/media/keycodes/gotview7135.h | |||
@@ -0,0 +1,55 @@ | |||
1 | /* gotview7135.h - Keytable for gotview7135 Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* Mike Baikov <mike@baikov.com> */ | ||
12 | |||
13 | #ifdef IR_KEYMAPS | ||
14 | static struct ir_scancode gotview7135[] = { | ||
15 | |||
16 | { 0x11, KEY_POWER }, | ||
17 | { 0x35, KEY_TV }, | ||
18 | { 0x1b, KEY_0 }, | ||
19 | { 0x29, KEY_1 }, | ||
20 | { 0x19, KEY_2 }, | ||
21 | { 0x39, KEY_3 }, | ||
22 | { 0x1f, KEY_4 }, | ||
23 | { 0x2c, KEY_5 }, | ||
24 | { 0x21, KEY_6 }, | ||
25 | { 0x24, KEY_7 }, | ||
26 | { 0x18, KEY_8 }, | ||
27 | { 0x2b, KEY_9 }, | ||
28 | { 0x3b, KEY_AGAIN }, /* LOOP */ | ||
29 | { 0x06, KEY_AUDIO }, | ||
30 | { 0x31, KEY_PRINT }, /* PREVIEW */ | ||
31 | { 0x3e, KEY_VIDEO }, | ||
32 | { 0x10, KEY_CHANNELUP }, | ||
33 | { 0x20, KEY_CHANNELDOWN }, | ||
34 | { 0x0c, KEY_VOLUMEDOWN }, | ||
35 | { 0x28, KEY_VOLUMEUP }, | ||
36 | { 0x08, KEY_MUTE }, | ||
37 | { 0x26, KEY_SEARCH }, /* SCAN */ | ||
38 | { 0x3f, KEY_CAMERA }, /* SNAPSHOT */ | ||
39 | { 0x12, KEY_RECORD }, | ||
40 | { 0x32, KEY_STOP }, | ||
41 | { 0x3c, KEY_PLAY }, | ||
42 | { 0x1d, KEY_REWIND }, | ||
43 | { 0x2d, KEY_PAUSE }, | ||
44 | { 0x0d, KEY_FORWARD }, | ||
45 | { 0x05, KEY_ZOOM }, /*FULL*/ | ||
46 | |||
47 | { 0x2a, KEY_F21 }, /* LIVE TIMESHIFT */ | ||
48 | { 0x0e, KEY_F22 }, /* MIN TIMESHIFT */ | ||
49 | { 0x1e, KEY_TIME }, /* TIMESHIFT */ | ||
50 | { 0x38, KEY_F24 }, /* NORMAL TIMESHIFT */ | ||
51 | }; | ||
52 | DEFINE_LEGACY_IR_KEYTABLE(gotview7135); | ||
53 | #else | ||
54 | DECLARE_IR_KEYTABLE(gotview7135); | ||
55 | #endif | ||
diff --git a/include/media/keycodes/hauppauge-new.h b/include/media/keycodes/hauppauge-new.h new file mode 100644 index 000000000000..f06702d0ebd2 --- /dev/null +++ b/include/media/keycodes/hauppauge-new.h | |||
@@ -0,0 +1,76 @@ | |||
1 | /* hauppauge-new.h - Keytable for hauppauge_new Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* Hauppauge: the newer, gray remotes (seems there are multiple | ||
12 | * slightly different versions), shipped with cx88+ivtv cards. | ||
13 | * almost rc5 coding, but some non-standard keys */ | ||
14 | |||
15 | #ifdef IR_KEYMAPS | ||
16 | static struct ir_scancode hauppauge_new[] = { | ||
17 | /* Keys 0 to 9 */ | ||
18 | { 0x00, KEY_0 }, | ||
19 | { 0x01, KEY_1 }, | ||
20 | { 0x02, KEY_2 }, | ||
21 | { 0x03, KEY_3 }, | ||
22 | { 0x04, KEY_4 }, | ||
23 | { 0x05, KEY_5 }, | ||
24 | { 0x06, KEY_6 }, | ||
25 | { 0x07, KEY_7 }, | ||
26 | { 0x08, KEY_8 }, | ||
27 | { 0x09, KEY_9 }, | ||
28 | |||
29 | { 0x0a, KEY_TEXT }, /* keypad asterisk as well */ | ||
30 | { 0x0b, KEY_RED }, /* red button */ | ||
31 | { 0x0c, KEY_RADIO }, | ||
32 | { 0x0d, KEY_MENU }, | ||
33 | { 0x0e, KEY_SUBTITLE }, /* also the # key */ | ||
34 | { 0x0f, KEY_MUTE }, | ||
35 | { 0x10, KEY_VOLUMEUP }, | ||
36 | { 0x11, KEY_VOLUMEDOWN }, | ||
37 | { 0x12, KEY_PREVIOUS }, /* previous channel */ | ||
38 | { 0x14, KEY_UP }, | ||
39 | { 0x15, KEY_DOWN }, | ||
40 | { 0x16, KEY_LEFT }, | ||
41 | { 0x17, KEY_RIGHT }, | ||
42 | { 0x18, KEY_VIDEO }, /* Videos */ | ||
43 | { 0x19, KEY_AUDIO }, /* Music */ | ||
44 | /* 0x1a: Pictures - presume this means | ||
45 | "Multimedia Home Platform" - | ||
46 | no "PICTURES" key in input.h | ||
47 | */ | ||
48 | { 0x1a, KEY_MHP }, | ||
49 | |||
50 | { 0x1b, KEY_EPG }, /* Guide */ | ||
51 | { 0x1c, KEY_TV }, | ||
52 | { 0x1e, KEY_NEXTSONG }, /* skip >| */ | ||
53 | { 0x1f, KEY_EXIT }, /* back/exit */ | ||
54 | { 0x20, KEY_CHANNELUP }, /* channel / program + */ | ||
55 | { 0x21, KEY_CHANNELDOWN }, /* channel / program - */ | ||
56 | { 0x22, KEY_CHANNEL }, /* source (old black remote) */ | ||
57 | { 0x24, KEY_PREVIOUSSONG }, /* replay |< */ | ||
58 | { 0x25, KEY_ENTER }, /* OK */ | ||
59 | { 0x26, KEY_SLEEP }, /* minimize (old black remote) */ | ||
60 | { 0x29, KEY_BLUE }, /* blue key */ | ||
61 | { 0x2e, KEY_GREEN }, /* green button */ | ||
62 | { 0x30, KEY_PAUSE }, /* pause */ | ||
63 | { 0x32, KEY_REWIND }, /* backward << */ | ||
64 | { 0x34, KEY_FASTFORWARD }, /* forward >> */ | ||
65 | { 0x35, KEY_PLAY }, | ||
66 | { 0x36, KEY_STOP }, | ||
67 | { 0x37, KEY_RECORD }, /* recording */ | ||
68 | { 0x38, KEY_YELLOW }, /* yellow key */ | ||
69 | { 0x3b, KEY_SELECT }, /* top right button */ | ||
70 | { 0x3c, KEY_ZOOM }, /* full */ | ||
71 | { 0x3d, KEY_POWER }, /* system power (green button) */ | ||
72 | }; | ||
73 | DEFINE_LEGACY_IR_KEYTABLE(hauppauge_new); | ||
74 | #else | ||
75 | DECLARE_IR_KEYTABLE(hauppauge_new); | ||
76 | #endif | ||
diff --git a/include/media/keycodes/iodata-bctv7e.h b/include/media/keycodes/iodata-bctv7e.h new file mode 100644 index 000000000000..6dea92a8f3a7 --- /dev/null +++ b/include/media/keycodes/iodata-bctv7e.h | |||
@@ -0,0 +1,64 @@ | |||
1 | /* iodata-bctv7e.h - Keytable for iodata_bctv7e Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* IO-DATA BCTV7E Remote */ | ||
12 | |||
13 | #ifdef IR_KEYMAPS | ||
14 | static struct ir_scancode iodata_bctv7e[] = { | ||
15 | { 0x40, KEY_TV }, | ||
16 | { 0x20, KEY_RADIO }, /* FM */ | ||
17 | { 0x60, KEY_EPG }, | ||
18 | { 0x00, KEY_POWER }, | ||
19 | |||
20 | /* Keys 0 to 9 */ | ||
21 | { 0x44, KEY_0 }, /* 10 */ | ||
22 | { 0x50, KEY_1 }, | ||
23 | { 0x30, KEY_2 }, | ||
24 | { 0x70, KEY_3 }, | ||
25 | { 0x48, KEY_4 }, | ||
26 | { 0x28, KEY_5 }, | ||
27 | { 0x68, KEY_6 }, | ||
28 | { 0x58, KEY_7 }, | ||
29 | { 0x38, KEY_8 }, | ||
30 | { 0x78, KEY_9 }, | ||
31 | |||
32 | { 0x10, KEY_L }, /* Live */ | ||
33 | { 0x08, KEY_TIME }, /* Time Shift */ | ||
34 | |||
35 | { 0x18, KEY_PLAYPAUSE }, /* Play */ | ||
36 | |||
37 | { 0x24, KEY_ENTER }, /* 11 */ | ||
38 | { 0x64, KEY_ESC }, /* 12 */ | ||
39 | { 0x04, KEY_M }, /* Multi */ | ||
40 | |||
41 | { 0x54, KEY_VIDEO }, | ||
42 | { 0x34, KEY_CHANNELUP }, | ||
43 | { 0x74, KEY_VOLUMEUP }, | ||
44 | { 0x14, KEY_MUTE }, | ||
45 | |||
46 | { 0x4c, KEY_VCR }, /* SVIDEO */ | ||
47 | { 0x2c, KEY_CHANNELDOWN }, | ||
48 | { 0x6c, KEY_VOLUMEDOWN }, | ||
49 | { 0x0c, KEY_ZOOM }, | ||
50 | |||
51 | { 0x5c, KEY_PAUSE }, | ||
52 | { 0x3c, KEY_RED }, /* || (red) */ | ||
53 | { 0x7c, KEY_RECORD }, /* recording */ | ||
54 | { 0x1c, KEY_STOP }, | ||
55 | |||
56 | { 0x41, KEY_REWIND }, /* backward << */ | ||
57 | { 0x21, KEY_PLAY }, | ||
58 | { 0x61, KEY_FASTFORWARD }, /* forward >> */ | ||
59 | { 0x01, KEY_NEXT }, /* skip >| */ | ||
60 | }; | ||
61 | DEFINE_LEGACY_IR_KEYTABLE(iodata_bctv7e); | ||
62 | #else | ||
63 | DECLARE_IR_KEYTABLE(iodata_bctv7e); | ||
64 | #endif | ||
diff --git a/include/media/keycodes/kaiomy.h b/include/media/keycodes/kaiomy.h new file mode 100644 index 000000000000..2d6dbbc073a8 --- /dev/null +++ b/include/media/keycodes/kaiomy.h | |||
@@ -0,0 +1,63 @@ | |||
1 | /* kaiomy.h - Keytable for kaiomy Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* Kaiomy TVnPC U2 | ||
12 | Mauro Carvalho Chehab <mchehab@infradead.org> | ||
13 | */ | ||
14 | |||
15 | #ifdef IR_KEYMAPS | ||
16 | static struct ir_scancode kaiomy[] = { | ||
17 | { 0x43, KEY_POWER2}, | ||
18 | { 0x01, KEY_LIST}, | ||
19 | { 0x0b, KEY_ZOOM}, | ||
20 | { 0x03, KEY_POWER}, | ||
21 | |||
22 | { 0x04, KEY_1}, | ||
23 | { 0x08, KEY_2}, | ||
24 | { 0x02, KEY_3}, | ||
25 | |||
26 | { 0x0f, KEY_4}, | ||
27 | { 0x05, KEY_5}, | ||
28 | { 0x06, KEY_6}, | ||
29 | |||
30 | { 0x0c, KEY_7}, | ||
31 | { 0x0d, KEY_8}, | ||
32 | { 0x0a, KEY_9}, | ||
33 | |||
34 | { 0x11, KEY_0}, | ||
35 | |||
36 | { 0x09, KEY_CHANNELUP}, | ||
37 | { 0x07, KEY_CHANNELDOWN}, | ||
38 | |||
39 | { 0x0e, KEY_VOLUMEUP}, | ||
40 | { 0x13, KEY_VOLUMEDOWN}, | ||
41 | |||
42 | { 0x10, KEY_HOME}, | ||
43 | { 0x12, KEY_ENTER}, | ||
44 | |||
45 | { 0x14, KEY_RECORD}, | ||
46 | { 0x15, KEY_STOP}, | ||
47 | { 0x16, KEY_PLAY}, | ||
48 | { 0x17, KEY_MUTE}, | ||
49 | |||
50 | { 0x18, KEY_UP}, | ||
51 | { 0x19, KEY_DOWN}, | ||
52 | { 0x1a, KEY_LEFT}, | ||
53 | { 0x1b, KEY_RIGHT}, | ||
54 | |||
55 | { 0x1c, KEY_RED}, | ||
56 | { 0x1d, KEY_GREEN}, | ||
57 | { 0x1e, KEY_YELLOW}, | ||
58 | { 0x1f, KEY_BLUE}, | ||
59 | }; | ||
60 | DEFINE_LEGACY_IR_KEYTABLE(kaiomy); | ||
61 | #else | ||
62 | DECLARE_IR_KEYTABLE(kaiomy); | ||
63 | #endif | ||
diff --git a/include/media/keycodes/kworld-315u.h b/include/media/keycodes/kworld-315u.h new file mode 100644 index 000000000000..44e29b61cb6f --- /dev/null +++ b/include/media/keycodes/kworld-315u.h | |||
@@ -0,0 +1,59 @@ | |||
1 | /* kworld-315u.h - Keytable for kworld_315u Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* Kworld 315U | ||
12 | */ | ||
13 | |||
14 | #ifdef IR_KEYMAPS | ||
15 | static struct ir_scancode kworld_315u[] = { | ||
16 | { 0x6143, KEY_POWER }, | ||
17 | { 0x6101, KEY_TUNER }, /* source */ | ||
18 | { 0x610b, KEY_ZOOM }, | ||
19 | { 0x6103, KEY_POWER2 }, /* shutdown */ | ||
20 | |||
21 | { 0x6104, KEY_1 }, | ||
22 | { 0x6108, KEY_2 }, | ||
23 | { 0x6102, KEY_3 }, | ||
24 | { 0x6109, KEY_CHANNELUP }, | ||
25 | |||
26 | { 0x610f, KEY_4 }, | ||
27 | { 0x6105, KEY_5 }, | ||
28 | { 0x6106, KEY_6 }, | ||
29 | { 0x6107, KEY_CHANNELDOWN }, | ||
30 | |||
31 | { 0x610c, KEY_7 }, | ||
32 | { 0x610d, KEY_8 }, | ||
33 | { 0x610a, KEY_9 }, | ||
34 | { 0x610e, KEY_VOLUMEUP }, | ||
35 | |||
36 | { 0x6110, KEY_LAST }, | ||
37 | { 0x6111, KEY_0 }, | ||
38 | { 0x6112, KEY_ENTER }, | ||
39 | { 0x6113, KEY_VOLUMEDOWN }, | ||
40 | |||
41 | { 0x6114, KEY_RECORD }, | ||
42 | { 0x6115, KEY_STOP }, | ||
43 | { 0x6116, KEY_PLAY }, | ||
44 | { 0x6117, KEY_MUTE }, | ||
45 | |||
46 | { 0x6118, KEY_UP }, | ||
47 | { 0x6119, KEY_DOWN }, | ||
48 | { 0x611a, KEY_LEFT }, | ||
49 | { 0x611b, KEY_RIGHT }, | ||
50 | |||
51 | { 0x611c, KEY_RED }, | ||
52 | { 0x611d, KEY_GREEN }, | ||
53 | { 0x611e, KEY_YELLOW }, | ||
54 | { 0x611f, KEY_BLUE }, | ||
55 | }; | ||
56 | DEFINE_IR_KEYTABLE(kworld_315u, IR_TYPE_NEC); | ||
57 | #else | ||
58 | DECLARE_IR_KEYTABLE(kworld_315u); | ||
59 | #endif | ||
diff --git a/include/media/keycodes/kworld-plus-tv-analog.h b/include/media/keycodes/kworld-plus-tv-analog.h new file mode 100644 index 000000000000..2b4ae0b75e52 --- /dev/null +++ b/include/media/keycodes/kworld-plus-tv-analog.h | |||
@@ -0,0 +1,75 @@ | |||
1 | /* kworld-plus-tv-analog.h - Keytable for kworld_plus_tv_analog Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* Kworld Plus TV Analog Lite PCI IR | ||
12 | Mauro Carvalho Chehab <mchehab@infradead.org> | ||
13 | */ | ||
14 | |||
15 | #ifdef IR_KEYMAPS | ||
16 | static struct ir_scancode kworld_plus_tv_analog[] = { | ||
17 | { 0x0c, KEY_PROG1 }, /* Kworld key */ | ||
18 | { 0x16, KEY_CLOSECD }, /* -> ) */ | ||
19 | { 0x1d, KEY_POWER2 }, | ||
20 | |||
21 | { 0x00, KEY_1 }, | ||
22 | { 0x01, KEY_2 }, | ||
23 | { 0x02, KEY_3 }, /* Two keys have the same code: 3 and left */ | ||
24 | { 0x03, KEY_4 }, /* Two keys have the same code: 3 and right */ | ||
25 | { 0x04, KEY_5 }, | ||
26 | { 0x05, KEY_6 }, | ||
27 | { 0x06, KEY_7 }, | ||
28 | { 0x07, KEY_8 }, | ||
29 | { 0x08, KEY_9 }, | ||
30 | { 0x0a, KEY_0 }, | ||
31 | |||
32 | { 0x09, KEY_AGAIN }, | ||
33 | { 0x14, KEY_MUTE }, | ||
34 | |||
35 | { 0x20, KEY_UP }, | ||
36 | { 0x21, KEY_DOWN }, | ||
37 | { 0x0b, KEY_ENTER }, | ||
38 | |||
39 | { 0x10, KEY_CHANNELUP }, | ||
40 | { 0x11, KEY_CHANNELDOWN }, | ||
41 | |||
42 | /* Couldn't map key left/key right since those | ||
43 | conflict with '3' and '4' scancodes | ||
44 | I dunno what the original driver does | ||
45 | */ | ||
46 | |||
47 | { 0x13, KEY_VOLUMEUP }, | ||
48 | { 0x12, KEY_VOLUMEDOWN }, | ||
49 | |||
50 | /* The lower part of the IR | ||
51 | There are several duplicated keycodes there. | ||
52 | Most of them conflict with digits. | ||
53 | Add mappings just to the unused scancodes. | ||
54 | Somehow, the original driver has a way to know, | ||
55 | but this doesn't seem to be on some GPIO. | ||
56 | Also, it is not related to the time between keyup | ||
57 | and keydown. | ||
58 | */ | ||
59 | { 0x19, KEY_TIME}, /* Timeshift */ | ||
60 | { 0x1a, KEY_STOP}, | ||
61 | { 0x1b, KEY_RECORD}, | ||
62 | |||
63 | { 0x22, KEY_TEXT}, | ||
64 | |||
65 | { 0x15, KEY_AUDIO}, /* ((*)) */ | ||
66 | { 0x0f, KEY_ZOOM}, | ||
67 | { 0x1c, KEY_CAMERA}, /* snapshot */ | ||
68 | |||
69 | { 0x18, KEY_RED}, /* B */ | ||
70 | { 0x23, KEY_GREEN}, /* C */ | ||
71 | }; | ||
72 | DEFINE_LEGACY_IR_KEYTABLE(kworld_plus_tv_analog); | ||
73 | #else | ||
74 | DECLARE_IR_KEYTABLE(kworld_plus_tv_analog); | ||
75 | #endif | ||
diff --git a/include/media/keycodes/manli.h b/include/media/keycodes/manli.h new file mode 100644 index 000000000000..9f8e752505c8 --- /dev/null +++ b/include/media/keycodes/manli.h | |||
@@ -0,0 +1,111 @@ | |||
1 | /* manli.h - Keytable for manli Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* Michael Tokarev <mjt@tls.msk.ru> | ||
12 | http://www.corpit.ru/mjt/beholdTV/remote_control.jpg | ||
13 | keytable is used by MANLI MTV00[0x0c] and BeholdTV 40[13] at | ||
14 | least, and probably other cards too. | ||
15 | The "ascii-art picture" below (in comments, first row | ||
16 | is the keycode in hex, and subsequent row(s) shows | ||
17 | the button labels (several variants when appropriate) | ||
18 | helps to descide which keycodes to assign to the buttons. | ||
19 | */ | ||
20 | |||
21 | #ifdef IR_KEYMAPS | ||
22 | static struct ir_scancode manli[] = { | ||
23 | |||
24 | /* 0x1c 0x12 * | ||
25 | * FUNCTION POWER * | ||
26 | * FM (|) * | ||
27 | * */ | ||
28 | { 0x1c, KEY_RADIO }, /*XXX*/ | ||
29 | { 0x12, KEY_POWER }, | ||
30 | |||
31 | /* 0x01 0x02 0x03 * | ||
32 | * 1 2 3 * | ||
33 | * * | ||
34 | * 0x04 0x05 0x06 * | ||
35 | * 4 5 6 * | ||
36 | * * | ||
37 | * 0x07 0x08 0x09 * | ||
38 | * 7 8 9 * | ||
39 | * */ | ||
40 | { 0x01, KEY_1 }, | ||
41 | { 0x02, KEY_2 }, | ||
42 | { 0x03, KEY_3 }, | ||
43 | { 0x04, KEY_4 }, | ||
44 | { 0x05, KEY_5 }, | ||
45 | { 0x06, KEY_6 }, | ||
46 | { 0x07, KEY_7 }, | ||
47 | { 0x08, KEY_8 }, | ||
48 | { 0x09, KEY_9 }, | ||
49 | |||
50 | /* 0x0a 0x00 0x17 * | ||
51 | * RECALL 0 +100 * | ||
52 | * PLUS * | ||
53 | * */ | ||
54 | { 0x0a, KEY_AGAIN }, /*XXX KEY_REWIND? */ | ||
55 | { 0x00, KEY_0 }, | ||
56 | { 0x17, KEY_DIGITS }, /*XXX*/ | ||
57 | |||
58 | /* 0x14 0x10 * | ||
59 | * MENU INFO * | ||
60 | * OSD */ | ||
61 | { 0x14, KEY_MENU }, | ||
62 | { 0x10, KEY_INFO }, | ||
63 | |||
64 | /* 0x0b * | ||
65 | * Up * | ||
66 | * * | ||
67 | * 0x18 0x16 0x0c * | ||
68 | * Left Ok Right * | ||
69 | * * | ||
70 | * 0x015 * | ||
71 | * Down * | ||
72 | * */ | ||
73 | { 0x0b, KEY_UP }, | ||
74 | { 0x18, KEY_LEFT }, | ||
75 | { 0x16, KEY_OK }, /*XXX KEY_SELECT? KEY_ENTER? */ | ||
76 | { 0x0c, KEY_RIGHT }, | ||
77 | { 0x15, KEY_DOWN }, | ||
78 | |||
79 | /* 0x11 0x0d * | ||
80 | * TV/AV MODE * | ||
81 | * SOURCE STEREO * | ||
82 | * */ | ||
83 | { 0x11, KEY_TV }, /*XXX*/ | ||
84 | { 0x0d, KEY_MODE }, /*XXX there's no KEY_STEREO */ | ||
85 | |||
86 | /* 0x0f 0x1b 0x1a * | ||
87 | * AUDIO Vol+ Chan+ * | ||
88 | * TIMESHIFT??? * | ||
89 | * * | ||
90 | * 0x0e 0x1f 0x1e * | ||
91 | * SLEEP Vol- Chan- * | ||
92 | * */ | ||
93 | { 0x0f, KEY_AUDIO }, | ||
94 | { 0x1b, KEY_VOLUMEUP }, | ||
95 | { 0x1a, KEY_CHANNELUP }, | ||
96 | { 0x0e, KEY_TIME }, | ||
97 | { 0x1f, KEY_VOLUMEDOWN }, | ||
98 | { 0x1e, KEY_CHANNELDOWN }, | ||
99 | |||
100 | /* 0x13 0x19 * | ||
101 | * MUTE SNAPSHOT* | ||
102 | * */ | ||
103 | { 0x13, KEY_MUTE }, | ||
104 | { 0x19, KEY_CAMERA }, | ||
105 | |||
106 | /* 0x1d unused ? */ | ||
107 | }; | ||
108 | DEFINE_LEGACY_IR_KEYTABLE(manli); | ||
109 | #else | ||
110 | DECLARE_IR_KEYTABLE(manli); | ||
111 | #endif | ||
diff --git a/include/media/keycodes/msi-tvanywhere-plus.h b/include/media/keycodes/msi-tvanywhere-plus.h new file mode 100644 index 000000000000..c5e51ad55976 --- /dev/null +++ b/include/media/keycodes/msi-tvanywhere-plus.h | |||
@@ -0,0 +1,100 @@ | |||
1 | /* msi-tvanywhere-plus.h - Keytable for msi_tvanywhere_plus Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* | ||
12 | Keycodes for remote on the MSI TV@nywhere Plus. The controller IC on the card | ||
13 | is marked "KS003". The controller is I2C at address 0x30, but does not seem | ||
14 | to respond to probes until a read is performed from a valid device. | ||
15 | I don't know why... | ||
16 | |||
17 | Note: This remote may be of similar or identical design to the | ||
18 | Pixelview remote (?). The raw codes and duplicate button codes | ||
19 | appear to be the same. | ||
20 | |||
21 | Henry Wong <henry@stuffedcow.net> | ||
22 | Some changes to formatting and keycodes by Mark Schultz <n9xmj@yahoo.com> | ||
23 | |||
24 | */ | ||
25 | |||
26 | #ifdef IR_KEYMAPS | ||
27 | static struct ir_scancode msi_tvanywhere_plus[] = { | ||
28 | |||
29 | /* ---- Remote Button Layout ---- | ||
30 | |||
31 | POWER SOURCE SCAN MUTE | ||
32 | TV/FM 1 2 3 | ||
33 | |> 4 5 6 | ||
34 | <| 7 8 9 | ||
35 | ^^UP 0 + RECALL | ||
36 | vvDN RECORD STOP PLAY | ||
37 | |||
38 | MINIMIZE ZOOM | ||
39 | |||
40 | CH+ | ||
41 | VOL- VOL+ | ||
42 | CH- | ||
43 | |||
44 | SNAPSHOT MTS | ||
45 | |||
46 | << FUNC >> RESET | ||
47 | */ | ||
48 | |||
49 | { 0x01, KEY_1 }, /* 1 */ | ||
50 | { 0x0b, KEY_2 }, /* 2 */ | ||
51 | { 0x1b, KEY_3 }, /* 3 */ | ||
52 | { 0x05, KEY_4 }, /* 4 */ | ||
53 | { 0x09, KEY_5 }, /* 5 */ | ||
54 | { 0x15, KEY_6 }, /* 6 */ | ||
55 | { 0x06, KEY_7 }, /* 7 */ | ||
56 | { 0x0a, KEY_8 }, /* 8 */ | ||
57 | { 0x12, KEY_9 }, /* 9 */ | ||
58 | { 0x02, KEY_0 }, /* 0 */ | ||
59 | { 0x10, KEY_KPPLUS }, /* + */ | ||
60 | { 0x13, KEY_AGAIN }, /* Recall */ | ||
61 | |||
62 | { 0x1e, KEY_POWER }, /* Power */ | ||
63 | { 0x07, KEY_TUNER }, /* Source */ | ||
64 | { 0x1c, KEY_SEARCH }, /* Scan */ | ||
65 | { 0x18, KEY_MUTE }, /* Mute */ | ||
66 | |||
67 | { 0x03, KEY_RADIO }, /* TV/FM */ | ||
68 | /* The next four keys are duplicates that appear to send the | ||
69 | same IR code as Ch+, Ch-, >>, and << . The raw code assigned | ||
70 | to them is the actual code + 0x20 - they will never be | ||
71 | detected as such unless some way is discovered to distinguish | ||
72 | these buttons from those that have the same code. */ | ||
73 | { 0x3f, KEY_RIGHT }, /* |> and Ch+ */ | ||
74 | { 0x37, KEY_LEFT }, /* <| and Ch- */ | ||
75 | { 0x2c, KEY_UP }, /* ^^Up and >> */ | ||
76 | { 0x24, KEY_DOWN }, /* vvDn and << */ | ||
77 | |||
78 | { 0x00, KEY_RECORD }, /* Record */ | ||
79 | { 0x08, KEY_STOP }, /* Stop */ | ||
80 | { 0x11, KEY_PLAY }, /* Play */ | ||
81 | |||
82 | { 0x0f, KEY_CLOSE }, /* Minimize */ | ||
83 | { 0x19, KEY_ZOOM }, /* Zoom */ | ||
84 | { 0x1a, KEY_CAMERA }, /* Snapshot */ | ||
85 | { 0x0d, KEY_LANGUAGE }, /* MTS */ | ||
86 | |||
87 | { 0x14, KEY_VOLUMEDOWN }, /* Vol- */ | ||
88 | { 0x16, KEY_VOLUMEUP }, /* Vol+ */ | ||
89 | { 0x17, KEY_CHANNELDOWN }, /* Ch- */ | ||
90 | { 0x1f, KEY_CHANNELUP }, /* Ch+ */ | ||
91 | |||
92 | { 0x04, KEY_REWIND }, /* << */ | ||
93 | { 0x0e, KEY_MENU }, /* Function */ | ||
94 | { 0x0c, KEY_FASTFORWARD }, /* >> */ | ||
95 | { 0x1d, KEY_RESTART }, /* Reset */ | ||
96 | }; | ||
97 | DEFINE_LEGACY_IR_KEYTABLE(msi_tvanywhere_plus); | ||
98 | #else | ||
99 | DECLARE_IR_KEYTABLE(msi_tvanywhere_plus); | ||
100 | #endif | ||
diff --git a/include/media/keycodes/msi-tvanywhere.h b/include/media/keycodes/msi-tvanywhere.h new file mode 100644 index 000000000000..2f4cfe100ab2 --- /dev/null +++ b/include/media/keycodes/msi-tvanywhere.h | |||
@@ -0,0 +1,44 @@ | |||
1 | /* msi-tvanywhere.h - Keytable for msi_tvanywhere Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | |||
12 | #ifdef IR_KEYMAPS | ||
13 | static struct ir_scancode msi_tvanywhere[] = { | ||
14 | /* Keys 0 to 9 */ | ||
15 | { 0x00, KEY_0 }, | ||
16 | { 0x01, KEY_1 }, | ||
17 | { 0x02, KEY_2 }, | ||
18 | { 0x03, KEY_3 }, | ||
19 | { 0x04, KEY_4 }, | ||
20 | { 0x05, KEY_5 }, | ||
21 | { 0x06, KEY_6 }, | ||
22 | { 0x07, KEY_7 }, | ||
23 | { 0x08, KEY_8 }, | ||
24 | { 0x09, KEY_9 }, | ||
25 | |||
26 | { 0x0c, KEY_MUTE }, | ||
27 | { 0x0f, KEY_SCREEN }, /* Full Screen */ | ||
28 | { 0x10, KEY_FN }, /* Funtion */ | ||
29 | { 0x11, KEY_TIME }, /* Time shift */ | ||
30 | { 0x12, KEY_POWER }, | ||
31 | { 0x13, KEY_MEDIA }, /* MTS */ | ||
32 | { 0x14, KEY_SLOW }, | ||
33 | { 0x16, KEY_REWIND }, /* backward << */ | ||
34 | { 0x17, KEY_ENTER }, /* Return */ | ||
35 | { 0x18, KEY_FASTFORWARD }, /* forward >> */ | ||
36 | { 0x1a, KEY_CHANNELUP }, | ||
37 | { 0x1b, KEY_VOLUMEUP }, | ||
38 | { 0x1e, KEY_CHANNELDOWN }, | ||
39 | { 0x1f, KEY_VOLUMEDOWN }, | ||
40 | }; | ||
41 | DEFINE_LEGACY_IR_KEYTABLE(msi_tvanywhere); | ||
42 | #else | ||
43 | DECLARE_IR_KEYTABLE(msi_tvanywhere); | ||
44 | #endif | ||
diff --git a/include/media/keycodes/nebula.h b/include/media/keycodes/nebula.h new file mode 100644 index 000000000000..4e2eb1f13685 --- /dev/null +++ b/include/media/keycodes/nebula.h | |||
@@ -0,0 +1,73 @@ | |||
1 | /* nebula.h - Keytable for nebula Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | |||
12 | #ifdef IR_KEYMAPS | ||
13 | static struct ir_scancode nebula[] = { | ||
14 | { 0x00, KEY_0 }, | ||
15 | { 0x01, KEY_1 }, | ||
16 | { 0x02, KEY_2 }, | ||
17 | { 0x03, KEY_3 }, | ||
18 | { 0x04, KEY_4 }, | ||
19 | { 0x05, KEY_5 }, | ||
20 | { 0x06, KEY_6 }, | ||
21 | { 0x07, KEY_7 }, | ||
22 | { 0x08, KEY_8 }, | ||
23 | { 0x09, KEY_9 }, | ||
24 | { 0x0a, KEY_TV }, | ||
25 | { 0x0b, KEY_AUX }, | ||
26 | { 0x0c, KEY_DVD }, | ||
27 | { 0x0d, KEY_POWER }, | ||
28 | { 0x0e, KEY_MHP }, /* labelled 'Picture' */ | ||
29 | { 0x0f, KEY_AUDIO }, | ||
30 | { 0x10, KEY_INFO }, | ||
31 | { 0x11, KEY_F13 }, /* 16:9 */ | ||
32 | { 0x12, KEY_F14 }, /* 14:9 */ | ||
33 | { 0x13, KEY_EPG }, | ||
34 | { 0x14, KEY_EXIT }, | ||
35 | { 0x15, KEY_MENU }, | ||
36 | { 0x16, KEY_UP }, | ||
37 | { 0x17, KEY_DOWN }, | ||
38 | { 0x18, KEY_LEFT }, | ||
39 | { 0x19, KEY_RIGHT }, | ||
40 | { 0x1a, KEY_ENTER }, | ||
41 | { 0x1b, KEY_CHANNELUP }, | ||
42 | { 0x1c, KEY_CHANNELDOWN }, | ||
43 | { 0x1d, KEY_VOLUMEUP }, | ||
44 | { 0x1e, KEY_VOLUMEDOWN }, | ||
45 | { 0x1f, KEY_RED }, | ||
46 | { 0x20, KEY_GREEN }, | ||
47 | { 0x21, KEY_YELLOW }, | ||
48 | { 0x22, KEY_BLUE }, | ||
49 | { 0x23, KEY_SUBTITLE }, | ||
50 | { 0x24, KEY_F15 }, /* AD */ | ||
51 | { 0x25, KEY_TEXT }, | ||
52 | { 0x26, KEY_MUTE }, | ||
53 | { 0x27, KEY_REWIND }, | ||
54 | { 0x28, KEY_STOP }, | ||
55 | { 0x29, KEY_PLAY }, | ||
56 | { 0x2a, KEY_FASTFORWARD }, | ||
57 | { 0x2b, KEY_F16 }, /* chapter */ | ||
58 | { 0x2c, KEY_PAUSE }, | ||
59 | { 0x2d, KEY_PLAY }, | ||
60 | { 0x2e, KEY_RECORD }, | ||
61 | { 0x2f, KEY_F17 }, /* picture in picture */ | ||
62 | { 0x30, KEY_KPPLUS }, /* zoom in */ | ||
63 | { 0x31, KEY_KPMINUS }, /* zoom out */ | ||
64 | { 0x32, KEY_F18 }, /* capture */ | ||
65 | { 0x33, KEY_F19 }, /* web */ | ||
66 | { 0x34, KEY_EMAIL }, | ||
67 | { 0x35, KEY_PHONE }, | ||
68 | { 0x36, KEY_PC }, | ||
69 | }; | ||
70 | DEFINE_LEGACY_IR_KEYTABLE(nebula); | ||
71 | #else | ||
72 | DECLARE_IR_KEYTABLE(nebula); | ||
73 | #endif | ||
diff --git a/include/media/keycodes/nec-terratec-cinergy-xs.h b/include/media/keycodes/nec-terratec-cinergy-xs.h new file mode 100644 index 000000000000..39ede1ebc764 --- /dev/null +++ b/include/media/keycodes/nec-terratec-cinergy-xs.h | |||
@@ -0,0 +1,81 @@ | |||
1 | /* nec-terratec-cinergy-xs.h - Keytable for nec_terratec_cinergy_xs Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* Terratec Cinergy Hybrid T USB XS FM | ||
12 | Mauro Carvalho Chehab <mchehab@redhat.com> | ||
13 | */ | ||
14 | |||
15 | #ifdef IR_KEYMAPS | ||
16 | static struct ir_scancode nec_terratec_cinergy_xs[] = { | ||
17 | { 0x1441, KEY_HOME}, | ||
18 | { 0x1401, KEY_POWER2}, | ||
19 | |||
20 | { 0x1442, KEY_MENU}, /* DVD menu */ | ||
21 | { 0x1443, KEY_SUBTITLE}, | ||
22 | { 0x1444, KEY_TEXT}, /* Teletext */ | ||
23 | { 0x1445, KEY_DELETE}, | ||
24 | |||
25 | { 0x1402, KEY_1}, | ||
26 | { 0x1403, KEY_2}, | ||
27 | { 0x1404, KEY_3}, | ||
28 | { 0x1405, KEY_4}, | ||
29 | { 0x1406, KEY_5}, | ||
30 | { 0x1407, KEY_6}, | ||
31 | { 0x1408, KEY_7}, | ||
32 | { 0x1409, KEY_8}, | ||
33 | { 0x140a, KEY_9}, | ||
34 | { 0x140c, KEY_0}, | ||
35 | |||
36 | { 0x140b, KEY_TUNER}, /* AV */ | ||
37 | { 0x140d, KEY_MODE}, /* A.B */ | ||
38 | |||
39 | { 0x1446, KEY_TV}, | ||
40 | { 0x1447, KEY_DVD}, | ||
41 | { 0x1449, KEY_VIDEO}, | ||
42 | { 0x144a, KEY_RADIO}, /* Music */ | ||
43 | { 0x144b, KEY_CAMERA}, /* PIC */ | ||
44 | |||
45 | { 0x1410, KEY_UP}, | ||
46 | { 0x1411, KEY_LEFT}, | ||
47 | { 0x1412, KEY_OK}, | ||
48 | { 0x1413, KEY_RIGHT}, | ||
49 | { 0x1414, KEY_DOWN}, | ||
50 | |||
51 | { 0x140f, KEY_EPG}, | ||
52 | { 0x1416, KEY_INFO}, | ||
53 | { 0x144d, KEY_BACKSPACE}, | ||
54 | |||
55 | { 0x141c, KEY_VOLUMEUP}, | ||
56 | { 0x141e, KEY_VOLUMEDOWN}, | ||
57 | |||
58 | { 0x144c, KEY_PLAY}, | ||
59 | { 0x141d, KEY_MUTE}, | ||
60 | |||
61 | { 0x141b, KEY_CHANNELUP}, | ||
62 | { 0x141f, KEY_CHANNELDOWN}, | ||
63 | |||
64 | { 0x1417, KEY_RED}, | ||
65 | { 0x1418, KEY_GREEN}, | ||
66 | { 0x1419, KEY_YELLOW}, | ||
67 | { 0x141a, KEY_BLUE}, | ||
68 | |||
69 | { 0x1458, KEY_RECORD}, | ||
70 | { 0x1448, KEY_STOP}, | ||
71 | { 0x1440, KEY_PAUSE}, | ||
72 | |||
73 | { 0x1454, KEY_LAST}, | ||
74 | { 0x144e, KEY_REWIND}, | ||
75 | { 0x144f, KEY_FASTFORWARD}, | ||
76 | { 0x145c, KEY_NEXT}, | ||
77 | }; | ||
78 | DEFINE_IR_KEYTABLE(nec_terratec_cinergy_xs, IR_TYPE_NEC); | ||
79 | #else | ||
80 | DECLARE_IR_KEYTABLE(nec_terratec_cinergy_xs); | ||
81 | #endif | ||
diff --git a/include/media/keycodes/norwood.h b/include/media/keycodes/norwood.h new file mode 100644 index 000000000000..7f6cc4c243e6 --- /dev/null +++ b/include/media/keycodes/norwood.h | |||
@@ -0,0 +1,61 @@ | |||
1 | /* norwood.h - Keytable for norwood Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* Norwood Micro (non-Pro) TV Tuner | ||
12 | By Peter Naulls <peter@chocky.org> | ||
13 | Key comments are the functions given in the manual */ | ||
14 | |||
15 | #ifdef IR_KEYMAPS | ||
16 | static struct ir_scancode norwood[] = { | ||
17 | /* Keys 0 to 9 */ | ||
18 | { 0x20, KEY_0 }, | ||
19 | { 0x21, KEY_1 }, | ||
20 | { 0x22, KEY_2 }, | ||
21 | { 0x23, KEY_3 }, | ||
22 | { 0x24, KEY_4 }, | ||
23 | { 0x25, KEY_5 }, | ||
24 | { 0x26, KEY_6 }, | ||
25 | { 0x27, KEY_7 }, | ||
26 | { 0x28, KEY_8 }, | ||
27 | { 0x29, KEY_9 }, | ||
28 | |||
29 | { 0x78, KEY_TUNER }, /* Video Source */ | ||
30 | { 0x2c, KEY_EXIT }, /* Open/Close software */ | ||
31 | { 0x2a, KEY_SELECT }, /* 2 Digit Select */ | ||
32 | { 0x69, KEY_AGAIN }, /* Recall */ | ||
33 | |||
34 | { 0x32, KEY_BRIGHTNESSUP }, /* Brightness increase */ | ||
35 | { 0x33, KEY_BRIGHTNESSDOWN }, /* Brightness decrease */ | ||
36 | { 0x6b, KEY_KPPLUS }, /* (not named >>>>>) */ | ||
37 | { 0x6c, KEY_KPMINUS }, /* (not named <<<<<) */ | ||
38 | |||
39 | { 0x2d, KEY_MUTE }, /* Mute */ | ||
40 | { 0x30, KEY_VOLUMEUP }, /* Volume up */ | ||
41 | { 0x31, KEY_VOLUMEDOWN }, /* Volume down */ | ||
42 | { 0x60, KEY_CHANNELUP }, /* Channel up */ | ||
43 | { 0x61, KEY_CHANNELDOWN }, /* Channel down */ | ||
44 | |||
45 | { 0x3f, KEY_RECORD }, /* Record */ | ||
46 | { 0x37, KEY_PLAY }, /* Play */ | ||
47 | { 0x36, KEY_PAUSE }, /* Pause */ | ||
48 | { 0x2b, KEY_STOP }, /* Stop */ | ||
49 | { 0x67, KEY_FASTFORWARD }, /* Foward */ | ||
50 | { 0x66, KEY_REWIND }, /* Rewind */ | ||
51 | { 0x3e, KEY_SEARCH }, /* Auto Scan */ | ||
52 | { 0x2e, KEY_CAMERA }, /* Capture Video */ | ||
53 | { 0x6d, KEY_MENU }, /* Show/Hide Control */ | ||
54 | { 0x2f, KEY_ZOOM }, /* Full Screen */ | ||
55 | { 0x34, KEY_RADIO }, /* FM */ | ||
56 | { 0x65, KEY_POWER }, /* Computer power */ | ||
57 | }; | ||
58 | DEFINE_LEGACY_IR_KEYTABLE(norwood); | ||
59 | #else | ||
60 | DECLARE_IR_KEYTABLE(norwood); | ||
61 | #endif | ||
diff --git a/include/media/keycodes/npgtech.h b/include/media/keycodes/npgtech.h new file mode 100644 index 000000000000..dd1ba828181b --- /dev/null +++ b/include/media/keycodes/npgtech.h | |||
@@ -0,0 +1,57 @@ | |||
1 | /* npgtech.h - Keytable for npgtech Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | |||
12 | #ifdef IR_KEYMAPS | ||
13 | static struct ir_scancode npgtech[] = { | ||
14 | { 0x1d, KEY_SWITCHVIDEOMODE }, /* switch inputs */ | ||
15 | { 0x2a, KEY_FRONT }, | ||
16 | |||
17 | { 0x3e, KEY_1 }, | ||
18 | { 0x02, KEY_2 }, | ||
19 | { 0x06, KEY_3 }, | ||
20 | { 0x0a, KEY_4 }, | ||
21 | { 0x0e, KEY_5 }, | ||
22 | { 0x12, KEY_6 }, | ||
23 | { 0x16, KEY_7 }, | ||
24 | { 0x1a, KEY_8 }, | ||
25 | { 0x1e, KEY_9 }, | ||
26 | { 0x3a, KEY_0 }, | ||
27 | { 0x22, KEY_NUMLOCK }, /* -/-- */ | ||
28 | { 0x20, KEY_REFRESH }, | ||
29 | |||
30 | { 0x03, KEY_BRIGHTNESSDOWN }, | ||
31 | { 0x28, KEY_AUDIO }, | ||
32 | { 0x3c, KEY_CHANNELUP }, | ||
33 | { 0x3f, KEY_VOLUMEDOWN }, | ||
34 | { 0x2e, KEY_MUTE }, | ||
35 | { 0x3b, KEY_VOLUMEUP }, | ||
36 | { 0x00, KEY_CHANNELDOWN }, | ||
37 | { 0x07, KEY_BRIGHTNESSUP }, | ||
38 | { 0x2c, KEY_TEXT }, | ||
39 | |||
40 | { 0x37, KEY_RECORD }, | ||
41 | { 0x17, KEY_PLAY }, | ||
42 | { 0x13, KEY_PAUSE }, | ||
43 | { 0x26, KEY_STOP }, | ||
44 | { 0x18, KEY_FASTFORWARD }, | ||
45 | { 0x14, KEY_REWIND }, | ||
46 | { 0x33, KEY_ZOOM }, | ||
47 | { 0x32, KEY_KEYBOARD }, | ||
48 | { 0x30, KEY_GOTO }, /* Pointing arrow */ | ||
49 | { 0x36, KEY_MACRO }, /* Maximize/Minimize (yellow) */ | ||
50 | { 0x0b, KEY_RADIO }, | ||
51 | { 0x10, KEY_POWER }, | ||
52 | |||
53 | }; | ||
54 | DEFINE_LEGACY_IR_KEYTABLE(npgtech); | ||
55 | #else | ||
56 | DECLARE_IR_KEYTABLE(npgtech); | ||
57 | #endif | ||
diff --git a/include/media/keycodes/pctv-sedna.h b/include/media/keycodes/pctv-sedna.h new file mode 100644 index 000000000000..b1d511f2f567 --- /dev/null +++ b/include/media/keycodes/pctv-sedna.h | |||
@@ -0,0 +1,56 @@ | |||
1 | /* pctv-sedna.h - Keytable for pctv_sedna Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* Mapping for the 28 key remote control as seen at | ||
12 | http://www.sednacomputer.com/photo/cardbus-tv.jpg | ||
13 | Pavel Mihaylov <bin@bash.info> | ||
14 | Also for the remote bundled with Kozumi KTV-01C card */ | ||
15 | |||
16 | #ifdef IR_KEYMAPS | ||
17 | static struct ir_scancode pctv_sedna[] = { | ||
18 | { 0x00, KEY_0 }, | ||
19 | { 0x01, KEY_1 }, | ||
20 | { 0x02, KEY_2 }, | ||
21 | { 0x03, KEY_3 }, | ||
22 | { 0x04, KEY_4 }, | ||
23 | { 0x05, KEY_5 }, | ||
24 | { 0x06, KEY_6 }, | ||
25 | { 0x07, KEY_7 }, | ||
26 | { 0x08, KEY_8 }, | ||
27 | { 0x09, KEY_9 }, | ||
28 | |||
29 | { 0x0a, KEY_AGAIN }, /* Recall */ | ||
30 | { 0x0b, KEY_CHANNELUP }, | ||
31 | { 0x0c, KEY_VOLUMEUP }, | ||
32 | { 0x0d, KEY_MODE }, /* Stereo */ | ||
33 | { 0x0e, KEY_STOP }, | ||
34 | { 0x0f, KEY_PREVIOUSSONG }, | ||
35 | { 0x10, KEY_ZOOM }, | ||
36 | { 0x11, KEY_TUNER }, /* Source */ | ||
37 | { 0x12, KEY_POWER }, | ||
38 | { 0x13, KEY_MUTE }, | ||
39 | { 0x15, KEY_CHANNELDOWN }, | ||
40 | { 0x18, KEY_VOLUMEDOWN }, | ||
41 | { 0x19, KEY_CAMERA }, /* Snapshot */ | ||
42 | { 0x1a, KEY_NEXTSONG }, | ||
43 | { 0x1b, KEY_TIME }, /* Time Shift */ | ||
44 | { 0x1c, KEY_RADIO }, /* FM Radio */ | ||
45 | { 0x1d, KEY_RECORD }, | ||
46 | { 0x1e, KEY_PAUSE }, | ||
47 | /* additional codes for Kozumi's remote */ | ||
48 | { 0x14, KEY_INFO }, /* OSD */ | ||
49 | { 0x16, KEY_OK }, /* OK */ | ||
50 | { 0x17, KEY_DIGITS }, /* Plus */ | ||
51 | { 0x1f, KEY_PLAY }, /* Play */ | ||
52 | }; | ||
53 | DEFINE_LEGACY_IR_KEYTABLE(pctv_sedna); | ||
54 | #else | ||
55 | DECLARE_IR_KEYTABLE(pctv_sedna); | ||
56 | #endif | ||
diff --git a/include/media/keycodes/pinnacle-color.h b/include/media/keycodes/pinnacle-color.h new file mode 100644 index 000000000000..a08eaeb74062 --- /dev/null +++ b/include/media/keycodes/pinnacle-color.h | |||
@@ -0,0 +1,71 @@ | |||
1 | /* pinnacle-color.h - Keytable for pinnacle_color Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | |||
12 | #ifdef IR_KEYMAPS | ||
13 | static struct ir_scancode pinnacle_color[] = { | ||
14 | { 0x59, KEY_MUTE }, | ||
15 | { 0x4a, KEY_POWER }, | ||
16 | |||
17 | { 0x18, KEY_TEXT }, | ||
18 | { 0x26, KEY_TV }, | ||
19 | { 0x3d, KEY_PRINT }, | ||
20 | |||
21 | { 0x48, KEY_RED }, | ||
22 | { 0x04, KEY_GREEN }, | ||
23 | { 0x11, KEY_YELLOW }, | ||
24 | { 0x00, KEY_BLUE }, | ||
25 | |||
26 | { 0x2d, KEY_VOLUMEUP }, | ||
27 | { 0x1e, KEY_VOLUMEDOWN }, | ||
28 | |||
29 | { 0x49, KEY_MENU }, | ||
30 | |||
31 | { 0x16, KEY_CHANNELUP }, | ||
32 | { 0x17, KEY_CHANNELDOWN }, | ||
33 | |||
34 | { 0x20, KEY_UP }, | ||
35 | { 0x21, KEY_DOWN }, | ||
36 | { 0x22, KEY_LEFT }, | ||
37 | { 0x23, KEY_RIGHT }, | ||
38 | { 0x0d, KEY_SELECT }, | ||
39 | |||
40 | { 0x08, KEY_BACK }, | ||
41 | { 0x07, KEY_REFRESH }, | ||
42 | |||
43 | { 0x2f, KEY_ZOOM }, | ||
44 | { 0x29, KEY_RECORD }, | ||
45 | |||
46 | { 0x4b, KEY_PAUSE }, | ||
47 | { 0x4d, KEY_REWIND }, | ||
48 | { 0x2e, KEY_PLAY }, | ||
49 | { 0x4e, KEY_FORWARD }, | ||
50 | { 0x53, KEY_PREVIOUS }, | ||
51 | { 0x4c, KEY_STOP }, | ||
52 | { 0x54, KEY_NEXT }, | ||
53 | |||
54 | { 0x69, KEY_0 }, | ||
55 | { 0x6a, KEY_1 }, | ||
56 | { 0x6b, KEY_2 }, | ||
57 | { 0x6c, KEY_3 }, | ||
58 | { 0x6d, KEY_4 }, | ||
59 | { 0x6e, KEY_5 }, | ||
60 | { 0x6f, KEY_6 }, | ||
61 | { 0x70, KEY_7 }, | ||
62 | { 0x71, KEY_8 }, | ||
63 | { 0x72, KEY_9 }, | ||
64 | |||
65 | { 0x74, KEY_CHANNEL }, | ||
66 | { 0x0a, KEY_BACKSPACE }, | ||
67 | }; | ||
68 | DEFINE_LEGACY_IR_KEYTABLE(pinnacle_color); | ||
69 | #else | ||
70 | DECLARE_IR_KEYTABLE(pinnacle_color); | ||
71 | #endif | ||
diff --git a/include/media/keycodes/pinnacle-grey.h b/include/media/keycodes/pinnacle-grey.h new file mode 100644 index 000000000000..3fd250483ce4 --- /dev/null +++ b/include/media/keycodes/pinnacle-grey.h | |||
@@ -0,0 +1,66 @@ | |||
1 | /* pinnacle-grey.h - Keytable for pinnacle_grey Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | |||
12 | #ifdef IR_KEYMAPS | ||
13 | static struct ir_scancode pinnacle_grey[] = { | ||
14 | { 0x3a, KEY_0 }, | ||
15 | { 0x31, KEY_1 }, | ||
16 | { 0x32, KEY_2 }, | ||
17 | { 0x33, KEY_3 }, | ||
18 | { 0x34, KEY_4 }, | ||
19 | { 0x35, KEY_5 }, | ||
20 | { 0x36, KEY_6 }, | ||
21 | { 0x37, KEY_7 }, | ||
22 | { 0x38, KEY_8 }, | ||
23 | { 0x39, KEY_9 }, | ||
24 | |||
25 | { 0x2f, KEY_POWER }, | ||
26 | |||
27 | { 0x2e, KEY_P }, | ||
28 | { 0x1f, KEY_L }, | ||
29 | { 0x2b, KEY_I }, | ||
30 | |||
31 | { 0x2d, KEY_SCREEN }, | ||
32 | { 0x1e, KEY_ZOOM }, | ||
33 | { 0x1b, KEY_VOLUMEUP }, | ||
34 | { 0x0f, KEY_VOLUMEDOWN }, | ||
35 | { 0x17, KEY_CHANNELUP }, | ||
36 | { 0x1c, KEY_CHANNELDOWN }, | ||
37 | { 0x25, KEY_INFO }, | ||
38 | |||
39 | { 0x3c, KEY_MUTE }, | ||
40 | |||
41 | { 0x3d, KEY_LEFT }, | ||
42 | { 0x3b, KEY_RIGHT }, | ||
43 | |||
44 | { 0x3f, KEY_UP }, | ||
45 | { 0x3e, KEY_DOWN }, | ||
46 | { 0x1a, KEY_ENTER }, | ||
47 | |||
48 | { 0x1d, KEY_MENU }, | ||
49 | { 0x19, KEY_AGAIN }, | ||
50 | { 0x16, KEY_PREVIOUSSONG }, | ||
51 | { 0x13, KEY_NEXTSONG }, | ||
52 | { 0x15, KEY_PAUSE }, | ||
53 | { 0x0e, KEY_REWIND }, | ||
54 | { 0x0d, KEY_PLAY }, | ||
55 | { 0x0b, KEY_STOP }, | ||
56 | { 0x07, KEY_FORWARD }, | ||
57 | { 0x27, KEY_RECORD }, | ||
58 | { 0x26, KEY_TUNER }, | ||
59 | { 0x29, KEY_TEXT }, | ||
60 | { 0x2a, KEY_MEDIA }, | ||
61 | { 0x18, KEY_EPG }, | ||
62 | }; | ||
63 | DEFINE_LEGACY_IR_KEYTABLE(pinnacle_grey); | ||
64 | #else | ||
65 | DECLARE_IR_KEYTABLE(pinnacle_grey); | ||
66 | #endif | ||
diff --git a/include/media/keycodes/pinnacle-pctv-hd.h b/include/media/keycodes/pinnacle-pctv-hd.h new file mode 100644 index 000000000000..be72d50269dc --- /dev/null +++ b/include/media/keycodes/pinnacle-pctv-hd.h | |||
@@ -0,0 +1,49 @@ | |||
1 | /* pinnacle-pctv-hd.h - Keytable for pinnacle_pctv_hd Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* Pinnacle PCTV HD 800i mini remote */ | ||
12 | |||
13 | #ifdef IR_KEYMAPS | ||
14 | static struct ir_scancode pinnacle_pctv_hd[] = { | ||
15 | |||
16 | { 0x0f, KEY_1 }, | ||
17 | { 0x15, KEY_2 }, | ||
18 | { 0x10, KEY_3 }, | ||
19 | { 0x18, KEY_4 }, | ||
20 | { 0x1b, KEY_5 }, | ||
21 | { 0x1e, KEY_6 }, | ||
22 | { 0x11, KEY_7 }, | ||
23 | { 0x21, KEY_8 }, | ||
24 | { 0x12, KEY_9 }, | ||
25 | { 0x27, KEY_0 }, | ||
26 | |||
27 | { 0x24, KEY_ZOOM }, | ||
28 | { 0x2a, KEY_SUBTITLE }, | ||
29 | |||
30 | { 0x00, KEY_MUTE }, | ||
31 | { 0x01, KEY_ENTER }, /* Pinnacle Logo */ | ||
32 | { 0x39, KEY_POWER }, | ||
33 | |||
34 | { 0x03, KEY_VOLUMEUP }, | ||
35 | { 0x09, KEY_VOLUMEDOWN }, | ||
36 | { 0x06, KEY_CHANNELUP }, | ||
37 | { 0x0c, KEY_CHANNELDOWN }, | ||
38 | |||
39 | { 0x2d, KEY_REWIND }, | ||
40 | { 0x30, KEY_PLAYPAUSE }, | ||
41 | { 0x33, KEY_FASTFORWARD }, | ||
42 | { 0x3c, KEY_STOP }, | ||
43 | { 0x36, KEY_RECORD }, | ||
44 | { 0x3f, KEY_EPG }, /* Labeled "?" */ | ||
45 | }; | ||
46 | DEFINE_LEGACY_IR_KEYTABLE(pinnacle_pctv_hd); | ||
47 | #else | ||
48 | DECLARE_IR_KEYTABLE(pinnacle_pctv_hd); | ||
49 | #endif | ||
diff --git a/include/media/keycodes/pixelview-new.h b/include/media/keycodes/pixelview-new.h new file mode 100644 index 000000000000..76ed0c35752b --- /dev/null +++ b/include/media/keycodes/pixelview-new.h | |||
@@ -0,0 +1,59 @@ | |||
1 | /* pixelview-new.h - Keytable for pixelview_new Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* | ||
12 | Mauro Carvalho Chehab <mchehab@infradead.org> | ||
13 | present on PV MPEG 8000GT | ||
14 | */ | ||
15 | |||
16 | #ifdef IR_KEYMAPS | ||
17 | static struct ir_scancode pixelview_new[] = { | ||
18 | { 0x3c, KEY_TIME }, /* Timeshift */ | ||
19 | { 0x12, KEY_POWER }, | ||
20 | |||
21 | { 0x3d, KEY_1 }, | ||
22 | { 0x38, KEY_2 }, | ||
23 | { 0x18, KEY_3 }, | ||
24 | { 0x35, KEY_4 }, | ||
25 | { 0x39, KEY_5 }, | ||
26 | { 0x15, KEY_6 }, | ||
27 | { 0x36, KEY_7 }, | ||
28 | { 0x3a, KEY_8 }, | ||
29 | { 0x1e, KEY_9 }, | ||
30 | { 0x3e, KEY_0 }, | ||
31 | |||
32 | { 0x1c, KEY_AGAIN }, /* LOOP */ | ||
33 | { 0x3f, KEY_MEDIA }, /* Source */ | ||
34 | { 0x1f, KEY_LAST }, /* +100 */ | ||
35 | { 0x1b, KEY_MUTE }, | ||
36 | |||
37 | { 0x17, KEY_CHANNELDOWN }, | ||
38 | { 0x16, KEY_CHANNELUP }, | ||
39 | { 0x10, KEY_VOLUMEUP }, | ||
40 | { 0x14, KEY_VOLUMEDOWN }, | ||
41 | { 0x13, KEY_ZOOM }, | ||
42 | |||
43 | { 0x19, KEY_CAMERA }, /* SNAPSHOT */ | ||
44 | { 0x1a, KEY_SEARCH }, /* scan */ | ||
45 | |||
46 | { 0x37, KEY_REWIND }, /* << */ | ||
47 | { 0x32, KEY_RECORD }, /* o (red) */ | ||
48 | { 0x33, KEY_FORWARD }, /* >> */ | ||
49 | { 0x11, KEY_STOP }, /* square */ | ||
50 | { 0x3b, KEY_PLAY }, /* > */ | ||
51 | { 0x30, KEY_PLAYPAUSE }, /* || */ | ||
52 | |||
53 | { 0x31, KEY_TV }, | ||
54 | { 0x34, KEY_RADIO }, | ||
55 | }; | ||
56 | DEFINE_LEGACY_IR_KEYTABLE(pixelview_new); | ||
57 | #else | ||
58 | DECLARE_IR_KEYTABLE(pixelview_new); | ||
59 | #endif | ||
diff --git a/include/media/keycodes/pixelview.h b/include/media/keycodes/pixelview.h new file mode 100644 index 000000000000..e048277db895 --- /dev/null +++ b/include/media/keycodes/pixelview.h | |||
@@ -0,0 +1,59 @@ | |||
1 | /* pixelview.h - Keytable for pixelview Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | |||
12 | #ifdef IR_KEYMAPS | ||
13 | static struct ir_scancode pixelview[] = { | ||
14 | |||
15 | { 0x1e, KEY_POWER }, /* power */ | ||
16 | { 0x07, KEY_MEDIA }, /* source */ | ||
17 | { 0x1c, KEY_SEARCH }, /* scan */ | ||
18 | |||
19 | |||
20 | { 0x03, KEY_TUNER }, /* TV/FM */ | ||
21 | |||
22 | { 0x00, KEY_RECORD }, | ||
23 | { 0x08, KEY_STOP }, | ||
24 | { 0x11, KEY_PLAY }, | ||
25 | |||
26 | { 0x1a, KEY_PLAYPAUSE }, /* freeze */ | ||
27 | { 0x19, KEY_ZOOM }, /* zoom */ | ||
28 | { 0x0f, KEY_TEXT }, /* min */ | ||
29 | |||
30 | { 0x01, KEY_1 }, | ||
31 | { 0x0b, KEY_2 }, | ||
32 | { 0x1b, KEY_3 }, | ||
33 | { 0x05, KEY_4 }, | ||
34 | { 0x09, KEY_5 }, | ||
35 | { 0x15, KEY_6 }, | ||
36 | { 0x06, KEY_7 }, | ||
37 | { 0x0a, KEY_8 }, | ||
38 | { 0x12, KEY_9 }, | ||
39 | { 0x02, KEY_0 }, | ||
40 | { 0x10, KEY_LAST }, /* +100 */ | ||
41 | { 0x13, KEY_LIST }, /* recall */ | ||
42 | |||
43 | { 0x1f, KEY_CHANNELUP }, /* chn down */ | ||
44 | { 0x17, KEY_CHANNELDOWN }, /* chn up */ | ||
45 | { 0x16, KEY_VOLUMEUP }, /* vol down */ | ||
46 | { 0x14, KEY_VOLUMEDOWN }, /* vol up */ | ||
47 | |||
48 | { 0x04, KEY_KPMINUS }, /* <<< */ | ||
49 | { 0x0e, KEY_SETUP }, /* function */ | ||
50 | { 0x0c, KEY_KPPLUS }, /* >>> */ | ||
51 | |||
52 | { 0x0d, KEY_GOTO }, /* mts */ | ||
53 | { 0x1d, KEY_REFRESH }, /* reset */ | ||
54 | { 0x18, KEY_MUTE }, /* mute/unmute */ | ||
55 | }; | ||
56 | DEFINE_LEGACY_IR_KEYTABLE(pixelview); | ||
57 | #else | ||
58 | DECLARE_IR_KEYTABLE(pixelview); | ||
59 | #endif | ||
diff --git a/include/media/keycodes/powercolor-real-angel.h b/include/media/keycodes/powercolor-real-angel.h new file mode 100644 index 000000000000..098c4a992bfa --- /dev/null +++ b/include/media/keycodes/powercolor-real-angel.h | |||
@@ -0,0 +1,57 @@ | |||
1 | /* powercolor-real-angel.h - Keytable for powercolor_real_angel Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* | ||
12 | * Remote control for Powercolor Real Angel 330 | ||
13 | * Daniel Fraga <fragabr@gmail.com> | ||
14 | */ | ||
15 | |||
16 | #ifdef IR_KEYMAPS | ||
17 | static struct ir_scancode powercolor_real_angel[] = { | ||
18 | { 0x38, KEY_SWITCHVIDEOMODE }, /* switch inputs */ | ||
19 | { 0x0c, KEY_MEDIA }, /* Turn ON/OFF App */ | ||
20 | { 0x00, KEY_0 }, | ||
21 | { 0x01, KEY_1 }, | ||
22 | { 0x02, KEY_2 }, | ||
23 | { 0x03, KEY_3 }, | ||
24 | { 0x04, KEY_4 }, | ||
25 | { 0x05, KEY_5 }, | ||
26 | { 0x06, KEY_6 }, | ||
27 | { 0x07, KEY_7 }, | ||
28 | { 0x08, KEY_8 }, | ||
29 | { 0x09, KEY_9 }, | ||
30 | { 0x0a, KEY_DIGITS }, /* single, double, tripple digit */ | ||
31 | { 0x29, KEY_PREVIOUS }, /* previous channel */ | ||
32 | { 0x12, KEY_BRIGHTNESSUP }, | ||
33 | { 0x13, KEY_BRIGHTNESSDOWN }, | ||
34 | { 0x2b, KEY_MODE }, /* stereo/mono */ | ||
35 | { 0x2c, KEY_TEXT }, /* teletext */ | ||
36 | { 0x20, KEY_CHANNELUP }, /* channel up */ | ||
37 | { 0x21, KEY_CHANNELDOWN }, /* channel down */ | ||
38 | { 0x10, KEY_VOLUMEUP }, /* volume up */ | ||
39 | { 0x11, KEY_VOLUMEDOWN }, /* volume down */ | ||
40 | { 0x0d, KEY_MUTE }, | ||
41 | { 0x1f, KEY_RECORD }, | ||
42 | { 0x17, KEY_PLAY }, | ||
43 | { 0x16, KEY_PAUSE }, | ||
44 | { 0x0b, KEY_STOP }, | ||
45 | { 0x27, KEY_FASTFORWARD }, | ||
46 | { 0x26, KEY_REWIND }, | ||
47 | { 0x1e, KEY_SEARCH }, /* autoscan */ | ||
48 | { 0x0e, KEY_CAMERA }, /* snapshot */ | ||
49 | { 0x2d, KEY_SETUP }, | ||
50 | { 0x0f, KEY_SCREEN }, /* full screen */ | ||
51 | { 0x14, KEY_RADIO }, /* FM radio */ | ||
52 | { 0x25, KEY_POWER }, /* power */ | ||
53 | }; | ||
54 | DEFINE_LEGACY_IR_KEYTABLE(powercolor_real_angel); | ||
55 | #else | ||
56 | DECLARE_IR_KEYTABLE(powercolor_real_angel); | ||
57 | #endif | ||
diff --git a/include/media/keycodes/proteus-2309.h b/include/media/keycodes/proteus-2309.h new file mode 100644 index 000000000000..1993702ca557 --- /dev/null +++ b/include/media/keycodes/proteus-2309.h | |||
@@ -0,0 +1,45 @@ | |||
1 | /* proteus-2309.h - Keytable for proteus_2309 Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* Michal Majchrowicz <mmajchrowicz@gmail.com> */ | ||
12 | |||
13 | #ifdef IR_KEYMAPS | ||
14 | static struct ir_scancode proteus_2309[] = { | ||
15 | /* numeric */ | ||
16 | { 0x00, KEY_0 }, | ||
17 | { 0x01, KEY_1 }, | ||
18 | { 0x02, KEY_2 }, | ||
19 | { 0x03, KEY_3 }, | ||
20 | { 0x04, KEY_4 }, | ||
21 | { 0x05, KEY_5 }, | ||
22 | { 0x06, KEY_6 }, | ||
23 | { 0x07, KEY_7 }, | ||
24 | { 0x08, KEY_8 }, | ||
25 | { 0x09, KEY_9 }, | ||
26 | |||
27 | { 0x5c, KEY_POWER }, /* power */ | ||
28 | { 0x20, KEY_ZOOM }, /* full screen */ | ||
29 | { 0x0f, KEY_BACKSPACE }, /* recall */ | ||
30 | { 0x1b, KEY_ENTER }, /* mute */ | ||
31 | { 0x41, KEY_RECORD }, /* record */ | ||
32 | { 0x43, KEY_STOP }, /* stop */ | ||
33 | { 0x16, KEY_S }, | ||
34 | { 0x1a, KEY_POWER2 }, /* off */ | ||
35 | { 0x2e, KEY_RED }, | ||
36 | { 0x1f, KEY_CHANNELDOWN }, /* channel - */ | ||
37 | { 0x1c, KEY_CHANNELUP }, /* channel + */ | ||
38 | { 0x10, KEY_VOLUMEDOWN }, /* volume - */ | ||
39 | { 0x1e, KEY_VOLUMEUP }, /* volume + */ | ||
40 | { 0x14, KEY_F1 }, | ||
41 | }; | ||
42 | DEFINE_LEGACY_IR_KEYTABLE(proteus_2309); | ||
43 | #else | ||
44 | DECLARE_IR_KEYTABLE(proteus_2309); | ||
45 | #endif | ||
diff --git a/include/media/keycodes/purpletv.h b/include/media/keycodes/purpletv.h new file mode 100644 index 000000000000..14962649a926 --- /dev/null +++ b/include/media/keycodes/purpletv.h | |||
@@ -0,0 +1,58 @@ | |||
1 | /* purpletv.h - Keytable for purpletv Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | |||
12 | #ifdef IR_KEYMAPS | ||
13 | static struct ir_scancode purpletv[] = { | ||
14 | { 0x03, KEY_POWER }, | ||
15 | { 0x6f, KEY_MUTE }, | ||
16 | { 0x10, KEY_BACKSPACE }, /* Recall */ | ||
17 | |||
18 | { 0x11, KEY_0 }, | ||
19 | { 0x04, KEY_1 }, | ||
20 | { 0x05, KEY_2 }, | ||
21 | { 0x06, KEY_3 }, | ||
22 | { 0x08, KEY_4 }, | ||
23 | { 0x09, KEY_5 }, | ||
24 | { 0x0a, KEY_6 }, | ||
25 | { 0x0c, KEY_7 }, | ||
26 | { 0x0d, KEY_8 }, | ||
27 | { 0x0e, KEY_9 }, | ||
28 | { 0x12, KEY_DOT }, /* 100+ */ | ||
29 | |||
30 | { 0x07, KEY_VOLUMEUP }, | ||
31 | { 0x0b, KEY_VOLUMEDOWN }, | ||
32 | { 0x1a, KEY_KPPLUS }, | ||
33 | { 0x18, KEY_KPMINUS }, | ||
34 | { 0x15, KEY_UP }, | ||
35 | { 0x1d, KEY_DOWN }, | ||
36 | { 0x0f, KEY_CHANNELUP }, | ||
37 | { 0x13, KEY_CHANNELDOWN }, | ||
38 | { 0x48, KEY_ZOOM }, | ||
39 | |||
40 | { 0x1b, KEY_VIDEO }, /* Video source */ | ||
41 | { 0x1f, KEY_CAMERA }, /* Snapshot */ | ||
42 | { 0x49, KEY_LANGUAGE }, /* MTS Select */ | ||
43 | { 0x19, KEY_SEARCH }, /* Auto Scan */ | ||
44 | |||
45 | { 0x4b, KEY_RECORD }, | ||
46 | { 0x46, KEY_PLAY }, | ||
47 | { 0x45, KEY_PAUSE }, /* Pause */ | ||
48 | { 0x44, KEY_STOP }, | ||
49 | { 0x43, KEY_TIME }, /* Time Shift */ | ||
50 | { 0x17, KEY_CHANNEL }, /* SURF CH */ | ||
51 | { 0x40, KEY_FORWARD }, /* Forward ? */ | ||
52 | { 0x42, KEY_REWIND }, /* Backward ? */ | ||
53 | |||
54 | }; | ||
55 | DEFINE_LEGACY_IR_KEYTABLE(purpletv); | ||
56 | #else | ||
57 | DECLARE_IR_KEYTABLE(purpletv); | ||
58 | #endif | ||
diff --git a/include/media/keycodes/pv951.h b/include/media/keycodes/pv951.h new file mode 100644 index 000000000000..33a8bf7b9080 --- /dev/null +++ b/include/media/keycodes/pv951.h | |||
@@ -0,0 +1,54 @@ | |||
1 | /* pv951.h - Keytable for pv951 Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* Mark Phalan <phalanm@o2.ie> */ | ||
12 | |||
13 | #ifdef IR_KEYMAPS | ||
14 | static struct ir_scancode pv951[] = { | ||
15 | { 0x00, KEY_0 }, | ||
16 | { 0x01, KEY_1 }, | ||
17 | { 0x02, KEY_2 }, | ||
18 | { 0x03, KEY_3 }, | ||
19 | { 0x04, KEY_4 }, | ||
20 | { 0x05, KEY_5 }, | ||
21 | { 0x06, KEY_6 }, | ||
22 | { 0x07, KEY_7 }, | ||
23 | { 0x08, KEY_8 }, | ||
24 | { 0x09, KEY_9 }, | ||
25 | |||
26 | { 0x12, KEY_POWER }, | ||
27 | { 0x10, KEY_MUTE }, | ||
28 | { 0x1f, KEY_VOLUMEDOWN }, | ||
29 | { 0x1b, KEY_VOLUMEUP }, | ||
30 | { 0x1a, KEY_CHANNELUP }, | ||
31 | { 0x1e, KEY_CHANNELDOWN }, | ||
32 | { 0x0e, KEY_PAGEUP }, | ||
33 | { 0x1d, KEY_PAGEDOWN }, | ||
34 | { 0x13, KEY_SOUND }, | ||
35 | |||
36 | { 0x18, KEY_KPPLUSMINUS }, /* CH +/- */ | ||
37 | { 0x16, KEY_SUBTITLE }, /* CC */ | ||
38 | { 0x0d, KEY_TEXT }, /* TTX */ | ||
39 | { 0x0b, KEY_TV }, /* AIR/CBL */ | ||
40 | { 0x11, KEY_PC }, /* PC/TV */ | ||
41 | { 0x17, KEY_OK }, /* CH RTN */ | ||
42 | { 0x19, KEY_MODE }, /* FUNC */ | ||
43 | { 0x0c, KEY_SEARCH }, /* AUTOSCAN */ | ||
44 | |||
45 | /* Not sure what to do with these ones! */ | ||
46 | { 0x0f, KEY_SELECT }, /* SOURCE */ | ||
47 | { 0x0a, KEY_KPPLUS }, /* +100 */ | ||
48 | { 0x14, KEY_EQUAL }, /* SYNC */ | ||
49 | { 0x1c, KEY_MEDIA }, /* PC/TV */ | ||
50 | }; | ||
51 | DEFINE_LEGACY_IR_KEYTABLE(pv951); | ||
52 | #else | ||
53 | DECLARE_IR_KEYTABLE(pv951); | ||
54 | #endif | ||
diff --git a/include/media/keycodes/rc5-hauppauge-new.h b/include/media/keycodes/rc5-hauppauge-new.h new file mode 100644 index 000000000000..f02b59ab4f91 --- /dev/null +++ b/include/media/keycodes/rc5-hauppauge-new.h | |||
@@ -0,0 +1,79 @@ | |||
1 | /* rc5-hauppauge-new.h - Keytable for rc5_hauppauge_new Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* | ||
12 | * Hauppauge:the newer, gray remotes (seems there are multiple | ||
13 | * slightly different versions), shipped with cx88+ivtv cards. | ||
14 | * | ||
15 | * This table contains the complete RC5 code, instead of just the data part | ||
16 | */ | ||
17 | |||
18 | #ifdef IR_KEYMAPS | ||
19 | static struct ir_scancode rc5_hauppauge_new[] = { | ||
20 | /* Keys 0 to 9 */ | ||
21 | { 0x1e00, KEY_0 }, | ||
22 | { 0x1e01, KEY_1 }, | ||
23 | { 0x1e02, KEY_2 }, | ||
24 | { 0x1e03, KEY_3 }, | ||
25 | { 0x1e04, KEY_4 }, | ||
26 | { 0x1e05, KEY_5 }, | ||
27 | { 0x1e06, KEY_6 }, | ||
28 | { 0x1e07, KEY_7 }, | ||
29 | { 0x1e08, KEY_8 }, | ||
30 | { 0x1e09, KEY_9 }, | ||
31 | |||
32 | { 0x1e0a, KEY_TEXT }, /* keypad asterisk as well */ | ||
33 | { 0x1e0b, KEY_RED }, /* red button */ | ||
34 | { 0x1e0c, KEY_RADIO }, | ||
35 | { 0x1e0d, KEY_MENU }, | ||
36 | { 0x1e0e, KEY_SUBTITLE }, /* also the # key */ | ||
37 | { 0x1e0f, KEY_MUTE }, | ||
38 | { 0x1e10, KEY_VOLUMEUP }, | ||
39 | { 0x1e11, KEY_VOLUMEDOWN }, | ||
40 | { 0x1e12, KEY_PREVIOUS }, /* previous channel */ | ||
41 | { 0x1e14, KEY_UP }, | ||
42 | { 0x1e15, KEY_DOWN }, | ||
43 | { 0x1e16, KEY_LEFT }, | ||
44 | { 0x1e17, KEY_RIGHT }, | ||
45 | { 0x1e18, KEY_VIDEO }, /* Videos */ | ||
46 | { 0x1e19, KEY_AUDIO }, /* Music */ | ||
47 | /* 0x1e1a: Pictures - presume this means | ||
48 | "Multimedia Home Platform" - | ||
49 | no "PICTURES" key in input.h | ||
50 | */ | ||
51 | { 0x1e1a, KEY_MHP }, | ||
52 | |||
53 | { 0x1e1b, KEY_EPG }, /* Guide */ | ||
54 | { 0x1e1c, KEY_TV }, | ||
55 | { 0x1e1e, KEY_NEXTSONG }, /* skip >| */ | ||
56 | { 0x1e1f, KEY_EXIT }, /* back/exit */ | ||
57 | { 0x1e20, KEY_CHANNELUP }, /* channel / program + */ | ||
58 | { 0x1e21, KEY_CHANNELDOWN }, /* channel / program - */ | ||
59 | { 0x1e22, KEY_CHANNEL }, /* source (old black remote) */ | ||
60 | { 0x1e24, KEY_PREVIOUSSONG }, /* replay |< */ | ||
61 | { 0x1e25, KEY_ENTER }, /* OK */ | ||
62 | { 0x1e26, KEY_SLEEP }, /* minimize (old black remote) */ | ||
63 | { 0x1e29, KEY_BLUE }, /* blue key */ | ||
64 | { 0x1e2e, KEY_GREEN }, /* green button */ | ||
65 | { 0x1e30, KEY_PAUSE }, /* pause */ | ||
66 | { 0x1e32, KEY_REWIND }, /* backward << */ | ||
67 | { 0x1e34, KEY_FASTFORWARD }, /* forward >> */ | ||
68 | { 0x1e35, KEY_PLAY }, | ||
69 | { 0x1e36, KEY_STOP }, | ||
70 | { 0x1e37, KEY_RECORD }, /* recording */ | ||
71 | { 0x1e38, KEY_YELLOW }, /* yellow key */ | ||
72 | { 0x1e3b, KEY_SELECT }, /* top right button */ | ||
73 | { 0x1e3c, KEY_ZOOM }, /* full */ | ||
74 | { 0x1e3d, KEY_POWER }, /* system power (green button) */ | ||
75 | }; | ||
76 | DEFINE_IR_KEYTABLE(rc5_hauppauge_new, IR_TYPE_RC5); | ||
77 | #else | ||
78 | DECLARE_IR_KEYTABLE(rc5_hauppauge_new); | ||
79 | #endif | ||
diff --git a/include/media/keycodes/rc5-tv.h b/include/media/keycodes/rc5-tv.h new file mode 100644 index 000000000000..a429a54e808c --- /dev/null +++ b/include/media/keycodes/rc5-tv.h | |||
@@ -0,0 +1,57 @@ | |||
1 | /* rc5-tv.h - Keytable for rc5_tv Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* generic RC5 keytable */ | ||
12 | /* see http://users.pandora.be/nenya/electronics/rc5/codes00.htm */ | ||
13 | /* used by old (black) Hauppauge remotes */ | ||
14 | |||
15 | #ifdef IR_KEYMAPS | ||
16 | static struct ir_scancode rc5_tv[] = { | ||
17 | /* Keys 0 to 9 */ | ||
18 | { 0x00, KEY_0 }, | ||
19 | { 0x01, KEY_1 }, | ||
20 | { 0x02, KEY_2 }, | ||
21 | { 0x03, KEY_3 }, | ||
22 | { 0x04, KEY_4 }, | ||
23 | { 0x05, KEY_5 }, | ||
24 | { 0x06, KEY_6 }, | ||
25 | { 0x07, KEY_7 }, | ||
26 | { 0x08, KEY_8 }, | ||
27 | { 0x09, KEY_9 }, | ||
28 | |||
29 | { 0x0b, KEY_CHANNEL }, /* channel / program (japan: 11) */ | ||
30 | { 0x0c, KEY_POWER }, /* standby */ | ||
31 | { 0x0d, KEY_MUTE }, /* mute / demute */ | ||
32 | { 0x0f, KEY_TV }, /* display */ | ||
33 | { 0x10, KEY_VOLUMEUP }, | ||
34 | { 0x11, KEY_VOLUMEDOWN }, | ||
35 | { 0x12, KEY_BRIGHTNESSUP }, | ||
36 | { 0x13, KEY_BRIGHTNESSDOWN }, | ||
37 | { 0x1e, KEY_SEARCH }, /* search + */ | ||
38 | { 0x20, KEY_CHANNELUP }, /* channel / program + */ | ||
39 | { 0x21, KEY_CHANNELDOWN }, /* channel / program - */ | ||
40 | { 0x22, KEY_CHANNEL }, /* alt / channel */ | ||
41 | { 0x23, KEY_LANGUAGE }, /* 1st / 2nd language */ | ||
42 | { 0x26, KEY_SLEEP }, /* sleeptimer */ | ||
43 | { 0x2e, KEY_MENU }, /* 2nd controls (USA: menu) */ | ||
44 | { 0x30, KEY_PAUSE }, | ||
45 | { 0x32, KEY_REWIND }, | ||
46 | { 0x33, KEY_GOTO }, | ||
47 | { 0x35, KEY_PLAY }, | ||
48 | { 0x36, KEY_STOP }, | ||
49 | { 0x37, KEY_RECORD }, /* recording */ | ||
50 | { 0x3c, KEY_TEXT }, /* teletext submode (Japan: 12) */ | ||
51 | { 0x3d, KEY_SUSPEND }, /* system standby */ | ||
52 | |||
53 | }; | ||
54 | DEFINE_LEGACY_IR_KEYTABLE(rc5_tv); | ||
55 | #else | ||
56 | DECLARE_IR_KEYTABLE(rc5_tv); | ||
57 | #endif | ||
diff --git a/include/media/keycodes/real-audio-220-32-keys.h b/include/media/keycodes/real-audio-220-32-keys.h new file mode 100644 index 000000000000..5f6835dbe4c9 --- /dev/null +++ b/include/media/keycodes/real-audio-220-32-keys.h | |||
@@ -0,0 +1,54 @@ | |||
1 | /* real-audio-220-32-keys.h - Keytable for real_audio_220_32_keys Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* Zogis Real Audio 220 - 32 keys IR */ | ||
12 | |||
13 | #ifdef IR_KEYMAPS | ||
14 | static struct ir_scancode real_audio_220_32_keys[] = { | ||
15 | { 0x1c, KEY_RADIO}, | ||
16 | { 0x12, KEY_POWER2}, | ||
17 | |||
18 | { 0x01, KEY_1}, | ||
19 | { 0x02, KEY_2}, | ||
20 | { 0x03, KEY_3}, | ||
21 | { 0x04, KEY_4}, | ||
22 | { 0x05, KEY_5}, | ||
23 | { 0x06, KEY_6}, | ||
24 | { 0x07, KEY_7}, | ||
25 | { 0x08, KEY_8}, | ||
26 | { 0x09, KEY_9}, | ||
27 | { 0x00, KEY_0}, | ||
28 | |||
29 | { 0x0c, KEY_VOLUMEUP}, | ||
30 | { 0x18, KEY_VOLUMEDOWN}, | ||
31 | { 0x0b, KEY_CHANNELUP}, | ||
32 | { 0x15, KEY_CHANNELDOWN}, | ||
33 | { 0x16, KEY_ENTER}, | ||
34 | |||
35 | { 0x11, KEY_LIST}, /* Source */ | ||
36 | { 0x0d, KEY_AUDIO}, /* stereo */ | ||
37 | |||
38 | { 0x0f, KEY_PREVIOUS}, /* Prev */ | ||
39 | { 0x1b, KEY_TIME}, /* Timeshift */ | ||
40 | { 0x1a, KEY_NEXT}, /* Next */ | ||
41 | |||
42 | { 0x0e, KEY_STOP}, | ||
43 | { 0x1f, KEY_PLAY}, | ||
44 | { 0x1e, KEY_PLAYPAUSE}, /* Pause */ | ||
45 | |||
46 | { 0x1d, KEY_RECORD}, | ||
47 | { 0x13, KEY_MUTE}, | ||
48 | { 0x19, KEY_CAMERA}, /* Snapshot */ | ||
49 | |||
50 | }; | ||
51 | DEFINE_LEGACY_IR_KEYTABLE(real_audio_220_32_keys); | ||
52 | #else | ||
53 | DECLARE_IR_KEYTABLE(real_audio_220_32_keys); | ||
54 | #endif | ||
diff --git a/include/media/keycodes/tbs-nec.h b/include/media/keycodes/tbs-nec.h new file mode 100644 index 000000000000..156985e122a5 --- /dev/null +++ b/include/media/keycodes/tbs-nec.h | |||
@@ -0,0 +1,50 @@ | |||
1 | /* tbs-nec.h - Keytable for tbs_nec Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | |||
12 | #ifdef IR_KEYMAPS | ||
13 | static struct ir_scancode tbs_nec[] = { | ||
14 | { 0x04, KEY_POWER2}, /*power*/ | ||
15 | { 0x14, KEY_MUTE}, /*mute*/ | ||
16 | { 0x07, KEY_1}, | ||
17 | { 0x06, KEY_2}, | ||
18 | { 0x05, KEY_3}, | ||
19 | { 0x0b, KEY_4}, | ||
20 | { 0x0a, KEY_5}, | ||
21 | { 0x09, KEY_6}, | ||
22 | { 0x0f, KEY_7}, | ||
23 | { 0x0e, KEY_8}, | ||
24 | { 0x0d, KEY_9}, | ||
25 | { 0x12, KEY_0}, | ||
26 | { 0x16, KEY_CHANNELUP}, /*ch+*/ | ||
27 | { 0x11, KEY_CHANNELDOWN},/*ch-*/ | ||
28 | { 0x13, KEY_VOLUMEUP}, /*vol+*/ | ||
29 | { 0x0c, KEY_VOLUMEDOWN},/*vol-*/ | ||
30 | { 0x03, KEY_RECORD}, /*rec*/ | ||
31 | { 0x18, KEY_PAUSE}, /*pause*/ | ||
32 | { 0x19, KEY_OK}, /*ok*/ | ||
33 | { 0x1a, KEY_CAMERA}, /* snapshot */ | ||
34 | { 0x01, KEY_UP}, | ||
35 | { 0x10, KEY_LEFT}, | ||
36 | { 0x02, KEY_RIGHT}, | ||
37 | { 0x08, KEY_DOWN}, | ||
38 | { 0x15, KEY_FAVORITES}, | ||
39 | { 0x17, KEY_SUBTITLE}, | ||
40 | { 0x1d, KEY_ZOOM}, | ||
41 | { 0x1f, KEY_EXIT}, | ||
42 | { 0x1e, KEY_MENU}, | ||
43 | { 0x1c, KEY_EPG}, | ||
44 | { 0x00, KEY_PREVIOUS}, | ||
45 | { 0x1b, KEY_MODE}, | ||
46 | }; | ||
47 | DEFINE_LEGACY_IR_KEYTABLE(tbs_nec); | ||
48 | #else | ||
49 | DECLARE_IR_KEYTABLE(tbs_nec); | ||
50 | #endif | ||
diff --git a/include/media/keycodes/terratec-cinergy-xs.h b/include/media/keycodes/terratec-cinergy-xs.h new file mode 100644 index 000000000000..8f50fae05d8f --- /dev/null +++ b/include/media/keycodes/terratec-cinergy-xs.h | |||
@@ -0,0 +1,68 @@ | |||
1 | /* terratec-cinergy-xs.h - Keytable for terratec_cinergy_xs Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* Terratec Cinergy Hybrid T USB XS | ||
12 | Devin Heitmueller <dheitmueller@linuxtv.org> | ||
13 | */ | ||
14 | |||
15 | #ifdef IR_KEYMAPS | ||
16 | static struct ir_scancode terratec_cinergy_xs[] = { | ||
17 | { 0x41, KEY_HOME}, | ||
18 | { 0x01, KEY_POWER}, | ||
19 | { 0x42, KEY_MENU}, | ||
20 | { 0x02, KEY_1}, | ||
21 | { 0x03, KEY_2}, | ||
22 | { 0x04, KEY_3}, | ||
23 | { 0x43, KEY_SUBTITLE}, | ||
24 | { 0x05, KEY_4}, | ||
25 | { 0x06, KEY_5}, | ||
26 | { 0x07, KEY_6}, | ||
27 | { 0x44, KEY_TEXT}, | ||
28 | { 0x08, KEY_7}, | ||
29 | { 0x09, KEY_8}, | ||
30 | { 0x0a, KEY_9}, | ||
31 | { 0x45, KEY_DELETE}, | ||
32 | { 0x0b, KEY_TUNER}, | ||
33 | { 0x0c, KEY_0}, | ||
34 | { 0x0d, KEY_MODE}, | ||
35 | { 0x46, KEY_TV}, | ||
36 | { 0x47, KEY_DVD}, | ||
37 | { 0x49, KEY_VIDEO}, | ||
38 | { 0x4b, KEY_AUX}, | ||
39 | { 0x10, KEY_UP}, | ||
40 | { 0x11, KEY_LEFT}, | ||
41 | { 0x12, KEY_OK}, | ||
42 | { 0x13, KEY_RIGHT}, | ||
43 | { 0x14, KEY_DOWN}, | ||
44 | { 0x0f, KEY_EPG}, | ||
45 | { 0x16, KEY_INFO}, | ||
46 | { 0x4d, KEY_BACKSPACE}, | ||
47 | { 0x1c, KEY_VOLUMEUP}, | ||
48 | { 0x4c, KEY_PLAY}, | ||
49 | { 0x1b, KEY_CHANNELUP}, | ||
50 | { 0x1e, KEY_VOLUMEDOWN}, | ||
51 | { 0x1d, KEY_MUTE}, | ||
52 | { 0x1f, KEY_CHANNELDOWN}, | ||
53 | { 0x17, KEY_RED}, | ||
54 | { 0x18, KEY_GREEN}, | ||
55 | { 0x19, KEY_YELLOW}, | ||
56 | { 0x1a, KEY_BLUE}, | ||
57 | { 0x58, KEY_RECORD}, | ||
58 | { 0x48, KEY_STOP}, | ||
59 | { 0x40, KEY_PAUSE}, | ||
60 | { 0x54, KEY_LAST}, | ||
61 | { 0x4e, KEY_REWIND}, | ||
62 | { 0x4f, KEY_FASTFORWARD}, | ||
63 | { 0x5c, KEY_NEXT}, | ||
64 | }; | ||
65 | DEFINE_LEGACY_IR_KEYTABLE(terratec_cinergy_xs); | ||
66 | #else | ||
67 | DECLARE_IR_KEYTABLE(terratec_cinergy_xs); | ||
68 | #endif | ||
diff --git a/include/media/keycodes/tevii-nec.h b/include/media/keycodes/tevii-nec.h new file mode 100644 index 000000000000..6a8ea03a9be1 --- /dev/null +++ b/include/media/keycodes/tevii-nec.h | |||
@@ -0,0 +1,65 @@ | |||
1 | /* tevii-nec.h - Keytable for tevii_nec Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | |||
12 | #ifdef IR_KEYMAPS | ||
13 | static struct ir_scancode tevii_nec[] = { | ||
14 | { 0x0a, KEY_POWER2}, | ||
15 | { 0x0c, KEY_MUTE}, | ||
16 | { 0x11, KEY_1}, | ||
17 | { 0x12, KEY_2}, | ||
18 | { 0x13, KEY_3}, | ||
19 | { 0x14, KEY_4}, | ||
20 | { 0x15, KEY_5}, | ||
21 | { 0x16, KEY_6}, | ||
22 | { 0x17, KEY_7}, | ||
23 | { 0x18, KEY_8}, | ||
24 | { 0x19, KEY_9}, | ||
25 | { 0x10, KEY_0}, | ||
26 | { 0x1c, KEY_MENU}, | ||
27 | { 0x0f, KEY_VOLUMEDOWN}, | ||
28 | { 0x1a, KEY_LAST}, | ||
29 | { 0x0e, KEY_OPEN}, | ||
30 | { 0x04, KEY_RECORD}, | ||
31 | { 0x09, KEY_VOLUMEUP}, | ||
32 | { 0x08, KEY_CHANNELUP}, | ||
33 | { 0x07, KEY_PVR}, | ||
34 | { 0x0b, KEY_TIME}, | ||
35 | { 0x02, KEY_RIGHT}, | ||
36 | { 0x03, KEY_LEFT}, | ||
37 | { 0x00, KEY_UP}, | ||
38 | { 0x1f, KEY_OK}, | ||
39 | { 0x01, KEY_DOWN}, | ||
40 | { 0x05, KEY_TUNER}, | ||
41 | { 0x06, KEY_CHANNELDOWN}, | ||
42 | { 0x40, KEY_PLAYPAUSE}, | ||
43 | { 0x1e, KEY_REWIND}, | ||
44 | { 0x1b, KEY_FAVORITES}, | ||
45 | { 0x1d, KEY_BACK}, | ||
46 | { 0x4d, KEY_FASTFORWARD}, | ||
47 | { 0x44, KEY_EPG}, | ||
48 | { 0x4c, KEY_INFO}, | ||
49 | { 0x41, KEY_AB}, | ||
50 | { 0x43, KEY_AUDIO}, | ||
51 | { 0x45, KEY_SUBTITLE}, | ||
52 | { 0x4a, KEY_LIST}, | ||
53 | { 0x46, KEY_F1}, | ||
54 | { 0x47, KEY_F2}, | ||
55 | { 0x5e, KEY_F3}, | ||
56 | { 0x5c, KEY_F4}, | ||
57 | { 0x52, KEY_F5}, | ||
58 | { 0x5a, KEY_F6}, | ||
59 | { 0x56, KEY_MODE}, | ||
60 | { 0x58, KEY_SWITCHVIDEOMODE}, | ||
61 | }; | ||
62 | DEFINE_LEGACY_IR_KEYTABLE(tevii_nec); | ||
63 | #else | ||
64 | DECLARE_IR_KEYTABLE(tevii_nec); | ||
65 | #endif | ||
diff --git a/include/media/keycodes/tt-1500.h b/include/media/keycodes/tt-1500.h new file mode 100644 index 000000000000..45ffcba17373 --- /dev/null +++ b/include/media/keycodes/tt-1500.h | |||
@@ -0,0 +1,58 @@ | |||
1 | /* tt-1500.h - Keytable for tt_1500 Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* for the Technotrend 1500 bundled remotes (grey and black): */ | ||
12 | |||
13 | #ifdef IR_KEYMAPS | ||
14 | static struct ir_scancode tt_1500[] = { | ||
15 | { 0x01, KEY_POWER }, | ||
16 | { 0x02, KEY_SHUFFLE }, /* ? double-arrow key */ | ||
17 | { 0x03, KEY_1 }, | ||
18 | { 0x04, KEY_2 }, | ||
19 | { 0x05, KEY_3 }, | ||
20 | { 0x06, KEY_4 }, | ||
21 | { 0x07, KEY_5 }, | ||
22 | { 0x08, KEY_6 }, | ||
23 | { 0x09, KEY_7 }, | ||
24 | { 0x0a, KEY_8 }, | ||
25 | { 0x0b, KEY_9 }, | ||
26 | { 0x0c, KEY_0 }, | ||
27 | { 0x0d, KEY_UP }, | ||
28 | { 0x0e, KEY_LEFT }, | ||
29 | { 0x0f, KEY_OK }, | ||
30 | { 0x10, KEY_RIGHT }, | ||
31 | { 0x11, KEY_DOWN }, | ||
32 | { 0x12, KEY_INFO }, | ||
33 | { 0x13, KEY_EXIT }, | ||
34 | { 0x14, KEY_RED }, | ||
35 | { 0x15, KEY_GREEN }, | ||
36 | { 0x16, KEY_YELLOW }, | ||
37 | { 0x17, KEY_BLUE }, | ||
38 | { 0x18, KEY_MUTE }, | ||
39 | { 0x19, KEY_TEXT }, | ||
40 | { 0x1a, KEY_MODE }, /* ? TV/Radio */ | ||
41 | { 0x21, KEY_OPTION }, | ||
42 | { 0x22, KEY_EPG }, | ||
43 | { 0x23, KEY_CHANNELUP }, | ||
44 | { 0x24, KEY_CHANNELDOWN }, | ||
45 | { 0x25, KEY_VOLUMEUP }, | ||
46 | { 0x26, KEY_VOLUMEDOWN }, | ||
47 | { 0x27, KEY_SETUP }, | ||
48 | { 0x3a, KEY_RECORD }, /* these keys are only in the black remote */ | ||
49 | { 0x3b, KEY_PLAY }, | ||
50 | { 0x3c, KEY_STOP }, | ||
51 | { 0x3d, KEY_REWIND }, | ||
52 | { 0x3e, KEY_PAUSE }, | ||
53 | { 0x3f, KEY_FORWARD }, | ||
54 | }; | ||
55 | DEFINE_LEGACY_IR_KEYTABLE(tt_1500); | ||
56 | #else | ||
57 | DECLARE_IR_KEYTABLE(tt_1500); | ||
58 | #endif | ||
diff --git a/include/media/keycodes/videomate-s350.h b/include/media/keycodes/videomate-s350.h new file mode 100644 index 000000000000..ff38424b4f66 --- /dev/null +++ b/include/media/keycodes/videomate-s350.h | |||
@@ -0,0 +1,62 @@ | |||
1 | /* videomate-s350.h - Keytable for videomate_s350 Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | |||
12 | #ifdef IR_KEYMAPS | ||
13 | static struct ir_scancode videomate_s350[] = { | ||
14 | { 0x00, KEY_TV}, | ||
15 | { 0x01, KEY_DVD}, | ||
16 | { 0x04, KEY_RECORD}, | ||
17 | { 0x05, KEY_VIDEO}, /* TV/Video */ | ||
18 | { 0x07, KEY_STOP}, | ||
19 | { 0x08, KEY_PLAYPAUSE}, | ||
20 | { 0x0a, KEY_REWIND}, | ||
21 | { 0x0f, KEY_FASTFORWARD}, | ||
22 | { 0x10, KEY_CHANNELUP}, | ||
23 | { 0x12, KEY_VOLUMEUP}, | ||
24 | { 0x13, KEY_CHANNELDOWN}, | ||
25 | { 0x14, KEY_MUTE}, | ||
26 | { 0x15, KEY_VOLUMEDOWN}, | ||
27 | { 0x16, KEY_1}, | ||
28 | { 0x17, KEY_2}, | ||
29 | { 0x18, KEY_3}, | ||
30 | { 0x19, KEY_4}, | ||
31 | { 0x1a, KEY_5}, | ||
32 | { 0x1b, KEY_6}, | ||
33 | { 0x1c, KEY_7}, | ||
34 | { 0x1d, KEY_8}, | ||
35 | { 0x1e, KEY_9}, | ||
36 | { 0x1f, KEY_0}, | ||
37 | { 0x21, KEY_SLEEP}, | ||
38 | { 0x24, KEY_ZOOM}, | ||
39 | { 0x25, KEY_LAST}, /* Recall */ | ||
40 | { 0x26, KEY_SUBTITLE}, /* CC */ | ||
41 | { 0x27, KEY_LANGUAGE}, /* MTS */ | ||
42 | { 0x29, KEY_CHANNEL}, /* SURF */ | ||
43 | { 0x2b, KEY_A}, | ||
44 | { 0x2c, KEY_B}, | ||
45 | { 0x2f, KEY_CAMERA}, /* Snapshot */ | ||
46 | { 0x23, KEY_RADIO}, | ||
47 | { 0x02, KEY_PREVIOUSSONG}, | ||
48 | { 0x06, KEY_NEXTSONG}, | ||
49 | { 0x03, KEY_EPG}, | ||
50 | { 0x09, KEY_SETUP}, | ||
51 | { 0x22, KEY_BACKSPACE}, | ||
52 | { 0x0c, KEY_UP}, | ||
53 | { 0x0e, KEY_DOWN}, | ||
54 | { 0x0b, KEY_LEFT}, | ||
55 | { 0x0d, KEY_RIGHT}, | ||
56 | { 0x11, KEY_ENTER}, | ||
57 | { 0x20, KEY_TEXT}, | ||
58 | }; | ||
59 | DEFINE_LEGACY_IR_KEYTABLE(videomate_s350); | ||
60 | #else | ||
61 | DECLARE_IR_KEYTABLE(videomate_s350); | ||
62 | #endif | ||
diff --git a/include/media/keycodes/videomate-tv-pvr.h b/include/media/keycodes/videomate-tv-pvr.h new file mode 100644 index 000000000000..f77375d3ba44 --- /dev/null +++ b/include/media/keycodes/videomate-tv-pvr.h | |||
@@ -0,0 +1,64 @@ | |||
1 | /* videomate-tv-pvr.h - Keytable for videomate_tv_pvr Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | |||
12 | #ifdef IR_KEYMAPS | ||
13 | static struct ir_scancode videomate_tv_pvr[] = { | ||
14 | { 0x14, KEY_MUTE }, | ||
15 | { 0x24, KEY_ZOOM }, | ||
16 | |||
17 | { 0x01, KEY_DVD }, | ||
18 | { 0x23, KEY_RADIO }, | ||
19 | { 0x00, KEY_TV }, | ||
20 | |||
21 | { 0x0a, KEY_REWIND }, | ||
22 | { 0x08, KEY_PLAYPAUSE }, | ||
23 | { 0x0f, KEY_FORWARD }, | ||
24 | |||
25 | { 0x02, KEY_PREVIOUS }, | ||
26 | { 0x07, KEY_STOP }, | ||
27 | { 0x06, KEY_NEXT }, | ||
28 | |||
29 | { 0x0c, KEY_UP }, | ||
30 | { 0x0e, KEY_DOWN }, | ||
31 | { 0x0b, KEY_LEFT }, | ||
32 | { 0x0d, KEY_RIGHT }, | ||
33 | { 0x11, KEY_OK }, | ||
34 | |||
35 | { 0x03, KEY_MENU }, | ||
36 | { 0x09, KEY_SETUP }, | ||
37 | { 0x05, KEY_VIDEO }, | ||
38 | { 0x22, KEY_CHANNEL }, | ||
39 | |||
40 | { 0x12, KEY_VOLUMEUP }, | ||
41 | { 0x15, KEY_VOLUMEDOWN }, | ||
42 | { 0x10, KEY_CHANNELUP }, | ||
43 | { 0x13, KEY_CHANNELDOWN }, | ||
44 | |||
45 | { 0x04, KEY_RECORD }, | ||
46 | |||
47 | { 0x16, KEY_1 }, | ||
48 | { 0x17, KEY_2 }, | ||
49 | { 0x18, KEY_3 }, | ||
50 | { 0x19, KEY_4 }, | ||
51 | { 0x1a, KEY_5 }, | ||
52 | { 0x1b, KEY_6 }, | ||
53 | { 0x1c, KEY_7 }, | ||
54 | { 0x1d, KEY_8 }, | ||
55 | { 0x1e, KEY_9 }, | ||
56 | { 0x1f, KEY_0 }, | ||
57 | |||
58 | { 0x20, KEY_LANGUAGE }, | ||
59 | { 0x21, KEY_SLEEP }, | ||
60 | }; | ||
61 | DEFINE_LEGACY_IR_KEYTABLE(videomate_tv_pvr); | ||
62 | #else | ||
63 | DECLARE_IR_KEYTABLE(videomate_tv_pvr); | ||
64 | #endif | ||
diff --git a/include/media/keycodes/winfast-usbii-deluxe.h b/include/media/keycodes/winfast-usbii-deluxe.h new file mode 100644 index 000000000000..0d2c14f2fed4 --- /dev/null +++ b/include/media/keycodes/winfast-usbii-deluxe.h | |||
@@ -0,0 +1,58 @@ | |||
1 | /* winfast-usbii-deluxe.h - Keytable for winfast_usbii_deluxe Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* Leadtek Winfast TV USB II Deluxe remote | ||
12 | Magnus Alm <magnus.alm@gmail.com> | ||
13 | */ | ||
14 | |||
15 | #ifdef IR_KEYMAPS | ||
16 | static struct ir_scancode winfast_usbii_deluxe[] = { | ||
17 | { 0x62, KEY_0}, | ||
18 | { 0x75, KEY_1}, | ||
19 | { 0x76, KEY_2}, | ||
20 | { 0x77, KEY_3}, | ||
21 | { 0x79, KEY_4}, | ||
22 | { 0x7a, KEY_5}, | ||
23 | { 0x7b, KEY_6}, | ||
24 | { 0x7d, KEY_7}, | ||
25 | { 0x7e, KEY_8}, | ||
26 | { 0x7f, KEY_9}, | ||
27 | |||
28 | { 0x38, KEY_CAMERA}, /* SNAPSHOT */ | ||
29 | { 0x37, KEY_RECORD}, /* RECORD */ | ||
30 | { 0x35, KEY_TIME}, /* TIMESHIFT */ | ||
31 | |||
32 | { 0x74, KEY_VOLUMEUP}, /* VOLUMEUP */ | ||
33 | { 0x78, KEY_VOLUMEDOWN}, /* VOLUMEDOWN */ | ||
34 | { 0x64, KEY_MUTE}, /* MUTE */ | ||
35 | |||
36 | { 0x21, KEY_CHANNEL}, /* SURF */ | ||
37 | { 0x7c, KEY_CHANNELUP}, /* CHANNELUP */ | ||
38 | { 0x60, KEY_CHANNELDOWN}, /* CHANNELDOWN */ | ||
39 | { 0x61, KEY_LAST}, /* LAST CHANNEL (RECALL) */ | ||
40 | |||
41 | { 0x72, KEY_VIDEO}, /* INPUT MODES (TV/FM) */ | ||
42 | |||
43 | { 0x70, KEY_POWER2}, /* TV ON/OFF */ | ||
44 | |||
45 | { 0x39, KEY_CYCLEWINDOWS}, /* MINIMIZE (BOSS) */ | ||
46 | { 0x3a, KEY_NEW}, /* PIP */ | ||
47 | { 0x73, KEY_ZOOM}, /* FULLSECREEN */ | ||
48 | |||
49 | { 0x66, KEY_INFO}, /* OSD (DISPLAY) */ | ||
50 | |||
51 | { 0x31, KEY_DOT}, /* '.' */ | ||
52 | { 0x63, KEY_ENTER}, /* ENTER */ | ||
53 | |||
54 | }; | ||
55 | DEFINE_LEGACY_IR_KEYTABLE(winfast_usbii_deluxe); | ||
56 | #else | ||
57 | DECLARE_IR_KEYTABLE(winfast_usbii_deluxe); | ||
58 | #endif | ||
diff --git a/include/media/keycodes/winfast.h b/include/media/keycodes/winfast.h new file mode 100644 index 000000000000..4f42e24efd4d --- /dev/null +++ b/include/media/keycodes/winfast.h | |||
@@ -0,0 +1,78 @@ | |||
1 | /* winfast.h - Keytable for winfast Remote Controller | ||
2 | * | ||
3 | * Imported from ir-keymaps.c | ||
4 | * | ||
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 | |||
11 | /* Table for Leadtek Winfast Remote Controls - used by both bttv and cx88 */ | ||
12 | |||
13 | #ifdef IR_KEYMAPS | ||
14 | static struct ir_scancode winfast[] = { | ||
15 | /* Keys 0 to 9 */ | ||
16 | { 0x12, KEY_0 }, | ||
17 | { 0x05, KEY_1 }, | ||
18 | { 0x06, KEY_2 }, | ||
19 | { 0x07, KEY_3 }, | ||
20 | { 0x09, KEY_4 }, | ||
21 | { 0x0a, KEY_5 }, | ||
22 | { 0x0b, KEY_6 }, | ||
23 | { 0x0d, KEY_7 }, | ||
24 | { 0x0e, KEY_8 }, | ||
25 | { 0x0f, KEY_9 }, | ||
26 | |||
27 | { 0x00, KEY_POWER }, | ||
28 | { 0x1b, KEY_AUDIO }, /* Audio Source */ | ||
29 | { 0x02, KEY_TUNER }, /* TV/FM, not on Y0400052 */ | ||
30 | { 0x1e, KEY_VIDEO }, /* Video Source */ | ||
31 | { 0x16, KEY_INFO }, /* Display information */ | ||
32 | { 0x04, KEY_VOLUMEUP }, | ||
33 | { 0x08, KEY_VOLUMEDOWN }, | ||
34 | { 0x0c, KEY_CHANNELUP }, | ||
35 | { 0x10, KEY_CHANNELDOWN }, | ||
36 | { 0x03, KEY_ZOOM }, /* fullscreen */ | ||
37 | { 0x1f, KEY_TEXT }, /* closed caption/teletext */ | ||
38 | { 0x20, KEY_SLEEP }, | ||
39 | { 0x29, KEY_CLEAR }, /* boss key */ | ||
40 | { 0x14, KEY_MUTE }, | ||
41 | { 0x2b, KEY_RED }, | ||
42 | { 0x2c, KEY_GREEN }, | ||
43 | { 0x2d, KEY_YELLOW }, | ||
44 | { 0x2e, KEY_BLUE }, | ||
45 | { 0x18, KEY_KPPLUS }, /* fine tune + , not on Y040052 */ | ||
46 | { 0x19, KEY_KPMINUS }, /* fine tune - , not on Y040052 */ | ||
47 | { 0x2a, KEY_MEDIA }, /* PIP (Picture in picture */ | ||
48 | { 0x21, KEY_DOT }, | ||
49 | { 0x13, KEY_ENTER }, | ||
50 | { 0x11, KEY_LAST }, /* Recall (last channel */ | ||
51 | { 0x22, KEY_PREVIOUS }, | ||
52 | { 0x23, KEY_PLAYPAUSE }, | ||
53 | { 0x24, KEY_NEXT }, | ||
54 | { 0x25, KEY_TIME }, /* Time Shifting */ | ||
55 | { 0x26, KEY_STOP }, | ||
56 | { 0x27, KEY_RECORD }, | ||
57 | { 0x28, KEY_SAVE }, /* Screenshot */ | ||
58 | { 0x2f, KEY_MENU }, | ||
59 | { 0x30, KEY_CANCEL }, | ||
60 | { 0x31, KEY_CHANNEL }, /* Channel Surf */ | ||
61 | { 0x32, KEY_SUBTITLE }, | ||
62 | { 0x33, KEY_LANGUAGE }, | ||
63 | { 0x34, KEY_REWIND }, | ||
64 | { 0x35, KEY_FASTFORWARD }, | ||
65 | { 0x36, KEY_TV }, | ||
66 | { 0x37, KEY_RADIO }, /* FM */ | ||
67 | { 0x38, KEY_DVD }, | ||
68 | |||
69 | { 0x1a, KEY_MODE}, /* change to MCE mode on Y04G0051 */ | ||
70 | { 0x3e, KEY_F21 }, /* MCE +VOL, on Y04G0033 */ | ||
71 | { 0x3a, KEY_F22 }, /* MCE -VOL, on Y04G0033 */ | ||
72 | { 0x3b, KEY_F23 }, /* MCE +CH, on Y04G0033 */ | ||
73 | { 0x3f, KEY_F24 } /* MCE -CH, on Y04G0033 */ | ||
74 | }; | ||
75 | DEFINE_LEGACY_IR_KEYTABLE(winfast); | ||
76 | #else | ||
77 | DECLARE_IR_KEYTABLE(winfast); | ||
78 | #endif | ||