1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26#include <linux/module.h>
27
28#include <linux/input.h>
29#include <media/ir-common.h>
30
31
32static struct ir_scancode ir_codes_empty[] = {
33 { 0x2a, KEY_COFFEE },
34};
35
36struct ir_scancode_table ir_codes_empty_table = {
37 .scan = ir_codes_empty,
38 .size = ARRAY_SIZE(ir_codes_empty),
39};
40EXPORT_SYMBOL_GPL(ir_codes_empty_table);
41
42
43static struct ir_scancode ir_codes_proteus_2309[] = {
44
45 { 0x00, KEY_0 },
46 { 0x01, KEY_1 },
47 { 0x02, KEY_2 },
48 { 0x03, KEY_3 },
49 { 0x04, KEY_4 },
50 { 0x05, KEY_5 },
51 { 0x06, KEY_6 },
52 { 0x07, KEY_7 },
53 { 0x08, KEY_8 },
54 { 0x09, KEY_9 },
55
56 { 0x5c, KEY_POWER },
57 { 0x20, KEY_ZOOM },
58 { 0x0f, KEY_BACKSPACE },
59 { 0x1b, KEY_ENTER },
60 { 0x41, KEY_RECORD },
61 { 0x43, KEY_STOP },
62 { 0x16, KEY_S },
63 { 0x1a, KEY_POWER2 },
64 { 0x2e, KEY_RED },
65 { 0x1f, KEY_CHANNELDOWN },
66 { 0x1c, KEY_CHANNELUP },
67 { 0x10, KEY_VOLUMEDOWN },
68 { 0x1e, KEY_VOLUMEUP },
69 { 0x14, KEY_F1 },
70};
71
72struct ir_scancode_table ir_codes_proteus_2309_table = {
73 .scan = ir_codes_proteus_2309,
74 .size = ARRAY_SIZE(ir_codes_proteus_2309),
75};
76EXPORT_SYMBOL_GPL(ir_codes_proteus_2309_table);
77
78
79static struct ir_scancode ir_codes_avermedia_dvbt[] = {
80 { 0x28, KEY_0 },
81 { 0x22, KEY_1 },
82 { 0x12, KEY_2 },
83 { 0x32, KEY_3 },
84 { 0x24, KEY_4 },
85 { 0x14, KEY_5 },
86 { 0x34, KEY_6 },
87 { 0x26, KEY_7 },
88 { 0x16, KEY_8 },
89 { 0x36, KEY_9 },
90
91 { 0x20, KEY_LIST },
92 { 0x10, KEY_TEXT },
93 { 0x00, KEY_POWER },
94 { 0x04, KEY_AUDIO },
95 { 0x06, KEY_ZOOM },
96 { 0x18, KEY_VIDEO },
97 { 0x38, KEY_SEARCH },
98 { 0x08, KEY_INFO },
99 { 0x2a, KEY_REWIND },
100 { 0x1a, KEY_FASTFORWARD },
101 { 0x3a, KEY_RECORD },
102 { 0x0a, KEY_MUTE },
103 { 0x2c, KEY_RECORD },
104 { 0x1c, KEY_PAUSE },
105 { 0x3c, KEY_STOP },
106 { 0x0c, KEY_PLAY },
107 { 0x2e, KEY_RED },
108 { 0x01, KEY_BLUE },
109 { 0x0e, KEY_YELLOW },
110 { 0x21, KEY_GREEN },
111 { 0x11, KEY_CHANNELDOWN },
112 { 0x31, KEY_CHANNELUP },
113 { 0x1e, KEY_VOLUMEDOWN },
114 { 0x3e, KEY_VOLUMEUP },
115};
116
117struct ir_scancode_table ir_codes_avermedia_dvbt_table = {
118 .scan = ir_codes_avermedia_dvbt,
119 .size = ARRAY_SIZE(ir_codes_avermedia_dvbt),
120};
121EXPORT_SYMBOL_GPL(ir_codes_avermedia_dvbt_table);
122
123
124static struct ir_scancode ir_codes_avermedia_m135a[] = {
125 { 0x00, KEY_POWER2 },
126 { 0x2e, KEY_DOT },
127 { 0x01, KEY_MODE },
128
129 { 0x05, KEY_1 },
130 { 0x06, KEY_2 },
131 { 0x07, KEY_3 },
132 { 0x09, KEY_4 },
133 { 0x0a, KEY_5 },
134 { 0x0b, KEY_6 },
135 { 0x0d, KEY_7 },
136 { 0x0e, KEY_8 },
137 { 0x0f, KEY_9 },
138 { 0x11, KEY_0 },
139
140 { 0x13, KEY_RIGHT },
141 { 0x12, KEY_LEFT },
142
143 { 0x17, KEY_SLEEP },
144 { 0x10, KEY_SHUFFLE },
145
146
147
148 { 0x43, KEY_CHANNELUP },
149 { 0x42, KEY_CHANNELDOWN },
150 { 0x1f, KEY_VOLUMEUP },
151 { 0x1e, KEY_VOLUMEDOWN },
152 { 0x0c, KEY_ENTER },
153
154 { 0x14, KEY_MUTE },
155 { 0x08, KEY_AUDIO },
156
157 { 0x03, KEY_TEXT },
158 { 0x04, KEY_EPG },
159 { 0x2b, KEY_TV2 },
160
161 { 0x1d, KEY_RED },
162 { 0x1c, KEY_YELLOW },
163 { 0x41, KEY_GREEN },
164 { 0x40, KEY_BLUE },
165
166 { 0x1a, KEY_PLAYPAUSE },
167 { 0x19, KEY_RECORD },
168 { 0x18, KEY_PLAY },
169 { 0x1b, KEY_STOP },
170};
171
172struct ir_scancode_table ir_codes_avermedia_m135a_table = {
173 .scan = ir_codes_avermedia_m135a,
174 .size = ARRAY_SIZE(ir_codes_avermedia_m135a),
175};
176EXPORT_SYMBOL_GPL(ir_codes_avermedia_m135a_table);
177
178
179static struct ir_scancode ir_codes_avermedia_cardbus[] = {
180 { 0x00, KEY_POWER },
181 { 0x01, KEY_TUNER },
182 { 0x03, KEY_TEXT },
183 { 0x04, KEY_EPG },
184 { 0x05, KEY_1 },
185 { 0x06, KEY_2 },
186 { 0x07, KEY_3 },
187 { 0x08, KEY_AUDIO },
188 { 0x09, KEY_4 },
189 { 0x0a, KEY_5 },
190 { 0x0b, KEY_6 },
191 { 0x0c, KEY_ZOOM },
192 { 0x0d, KEY_7 },
193 { 0x0e, KEY_8 },
194 { 0x0f, KEY_9 },
195 { 0x10, KEY_PAGEUP },
196 { 0x11, KEY_0 },
197 { 0x12, KEY_INFO },
198 { 0x13, KEY_AGAIN },
199 { 0x14, KEY_MUTE },
200 { 0x15, KEY_EDIT },
201 { 0x17, KEY_SAVE },
202 { 0x18, KEY_PLAYPAUSE },
203 { 0x19, KEY_RECORD },
204 { 0x1a, KEY_PLAY },
205 { 0x1b, KEY_STOP },
206 { 0x1c, KEY_FASTFORWARD },
207 { 0x1d, KEY_REWIND },
208 { 0x1e, KEY_VOLUMEDOWN },
209 { 0x1f, KEY_VOLUMEUP },
210 { 0x22, KEY_SLEEP },
211 { 0x23, KEY_ZOOM },
212 { 0x26, KEY_SCREEN },
213 { 0x27, KEY_ANGLE },
214 { 0x28, KEY_SELECT },
215 { 0x29, KEY_BLUE },
216 { 0x2a, KEY_BACKSPACE },
217 { 0x2b, KEY_MEDIA },
218 { 0x2c, KEY_DOWN },
219 { 0x2e, KEY_DOT },
220 { 0x2f, KEY_TV },
221 { 0x32, KEY_LEFT },
222 { 0x33, KEY_CLEAR },
223 { 0x35, KEY_RED },
224 { 0x36, KEY_UP },
225 { 0x37, KEY_HOME },
226 { 0x39, KEY_GREEN },
227 { 0x3d, KEY_YELLOW },
228 { 0x3e, KEY_OK },
229 { 0x3f, KEY_RIGHT },
230 { 0x40, KEY_NEXT },
231 { 0x41, KEY_PREVIOUS },
232 { 0x42, KEY_CHANNELDOWN },
233 { 0x43, KEY_CHANNELUP },
234};
235
236struct ir_scancode_table ir_codes_avermedia_cardbus_table = {
237 .scan = ir_codes_avermedia_cardbus,
238 .size = ARRAY_SIZE(ir_codes_avermedia_cardbus),
239};
240EXPORT_SYMBOL_GPL(ir_codes_avermedia_cardbus_table);
241
242
243static struct ir_scancode ir_codes_apac_viewcomp[] = {
244
245 { 0x01, KEY_1 },
246 { 0x02, KEY_2 },
247 { 0x03, KEY_3 },
248 { 0x04, KEY_4 },
249 { 0x05, KEY_5 },
250 { 0x06, KEY_6 },
251 { 0x07, KEY_7 },
252 { 0x08, KEY_8 },
253 { 0x09, KEY_9 },
254 { 0x00, KEY_0 },
255 { 0x17, KEY_LAST },
256 { 0x0a, KEY_LIST },
257
258
259 { 0x1c, KEY_TUNER },
260 { 0x15, KEY_SEARCH },
261 { 0x12, KEY_POWER },
262 { 0x1f, KEY_VOLUMEDOWN },
263 { 0x1b, KEY_VOLUMEUP },
264 { 0x1e, KEY_CHANNELDOWN },
265 { 0x1a, KEY_CHANNELUP },
266
267 { 0x11, KEY_VIDEO },
268 { 0x0f, KEY_ZOOM },
269 { 0x13, KEY_MUTE },
270 { 0x10, KEY_TEXT },
271
272 { 0x0d, KEY_STOP },
273 { 0x0e, KEY_RECORD },
274 { 0x1d, KEY_PLAYPAUSE },
275 { 0x19, KEY_PLAY },
276
277 { 0x16, KEY_GOTO },
278 { 0x14, KEY_REFRESH },
279 { 0x0c, KEY_KPPLUS },
280 { 0x18, KEY_KPMINUS },
281};
282
283struct ir_scancode_table ir_codes_apac_viewcomp_table = {
284 .scan = ir_codes_apac_viewcomp,
285 .size = ARRAY_SIZE(ir_codes_apac_viewcomp),
286};
287EXPORT_SYMBOL_GPL(ir_codes_apac_viewcomp_table);
288
289
290
291static struct ir_scancode ir_codes_pixelview[] = {
292
293 { 0x1e, KEY_POWER },
294 { 0x07, KEY_MEDIA },
295 { 0x1c, KEY_SEARCH },
296
297
298 { 0x03, KEY_TUNER },
299
300 { 0x00, KEY_RECORD },
301 { 0x08, KEY_STOP },
302 { 0x11, KEY_PLAY },
303
304 { 0x1a, KEY_PLAYPAUSE },
305 { 0x19, KEY_ZOOM },
306 { 0x0f, KEY_TEXT },
307
308 { 0x01, KEY_1 },
309 { 0x0b, KEY_2 },
310 { 0x1b, KEY_3 },
311 { 0x05, KEY_4 },
312 { 0x09, KEY_5 },
313 { 0x15, KEY_6 },
314 { 0x06, KEY_7 },
315 { 0x0a, KEY_8 },
316 { 0x12, KEY_9 },
317 { 0x02, KEY_0 },
318 { 0x10, KEY_LAST },
319 { 0x13, KEY_LIST },
320
321 { 0x1f, KEY_CHANNELUP },
322 { 0x17, KEY_CHANNELDOWN },
323 { 0x16, KEY_VOLUMEUP },
324 { 0x14, KEY_VOLUMEDOWN },
325
326 { 0x04, KEY_KPMINUS },
327 { 0x0e, KEY_SETUP },
328 { 0x0c, KEY_KPPLUS },
329
330 { 0x0d, KEY_GOTO },
331 { 0x1d, KEY_REFRESH },
332 { 0x18, KEY_MUTE },
333};
334
335struct ir_scancode_table ir_codes_pixelview_table = {
336 .scan = ir_codes_pixelview,
337 .size = ARRAY_SIZE(ir_codes_pixelview),
338};
339EXPORT_SYMBOL_GPL(ir_codes_pixelview_table);
340
341
342
343
344
345static struct ir_scancode ir_codes_pixelview_new[] = {
346 { 0x3c, KEY_TIME },
347 { 0x12, KEY_POWER },
348
349 { 0x3d, KEY_1 },
350 { 0x38, KEY_2 },
351 { 0x18, KEY_3 },
352 { 0x35, KEY_4 },
353 { 0x39, KEY_5 },
354 { 0x15, KEY_6 },
355 { 0x36, KEY_7 },
356 { 0x3a, KEY_8 },
357 { 0x1e, KEY_9 },
358 { 0x3e, KEY_0 },
359
360 { 0x1c, KEY_AGAIN },
361 { 0x3f, KEY_MEDIA },
362 { 0x1f, KEY_LAST },
363 { 0x1b, KEY_MUTE },
364
365 { 0x17, KEY_CHANNELDOWN },
366 { 0x16, KEY_CHANNELUP },
367 { 0x10, KEY_VOLUMEUP },
368 { 0x14, KEY_VOLUMEDOWN },
369 { 0x13, KEY_ZOOM },
370
371 { 0x19, KEY_CAMERA },
372 { 0x1a, KEY_SEARCH },
373
374 { 0x37, KEY_REWIND },
375 { 0x32, KEY_RECORD },
376 { 0x33, KEY_FORWARD },
377 { 0x11, KEY_STOP },
378 { 0x3b, KEY_PLAY },
379 { 0x30, KEY_PLAYPAUSE },
380
381 { 0x31, KEY_TV },
382 { 0x34, KEY_RADIO },
383};
384
385struct ir_scancode_table ir_codes_pixelview_new_table = {
386 .scan = ir_codes_pixelview_new,
387 .size = ARRAY_SIZE(ir_codes_pixelview_new),
388};
389EXPORT_SYMBOL_GPL(ir_codes_pixelview_new_table);
390
391static struct ir_scancode ir_codes_nebula[] = {
392 { 0x00, KEY_0 },
393 { 0x01, KEY_1 },
394 { 0x02, KEY_2 },
395 { 0x03, KEY_3 },
396 { 0x04, KEY_4 },
397 { 0x05, KEY_5 },
398 { 0x06, KEY_6 },
399 { 0x07, KEY_7 },
400 { 0x08, KEY_8 },
401 { 0x09, KEY_9 },
402 { 0x0a, KEY_TV },
403 { 0x0b, KEY_AUX },
404 { 0x0c, KEY_DVD },
405 { 0x0d, KEY_POWER },
406 { 0x0e, KEY_MHP },
407 { 0x0f, KEY_AUDIO },
408 { 0x10, KEY_INFO },
409 { 0x11, KEY_F13 },
410 { 0x12, KEY_F14 },
411 { 0x13, KEY_EPG },
412 { 0x14, KEY_EXIT },
413 { 0x15, KEY_MENU },
414 { 0x16, KEY_UP },
415 { 0x17, KEY_DOWN },
416 { 0x18, KEY_LEFT },
417 { 0x19, KEY_RIGHT },
418 { 0x1a, KEY_ENTER },
419 { 0x1b, KEY_CHANNELUP },
420 { 0x1c, KEY_CHANNELDOWN },
421 { 0x1d, KEY_VOLUMEUP },
422 { 0x1e, KEY_VOLUMEDOWN },
423 { 0x1f, KEY_RED },
424 { 0x20, KEY_GREEN },
425 { 0x21, KEY_YELLOW },
426 { 0x22, KEY_BLUE },
427 { 0x23, KEY_SUBTITLE },
428 { 0x24, KEY_F15 },
429 { 0x25, KEY_TEXT },
430 { 0x26, KEY_MUTE },
431 { 0x27, KEY_REWIND },
432 { 0x28, KEY_STOP },
433 { 0x29, KEY_PLAY },
434 { 0x2a, KEY_FASTFORWARD },
435 { 0x2b, KEY_F16 },
436 { 0x2c, KEY_PAUSE },
437 { 0x2d, KEY_PLAY },
438 { 0x2e, KEY_RECORD },
439 { 0x2f, KEY_F17 },
440 { 0x30, KEY_KPPLUS },
441 { 0x31, KEY_KPMINUS },
442 { 0x32, KEY_F18 },
443 { 0x33, KEY_F19 },
444 { 0x34, KEY_EMAIL },
445 { 0x35, KEY_PHONE },
446 { 0x36, KEY_PC },
447};
448
449struct ir_scancode_table ir_codes_nebula_table = {
450 .scan = ir_codes_nebula,
451 .size = ARRAY_SIZE(ir_codes_nebula),
452};
453EXPORT_SYMBOL_GPL(ir_codes_nebula_table);
454
455
456static struct ir_scancode ir_codes_dntv_live_dvb_t[] = {
457 { 0x00, KEY_ESC },
458
459 { 0x0a, KEY_0 },
460 { 0x01, KEY_1 },
461 { 0x02, KEY_2 },
462 { 0x03, KEY_3 },
463 { 0x04, KEY_4 },
464 { 0x05, KEY_5 },
465 { 0x06, KEY_6 },
466 { 0x07, KEY_7 },
467 { 0x08, KEY_8 },
468 { 0x09, KEY_9 },
469
470 { 0x0b, KEY_TUNER },
471 { 0x0c, KEY_SEARCH },
472 { 0x0d, KEY_STOP },
473 { 0x0e, KEY_PAUSE },
474 { 0x0f, KEY_LIST },
475
476 { 0x10, KEY_MUTE },
477 { 0x11, KEY_REWIND },
478 { 0x12, KEY_POWER },
479 { 0x13, KEY_CAMERA },
480 { 0x14, KEY_AUDIO },
481 { 0x15, KEY_CLEAR },
482 { 0x16, KEY_PLAY },
483 { 0x17, KEY_ENTER },
484 { 0x18, KEY_ZOOM },
485 { 0x19, KEY_FASTFORWARD },
486 { 0x1a, KEY_CHANNELUP },
487 { 0x1b, KEY_VOLUMEUP },
488 { 0x1c, KEY_INFO },
489 { 0x1d, KEY_RECORD },
490 { 0x1e, KEY_CHANNELDOWN },
491 { 0x1f, KEY_VOLUMEDOWN },
492};
493
494struct ir_scancode_table ir_codes_dntv_live_dvb_t_table = {
495 .scan = ir_codes_dntv_live_dvb_t,
496 .size = ARRAY_SIZE(ir_codes_dntv_live_dvb_t),
497};
498EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvb_t_table);
499
500
501
502
503static struct ir_scancode ir_codes_iodata_bctv7e[] = {
504 { 0x40, KEY_TV },
505 { 0x20, KEY_RADIO },
506 { 0x60, KEY_EPG },
507 { 0x00, KEY_POWER },
508
509
510 { 0x44, KEY_0 },
511 { 0x50, KEY_1 },
512 { 0x30, KEY_2 },
513 { 0x70, KEY_3 },
514 { 0x48, KEY_4 },
515 { 0x28, KEY_5 },
516 { 0x68, KEY_6 },
517 { 0x58, KEY_7 },
518 { 0x38, KEY_8 },
519 { 0x78, KEY_9 },
520
521 { 0x10, KEY_L },
522 { 0x08, KEY_TIME },
523
524 { 0x18, KEY_PLAYPAUSE },
525
526 { 0x24, KEY_ENTER },
527 { 0x64, KEY_ESC },
528 { 0x04, KEY_M },
529
530 { 0x54, KEY_VIDEO },
531 { 0x34, KEY_CHANNELUP },
532 { 0x74, KEY_VOLUMEUP },
533 { 0x14, KEY_MUTE },
534
535 { 0x4c, KEY_VCR },
536 { 0x2c, KEY_CHANNELDOWN },
537 { 0x6c, KEY_VOLUMEDOWN },
538 { 0x0c, KEY_ZOOM },
539
540 { 0x5c, KEY_PAUSE },
541 { 0x3c, KEY_RED },
542 { 0x7c, KEY_RECORD },
543 { 0x1c, KEY_STOP },
544
545 { 0x41, KEY_REWIND },
546 { 0x21, KEY_PLAY },
547 { 0x61, KEY_FASTFORWARD },
548 { 0x01, KEY_NEXT },
549};
550
551struct ir_scancode_table ir_codes_iodata_bctv7e_table = {
552 .scan = ir_codes_iodata_bctv7e,
553 .size = ARRAY_SIZE(ir_codes_iodata_bctv7e),
554};
555EXPORT_SYMBOL_GPL(ir_codes_iodata_bctv7e_table);
556
557
558
559
560static struct ir_scancode ir_codes_adstech_dvb_t_pci[] = {
561
562 { 0x4d, KEY_0 },
563 { 0x57, KEY_1 },
564 { 0x4f, KEY_2 },
565 { 0x53, KEY_3 },
566 { 0x56, KEY_4 },
567 { 0x4e, KEY_5 },
568 { 0x5e, KEY_6 },
569 { 0x54, KEY_7 },
570 { 0x4c, KEY_8 },
571 { 0x5c, KEY_9 },
572
573 { 0x5b, KEY_POWER },
574 { 0x5f, KEY_MUTE },
575 { 0x55, KEY_GOTO },
576 { 0x5d, KEY_SEARCH },
577 { 0x17, KEY_EPG },
578 { 0x1f, KEY_MENU },
579 { 0x0f, KEY_UP },
580 { 0x46, KEY_DOWN },
581 { 0x16, KEY_LEFT },
582 { 0x1e, KEY_RIGHT },
583 { 0x0e, KEY_SELECT },
584 { 0x5a, KEY_INFO },
585 { 0x52, KEY_EXIT },
586 { 0x59, KEY_PREVIOUS },
587 { 0x51, KEY_NEXT },
588 { 0x58, KEY_REWIND },
589 { 0x50, KEY_FORWARD },
590 { 0x44, KEY_PLAYPAUSE },
591 { 0x07, KEY_STOP },
592 { 0x1b, KEY_RECORD },
593 { 0x13, KEY_TUNER },
594 { 0x0a, KEY_A },
595 { 0x12, KEY_B },
596 { 0x03, KEY_PROG1 },
597 { 0x01, KEY_PROG2 },
598 { 0x00, KEY_PROG3 },
599 { 0x06, KEY_DVD },
600 { 0x48, KEY_AUX },
601 { 0x40, KEY_VIDEO },
602 { 0x19, KEY_AUDIO },
603 { 0x0b, KEY_CHANNELUP },
604 { 0x08, KEY_CHANNELDOWN },
605 { 0x15, KEY_VOLUMEUP },
606 { 0x1c, KEY_VOLUMEDOWN },
607};
608
609struct ir_scancode_table ir_codes_adstech_dvb_t_pci_table = {
610 .scan = ir_codes_adstech_dvb_t_pci,
611 .size = ARRAY_SIZE(ir_codes_adstech_dvb_t_pci),
612};
613EXPORT_SYMBOL_GPL(ir_codes_adstech_dvb_t_pci_table);
614
615
616
617
618
619static struct ir_scancode ir_codes_msi_tvanywhere[] = {
620
621 { 0x00, KEY_0 },
622 { 0x01, KEY_1 },
623 { 0x02, KEY_2 },
624 { 0x03, KEY_3 },
625 { 0x04, KEY_4 },
626 { 0x05, KEY_5 },
627 { 0x06, KEY_6 },
628 { 0x07, KEY_7 },
629 { 0x08, KEY_8 },
630 { 0x09, KEY_9 },
631
632 { 0x0c, KEY_MUTE },
633 { 0x0f, KEY_SCREEN },
634 { 0x10, KEY_FN },
635 { 0x11, KEY_TIME },
636 { 0x12, KEY_POWER },
637 { 0x13, KEY_MEDIA },
638 { 0x14, KEY_SLOW },
639 { 0x16, KEY_REWIND },
640 { 0x17, KEY_ENTER },
641 { 0x18, KEY_FASTFORWARD },
642 { 0x1a, KEY_CHANNELUP },
643 { 0x1b, KEY_VOLUMEUP },
644 { 0x1e, KEY_CHANNELDOWN },
645 { 0x1f, KEY_VOLUMEDOWN },
646};
647
648struct ir_scancode_table ir_codes_msi_tvanywhere_table = {
649 .scan = ir_codes_msi_tvanywhere,
650 .size = ARRAY_SIZE(ir_codes_msi_tvanywhere),
651};
652EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere_table);
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671static struct ir_scancode ir_codes_msi_tvanywhere_plus[] = {
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693 { 0x01, KEY_1 },
694 { 0x0b, KEY_2 },
695 { 0x1b, KEY_3 },
696 { 0x05, KEY_4 },
697 { 0x09, KEY_5 },
698 { 0x15, KEY_6 },
699 { 0x06, KEY_7 },
700 { 0x0a, KEY_8 },
701 { 0x12, KEY_9 },
702 { 0x02, KEY_0 },
703 { 0x10, KEY_KPPLUS },
704 { 0x13, KEY_AGAIN },
705
706 { 0x1e, KEY_POWER },
707 { 0x07, KEY_TUNER },
708 { 0x1c, KEY_SEARCH },
709 { 0x18, KEY_MUTE },
710
711 { 0x03, KEY_RADIO },
712
713
714
715
716
717 { 0x3f, KEY_RIGHT },
718 { 0x37, KEY_LEFT },
719 { 0x2c, KEY_UP },
720 { 0x24, KEY_DOWN },
721
722 { 0x00, KEY_RECORD },
723 { 0x08, KEY_STOP },
724 { 0x11, KEY_PLAY },
725
726 { 0x0f, KEY_CLOSE },
727 { 0x19, KEY_ZOOM },
728 { 0x1a, KEY_CAMERA },
729 { 0x0d, KEY_LANGUAGE },
730
731 { 0x14, KEY_VOLUMEDOWN },
732 { 0x16, KEY_VOLUMEUP },
733 { 0x17, KEY_CHANNELDOWN },
734 { 0x1f, KEY_CHANNELUP },
735
736 { 0x04, KEY_REWIND },
737 { 0x0e, KEY_MENU },
738 { 0x0c, KEY_FASTFORWARD },
739 { 0x1d, KEY_RESTART },
740};
741
742struct ir_scancode_table ir_codes_msi_tvanywhere_plus_table = {
743 .scan = ir_codes_msi_tvanywhere_plus,
744 .size = ARRAY_SIZE(ir_codes_msi_tvanywhere_plus),
745};
746EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere_plus_table);
747
748
749
750
751static struct ir_scancode ir_codes_cinergy_1400[] = {
752 { 0x01, KEY_POWER },
753 { 0x02, KEY_1 },
754 { 0x03, KEY_2 },
755 { 0x04, KEY_3 },
756 { 0x05, KEY_4 },
757 { 0x06, KEY_5 },
758 { 0x07, KEY_6 },
759 { 0x08, KEY_7 },
760 { 0x09, KEY_8 },
761 { 0x0a, KEY_9 },
762 { 0x0c, KEY_0 },
763
764 { 0x0b, KEY_VIDEO },
765 { 0x0d, KEY_REFRESH },
766 { 0x0e, KEY_SELECT },
767 { 0x0f, KEY_EPG },
768 { 0x10, KEY_UP },
769 { 0x11, KEY_LEFT },
770 { 0x12, KEY_OK },
771 { 0x13, KEY_RIGHT },
772 { 0x14, KEY_DOWN },
773 { 0x15, KEY_TEXT },
774 { 0x16, KEY_INFO },
775
776 { 0x17, KEY_RED },
777 { 0x18, KEY_GREEN },
778 { 0x19, KEY_YELLOW },
779 { 0x1a, KEY_BLUE },
780
781 { 0x1b, KEY_CHANNELUP },
782 { 0x1c, KEY_VOLUMEUP },
783 { 0x1d, KEY_MUTE },
784 { 0x1e, KEY_VOLUMEDOWN },
785 { 0x1f, KEY_CHANNELDOWN },
786
787 { 0x40, KEY_PAUSE },
788 { 0x4c, KEY_PLAY },
789 { 0x58, KEY_RECORD },
790 { 0x54, KEY_PREVIOUS },
791 { 0x48, KEY_STOP },
792 { 0x5c, KEY_NEXT },
793};
794
795struct ir_scancode_table ir_codes_cinergy_1400_table = {
796 .scan = ir_codes_cinergy_1400,
797 .size = ARRAY_SIZE(ir_codes_cinergy_1400),
798};
799EXPORT_SYMBOL_GPL(ir_codes_cinergy_1400_table);
800
801
802
803
804static struct ir_scancode ir_codes_avertv_303[] = {
805 { 0x2a, KEY_1 },
806 { 0x32, KEY_2 },
807 { 0x3a, KEY_3 },
808 { 0x4a, KEY_4 },
809 { 0x52, KEY_5 },
810 { 0x5a, KEY_6 },
811 { 0x6a, KEY_7 },
812 { 0x72, KEY_8 },
813 { 0x7a, KEY_9 },
814 { 0x0e, KEY_0 },
815
816 { 0x02, KEY_POWER },
817 { 0x22, KEY_VIDEO },
818 { 0x42, KEY_AUDIO },
819 { 0x62, KEY_ZOOM },
820 { 0x0a, KEY_TV },
821 { 0x12, KEY_CD },
822 { 0x1a, KEY_TEXT },
823
824 { 0x16, KEY_SUBTITLE },
825 { 0x1e, KEY_REWIND },
826 { 0x06, KEY_PRINT },
827
828 { 0x2e, KEY_SEARCH },
829 { 0x36, KEY_SLEEP },
830 { 0x3e, KEY_SHUFFLE },
831 { 0x26, KEY_MUTE },
832
833 { 0x4e, KEY_RECORD },
834 { 0x56, KEY_PAUSE },
835 { 0x5e, KEY_STOP },
836 { 0x46, KEY_PLAY },
837
838 { 0x6e, KEY_RED },
839 { 0x0b, KEY_GREEN },
840 { 0x66, KEY_YELLOW },
841 { 0x03, KEY_BLUE },
842
843 { 0x76, KEY_LEFT },
844 { 0x7e, KEY_RIGHT },
845 { 0x13, KEY_DOWN },
846 { 0x1b, KEY_UP },
847};
848
849struct ir_scancode_table ir_codes_avertv_303_table = {
850 .scan = ir_codes_avertv_303,
851 .size = ARRAY_SIZE(ir_codes_avertv_303),
852};
853EXPORT_SYMBOL_GPL(ir_codes_avertv_303_table);
854
855
856
857
858static struct ir_scancode ir_codes_dntv_live_dvbt_pro[] = {
859 { 0x16, KEY_POWER },
860 { 0x5b, KEY_HOME },
861
862 { 0x55, KEY_TV },
863 { 0x58, KEY_TUNER },
864 { 0x5a, KEY_RADIO },
865 { 0x59, KEY_DVD },
866 { 0x03, KEY_1 },
867 { 0x01, KEY_2 },
868 { 0x06, KEY_3 },
869 { 0x09, KEY_4 },
870 { 0x1d, KEY_5 },
871 { 0x1f, KEY_6 },
872 { 0x0d, KEY_7 },
873 { 0x19, KEY_8 },
874 { 0x1b, KEY_9 },
875 { 0x0c, KEY_CANCEL },
876 { 0x15, KEY_0 },
877 { 0x4a, KEY_CLEAR },
878 { 0x13, KEY_BACK },
879 { 0x00, KEY_TAB },
880 { 0x4b, KEY_UP },
881 { 0x4e, KEY_LEFT },
882 { 0x4f, KEY_OK },
883 { 0x52, KEY_RIGHT },
884 { 0x51, KEY_DOWN },
885 { 0x1e, KEY_VOLUMEUP },
886 { 0x0a, KEY_VOLUMEDOWN },
887 { 0x02, KEY_CHANNELDOWN },
888 { 0x05, KEY_CHANNELUP },
889 { 0x11, KEY_RECORD },
890 { 0x14, KEY_PLAY },
891 { 0x4c, KEY_PAUSE },
892 { 0x1a, KEY_STOP },
893 { 0x40, KEY_REWIND },
894 { 0x12, KEY_FASTFORWARD },
895 { 0x41, KEY_PREVIOUSSONG },
896 { 0x42, KEY_NEXTSONG },
897 { 0x54, KEY_CAMERA },
898 { 0x50, KEY_LANGUAGE },
899 { 0x47, KEY_TV2 },
900 { 0x4d, KEY_SCREEN },
901 { 0x43, KEY_SUBTITLE },
902 { 0x10, KEY_MUTE },
903 { 0x49, KEY_AUDIO },
904 { 0x07, KEY_SLEEP },
905 { 0x08, KEY_VIDEO },
906 { 0x0e, KEY_PREVIOUS },
907 { 0x45, KEY_ZOOM },
908 { 0x46, KEY_ANGLE },
909 { 0x56, KEY_RED },
910 { 0x57, KEY_GREEN },
911 { 0x5c, KEY_YELLOW },
912 { 0x5d, KEY_BLUE },
913};
914
915struct ir_scancode_table ir_codes_dntv_live_dvbt_pro_table = {
916 .scan = ir_codes_dntv_live_dvbt_pro,
917 .size = ARRAY_SIZE(ir_codes_dntv_live_dvbt_pro),
918};
919EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvbt_pro_table);
920
921static struct ir_scancode ir_codes_em_terratec[] = {
922 { 0x01, KEY_CHANNEL },
923 { 0x02, KEY_SELECT },
924 { 0x03, KEY_MUTE },
925 { 0x04, KEY_POWER },
926 { 0x05, KEY_1 },
927 { 0x06, KEY_2 },
928 { 0x07, KEY_3 },
929 { 0x08, KEY_CHANNELUP },
930 { 0x09, KEY_4 },
931 { 0x0a, KEY_5 },
932 { 0x0b, KEY_6 },
933 { 0x0c, KEY_CHANNELDOWN },
934 { 0x0d, KEY_7 },
935 { 0x0e, KEY_8 },
936 { 0x0f, KEY_9 },
937 { 0x10, KEY_VOLUMEUP },
938 { 0x11, KEY_0 },
939 { 0x12, KEY_MENU },
940 { 0x13, KEY_PRINT },
941 { 0x14, KEY_VOLUMEDOWN },
942 { 0x16, KEY_PAUSE },
943 { 0x18, KEY_RECORD },
944 { 0x19, KEY_REWIND },
945 { 0x1a, KEY_PLAY },
946 { 0x1b, KEY_FORWARD },
947 { 0x1c, KEY_BACKSPACE },
948 { 0x1e, KEY_STOP },
949 { 0x40, KEY_ZOOM },
950};
951
952struct ir_scancode_table ir_codes_em_terratec_table = {
953 .scan = ir_codes_em_terratec,
954 .size = ARRAY_SIZE(ir_codes_em_terratec),
955};
956EXPORT_SYMBOL_GPL(ir_codes_em_terratec_table);
957
958static struct ir_scancode ir_codes_pinnacle_grey[] = {
959 { 0x3a, KEY_0 },
960 { 0x31, KEY_1 },
961 { 0x32, KEY_2 },
962 { 0x33, KEY_3 },
963 { 0x34, KEY_4 },
964 { 0x35, KEY_5 },
965 { 0x36, KEY_6 },
966 { 0x37, KEY_7 },
967 { 0x38, KEY_8 },
968 { 0x39, KEY_9 },
969
970 { 0x2f, KEY_POWER },
971
972 { 0x2e, KEY_P },
973 { 0x1f, KEY_L },
974 { 0x2b, KEY_I },
975
976 { 0x2d, KEY_SCREEN },
977 { 0x1e, KEY_ZOOM },
978 { 0x1b, KEY_VOLUMEUP },
979 { 0x0f, KEY_VOLUMEDOWN },
980 { 0x17, KEY_CHANNELUP },
981 { 0x1c, KEY_CHANNELDOWN },
982 { 0x25, KEY_INFO },
983
984 { 0x3c, KEY_MUTE },
985
986 { 0x3d, KEY_LEFT },
987 { 0x3b, KEY_RIGHT },
988
989 { 0x3f, KEY_UP },
990 { 0x3e, KEY_DOWN },
991 { 0x1a, KEY_ENTER },
992
993 { 0x1d, KEY_MENU },
994 { 0x19, KEY_AGAIN },
995 { 0x16, KEY_PREVIOUSSONG },
996 { 0x13, KEY_NEXTSONG },
997 { 0x15, KEY_PAUSE },
998 { 0x0e, KEY_REWIND },
999 { 0x0d, KEY_PLAY },
1000 { 0x0b, KEY_STOP },
1001 { 0x07, KEY_FORWARD },
1002 { 0x27, KEY_RECORD },
1003 { 0x26, KEY_TUNER },
1004 { 0x29, KEY_TEXT },
1005 { 0x2a, KEY_MEDIA },
1006 { 0x18, KEY_EPG },
1007};
1008
1009struct ir_scancode_table ir_codes_pinnacle_grey_table = {
1010 .scan = ir_codes_pinnacle_grey,
1011 .size = ARRAY_SIZE(ir_codes_pinnacle_grey),
1012};
1013EXPORT_SYMBOL_GPL(ir_codes_pinnacle_grey_table);
1014
1015static struct ir_scancode ir_codes_flyvideo[] = {
1016 { 0x0f, KEY_0 },
1017 { 0x03, KEY_1 },
1018 { 0x04, KEY_2 },
1019 { 0x05, KEY_3 },
1020 { 0x07, KEY_4 },
1021 { 0x08, KEY_5 },
1022 { 0x09, KEY_6 },
1023 { 0x0b, KEY_7 },
1024 { 0x0c, KEY_8 },
1025 { 0x0d, KEY_9 },
1026
1027 { 0x0e, KEY_MODE },
1028 { 0x11, KEY_VIDEO },
1029 { 0x15, KEY_AUDIO },
1030 { 0x00, KEY_POWER },
1031 { 0x18, KEY_TUNER },
1032 { 0x02, KEY_ZOOM },
1033 { 0x1a, KEY_LANGUAGE },
1034 { 0x1b, KEY_MUTE },
1035 { 0x14, KEY_VOLUMEUP },
1036 { 0x17, KEY_VOLUMEDOWN },
1037 { 0x12, KEY_CHANNELUP },
1038 { 0x13, KEY_CHANNELDOWN },
1039 { 0x06, KEY_AGAIN },
1040 { 0x10, KEY_ENTER },
1041
1042 { 0x19, KEY_BACK },
1043 { 0x1f, KEY_FORWARD },
1044 { 0x0a, KEY_ANGLE },
1045};
1046
1047struct ir_scancode_table ir_codes_flyvideo_table = {
1048 .scan = ir_codes_flyvideo,
1049 .size = ARRAY_SIZE(ir_codes_flyvideo),
1050};
1051EXPORT_SYMBOL_GPL(ir_codes_flyvideo_table);
1052
1053static struct ir_scancode ir_codes_flydvb[] = {
1054 { 0x01, KEY_ZOOM },
1055 { 0x00, KEY_POWER },
1056
1057 { 0x03, KEY_1 },
1058 { 0x04, KEY_2 },
1059 { 0x05, KEY_3 },
1060 { 0x07, KEY_4 },
1061 { 0x08, KEY_5 },
1062 { 0x09, KEY_6 },
1063 { 0x0b, KEY_7 },
1064 { 0x0c, KEY_8 },
1065 { 0x0d, KEY_9 },
1066 { 0x06, KEY_AGAIN },
1067 { 0x0f, KEY_0 },
1068 { 0x10, KEY_MUTE },
1069 { 0x02, KEY_RADIO },
1070 { 0x1b, KEY_LANGUAGE },
1071
1072 { 0x14, KEY_VOLUMEUP },
1073 { 0x17, KEY_VOLUMEDOWN },
1074 { 0x12, KEY_CHANNELUP },
1075 { 0x13, KEY_CHANNELDOWN },
1076 { 0x1d, KEY_ENTER },
1077
1078 { 0x1a, KEY_MODE },
1079 { 0x18, KEY_TUNER },
1080
1081 { 0x1e, KEY_RECORD },
1082 { 0x15, KEY_ANGLE },
1083 { 0x1c, KEY_PAUSE },
1084 { 0x19, KEY_BACK },
1085 { 0x0a, KEY_PLAYPAUSE },
1086 { 0x1f, KEY_FORWARD },
1087 { 0x16, KEY_PREVIOUS },
1088 { 0x11, KEY_STOP },
1089 { 0x0e, KEY_NEXT },
1090};
1091
1092struct ir_scancode_table ir_codes_flydvb_table = {
1093 .scan = ir_codes_flydvb,
1094 .size = ARRAY_SIZE(ir_codes_flydvb),
1095};
1096EXPORT_SYMBOL_GPL(ir_codes_flydvb_table);
1097
1098static struct ir_scancode ir_codes_cinergy[] = {
1099 { 0x00, KEY_0 },
1100 { 0x01, KEY_1 },
1101 { 0x02, KEY_2 },
1102 { 0x03, KEY_3 },
1103 { 0x04, KEY_4 },
1104 { 0x05, KEY_5 },
1105 { 0x06, KEY_6 },
1106 { 0x07, KEY_7 },
1107 { 0x08, KEY_8 },
1108 { 0x09, KEY_9 },
1109
1110 { 0x0a, KEY_POWER },
1111 { 0x0b, KEY_PROG1 },
1112 { 0x0c, KEY_ZOOM },
1113 { 0x0d, KEY_CHANNELUP },
1114 { 0x0e, KEY_CHANNELDOWN },
1115 { 0x0f, KEY_VOLUMEUP },
1116 { 0x10, KEY_VOLUMEDOWN },
1117 { 0x11, KEY_TUNER },
1118 { 0x12, KEY_NUMLOCK },
1119 { 0x13, KEY_AUDIO },
1120 { 0x14, KEY_MUTE },
1121 { 0x15, KEY_UP },
1122 { 0x16, KEY_DOWN },
1123 { 0x17, KEY_LEFT },
1124 { 0x18, KEY_RIGHT },
1125 { 0x19, BTN_LEFT, },
1126 { 0x1a, BTN_RIGHT, },
1127 { 0x1b, KEY_WWW },
1128 { 0x1c, KEY_REWIND },
1129 { 0x1d, KEY_FORWARD },
1130 { 0x1e, KEY_RECORD },
1131 { 0x1f, KEY_PLAY },
1132 { 0x20, KEY_PREVIOUSSONG },
1133 { 0x21, KEY_NEXTSONG },
1134 { 0x22, KEY_PAUSE },
1135 { 0x23, KEY_STOP },
1136};
1137
1138struct ir_scancode_table ir_codes_cinergy_table = {
1139 .scan = ir_codes_cinergy,
1140 .size = ARRAY_SIZE(ir_codes_cinergy),
1141};
1142EXPORT_SYMBOL_GPL(ir_codes_cinergy_table);
1143
1144
1145
1146static struct ir_scancode ir_codes_eztv[] = {
1147 { 0x12, KEY_POWER },
1148 { 0x01, KEY_TV },
1149 { 0x15, KEY_DVD },
1150 { 0x17, KEY_AUDIO },
1151
1152
1153 { 0x1b, KEY_MUTE },
1154 { 0x02, KEY_LANGUAGE },
1155 { 0x1e, KEY_SUBTITLE },
1156 { 0x16, KEY_ZOOM },
1157 { 0x1c, KEY_VIDEO },
1158 { 0x1d, KEY_RESTART },
1159 { 0x2f, KEY_SEARCH },
1160 { 0x30, KEY_CHANNEL },
1161
1162 { 0x31, KEY_HELP },
1163 { 0x32, KEY_MODE },
1164 { 0x33, KEY_ESC },
1165
1166 { 0x0c, KEY_UP },
1167 { 0x10, KEY_DOWN },
1168 { 0x08, KEY_LEFT },
1169 { 0x04, KEY_RIGHT },
1170 { 0x03, KEY_SELECT },
1171
1172 { 0x1f, KEY_REWIND },
1173 { 0x20, KEY_PLAYPAUSE },
1174 { 0x29, KEY_FORWARD },
1175 { 0x14, KEY_AGAIN },
1176 { 0x2b, KEY_RECORD },
1177 { 0x2c, KEY_STOP },
1178 { 0x2d, KEY_PLAY },
1179 { 0x2e, KEY_CAMERA },
1180
1181 { 0x00, KEY_0 },
1182 { 0x05, KEY_1 },
1183 { 0x06, KEY_2 },
1184 { 0x07, KEY_3 },
1185 { 0x09, KEY_4 },
1186 { 0x0a, KEY_5 },
1187 { 0x0b, KEY_6 },
1188 { 0x0d, KEY_7 },
1189 { 0x0e, KEY_8 },
1190 { 0x0f, KEY_9 },
1191
1192 { 0x2a, KEY_VOLUMEUP },
1193 { 0x11, KEY_VOLUMEDOWN },
1194 { 0x18, KEY_CHANNELUP },
1195 { 0x19, KEY_CHANNELDOWN },
1196
1197 { 0x13, KEY_ENTER },
1198 { 0x21, KEY_DOT },
1199};
1200
1201struct ir_scancode_table ir_codes_eztv_table = {
1202 .scan = ir_codes_eztv,
1203 .size = ARRAY_SIZE(ir_codes_eztv),
1204};
1205EXPORT_SYMBOL_GPL(ir_codes_eztv_table);
1206
1207
1208static struct ir_scancode ir_codes_avermedia[] = {
1209 { 0x28, KEY_1 },
1210 { 0x18, KEY_2 },
1211 { 0x38, KEY_3 },
1212 { 0x24, KEY_4 },
1213 { 0x14, KEY_5 },
1214 { 0x34, KEY_6 },
1215 { 0x2c, KEY_7 },
1216 { 0x1c, KEY_8 },
1217 { 0x3c, KEY_9 },
1218 { 0x22, KEY_0 },
1219
1220 { 0x20, KEY_TV },
1221 { 0x10, KEY_CD },
1222 { 0x30, KEY_TEXT },
1223 { 0x00, KEY_POWER },
1224
1225 { 0x08, KEY_VIDEO },
1226 { 0x04, KEY_AUDIO },
1227 { 0x0c, KEY_ZOOM },
1228
1229 { 0x12, KEY_SUBTITLE },
1230 { 0x32, KEY_REWIND },
1231 { 0x02, KEY_PRINT },
1232
1233 { 0x2a, KEY_SEARCH },
1234 { 0x1a, KEY_SLEEP },
1235 { 0x3a, KEY_CAMERA },
1236 { 0x0a, KEY_MUTE },
1237
1238 { 0x26, KEY_RECORD },
1239 { 0x16, KEY_PAUSE },
1240 { 0x36, KEY_STOP },
1241 { 0x06, KEY_PLAY },
1242
1243 { 0x2e, KEY_RED },
1244 { 0x21, KEY_GREEN },
1245 { 0x0e, KEY_YELLOW },
1246 { 0x01, KEY_BLUE },
1247
1248 { 0x1e, KEY_VOLUMEDOWN },
1249 { 0x3e, KEY_VOLUMEUP },
1250 { 0x11, KEY_CHANNELDOWN },
1251 { 0x31, KEY_CHANNELUP }
1252};
1253
1254struct ir_scancode_table ir_codes_avermedia_table = {
1255 .scan = ir_codes_avermedia,
1256 .size = ARRAY_SIZE(ir_codes_avermedia),
1257};
1258EXPORT_SYMBOL_GPL(ir_codes_avermedia_table);
1259
1260static struct ir_scancode ir_codes_videomate_tv_pvr[] = {
1261 { 0x14, KEY_MUTE },
1262 { 0x24, KEY_ZOOM },
1263
1264 { 0x01, KEY_DVD },
1265 { 0x23, KEY_RADIO },
1266 { 0x00, KEY_TV },
1267
1268 { 0x0a, KEY_REWIND },
1269 { 0x08, KEY_PLAYPAUSE },
1270 { 0x0f, KEY_FORWARD },
1271
1272 { 0x02, KEY_PREVIOUS },
1273 { 0x07, KEY_STOP },
1274 { 0x06, KEY_NEXT },
1275
1276 { 0x0c, KEY_UP },
1277 { 0x0e, KEY_DOWN },
1278 { 0x0b, KEY_LEFT },
1279 { 0x0d, KEY_RIGHT },
1280 { 0x11, KEY_OK },
1281
1282 { 0x03, KEY_MENU },
1283 { 0x09, KEY_SETUP },
1284 { 0x05, KEY_VIDEO },
1285 { 0x22, KEY_CHANNEL },
1286
1287 { 0x12, KEY_VOLUMEUP },
1288 { 0x15, KEY_VOLUMEDOWN },
1289 { 0x10, KEY_CHANNELUP },
1290 { 0x13, KEY_CHANNELDOWN },
1291
1292 { 0x04, KEY_RECORD },
1293
1294 { 0x16, KEY_1 },
1295 { 0x17, KEY_2 },
1296 { 0x18, KEY_3 },
1297 { 0x19, KEY_4 },
1298 { 0x1a, KEY_5 },
1299 { 0x1b, KEY_6 },
1300 { 0x1c, KEY_7 },
1301 { 0x1d, KEY_8 },
1302 { 0x1e, KEY_9 },
1303 { 0x1f, KEY_0 },
1304
1305 { 0x20, KEY_LANGUAGE },
1306 { 0x21, KEY_SLEEP },
1307};
1308
1309struct ir_scancode_table ir_codes_videomate_tv_pvr_table = {
1310 .scan = ir_codes_videomate_tv_pvr,
1311 .size = ARRAY_SIZE(ir_codes_videomate_tv_pvr),
1312};
1313EXPORT_SYMBOL_GPL(ir_codes_videomate_tv_pvr_table);
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324static struct ir_scancode ir_codes_manli[] = {
1325
1326
1327
1328
1329
1330 { 0x1c, KEY_RADIO },
1331 { 0x12, KEY_POWER },
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342 { 0x01, KEY_1 },
1343 { 0x02, KEY_2 },
1344 { 0x03, KEY_3 },
1345 { 0x04, KEY_4 },
1346 { 0x05, KEY_5 },
1347 { 0x06, KEY_6 },
1348 { 0x07, KEY_7 },
1349 { 0x08, KEY_8 },
1350 { 0x09, KEY_9 },
1351
1352
1353
1354
1355
1356 { 0x0a, KEY_AGAIN },
1357 { 0x00, KEY_0 },
1358 { 0x17, KEY_DIGITS },
1359
1360
1361
1362
1363 { 0x14, KEY_MENU },
1364 { 0x10, KEY_INFO },
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375 { 0x0b, KEY_UP },
1376 { 0x18, KEY_LEFT },
1377 { 0x16, KEY_OK },
1378 { 0x0c, KEY_RIGHT },
1379 { 0x15, KEY_DOWN },
1380
1381
1382
1383
1384
1385 { 0x11, KEY_TV },
1386 { 0x0d, KEY_MODE },
1387
1388
1389
1390
1391
1392
1393
1394
1395 { 0x0f, KEY_AUDIO },
1396 { 0x1b, KEY_VOLUMEUP },
1397 { 0x1a, KEY_CHANNELUP },
1398 { 0x0e, KEY_TIME },
1399 { 0x1f, KEY_VOLUMEDOWN },
1400 { 0x1e, KEY_CHANNELDOWN },
1401
1402
1403
1404
1405 { 0x13, KEY_MUTE },
1406 { 0x19, KEY_CAMERA },
1407
1408
1409};
1410
1411struct ir_scancode_table ir_codes_manli_table = {
1412 .scan = ir_codes_manli,
1413 .size = ARRAY_SIZE(ir_codes_manli),
1414};
1415EXPORT_SYMBOL_GPL(ir_codes_manli_table);
1416
1417
1418static struct ir_scancode ir_codes_gotview7135[] = {
1419
1420 { 0x11, KEY_POWER },
1421 { 0x35, KEY_TV },
1422 { 0x1b, KEY_0 },
1423 { 0x29, KEY_1 },
1424 { 0x19, KEY_2 },
1425 { 0x39, KEY_3 },
1426 { 0x1f, KEY_4 },
1427 { 0x2c, KEY_5 },
1428 { 0x21, KEY_6 },
1429 { 0x24, KEY_7 },
1430 { 0x18, KEY_8 },
1431 { 0x2b, KEY_9 },
1432 { 0x3b, KEY_AGAIN },
1433 { 0x06, KEY_AUDIO },
1434 { 0x31, KEY_PRINT },
1435 { 0x3e, KEY_VIDEO },
1436 { 0x10, KEY_CHANNELUP },
1437 { 0x20, KEY_CHANNELDOWN },
1438 { 0x0c, KEY_VOLUMEDOWN },
1439 { 0x28, KEY_VOLUMEUP },
1440 { 0x08, KEY_MUTE },
1441 { 0x26, KEY_SEARCH },
1442 { 0x3f, KEY_CAMERA },
1443 { 0x12, KEY_RECORD },
1444 { 0x32, KEY_STOP },
1445 { 0x3c, KEY_PLAY },
1446 { 0x1d, KEY_REWIND },
1447 { 0x2d, KEY_PAUSE },
1448 { 0x0d, KEY_FORWARD },
1449 { 0x05, KEY_ZOOM },
1450
1451 { 0x2a, KEY_F21 },
1452 { 0x0e, KEY_F22 },
1453 { 0x1e, KEY_TIME },
1454 { 0x38, KEY_F24 },
1455};
1456
1457struct ir_scancode_table ir_codes_gotview7135_table = {
1458 .scan = ir_codes_gotview7135,
1459 .size = ARRAY_SIZE(ir_codes_gotview7135),
1460};
1461EXPORT_SYMBOL_GPL(ir_codes_gotview7135_table);
1462
1463static struct ir_scancode ir_codes_purpletv[] = {
1464 { 0x03, KEY_POWER },
1465 { 0x6f, KEY_MUTE },
1466 { 0x10, KEY_BACKSPACE },
1467
1468 { 0x11, KEY_0 },
1469 { 0x04, KEY_1 },
1470 { 0x05, KEY_2 },
1471 { 0x06, KEY_3 },
1472 { 0x08, KEY_4 },
1473 { 0x09, KEY_5 },
1474 { 0x0a, KEY_6 },
1475 { 0x0c, KEY_7 },
1476 { 0x0d, KEY_8 },
1477 { 0x0e, KEY_9 },
1478 { 0x12, KEY_DOT },
1479
1480 { 0x07, KEY_VOLUMEUP },
1481 { 0x0b, KEY_VOLUMEDOWN },
1482 { 0x1a, KEY_KPPLUS },
1483 { 0x18, KEY_KPMINUS },
1484 { 0x15, KEY_UP },
1485 { 0x1d, KEY_DOWN },
1486 { 0x0f, KEY_CHANNELUP },
1487 { 0x13, KEY_CHANNELDOWN },
1488 { 0x48, KEY_ZOOM },
1489
1490 { 0x1b, KEY_VIDEO },
1491 { 0x1f, KEY_CAMERA },
1492 { 0x49, KEY_LANGUAGE },
1493 { 0x19, KEY_SEARCH },
1494
1495 { 0x4b, KEY_RECORD },
1496 { 0x46, KEY_PLAY },
1497 { 0x45, KEY_PAUSE },
1498 { 0x44, KEY_STOP },
1499 { 0x43, KEY_TIME },
1500 { 0x17, KEY_CHANNEL },
1501 { 0x40, KEY_FORWARD },
1502 { 0x42, KEY_REWIND },
1503
1504};
1505
1506struct ir_scancode_table ir_codes_purpletv_table = {
1507 .scan = ir_codes_purpletv,
1508 .size = ARRAY_SIZE(ir_codes_purpletv),
1509};
1510EXPORT_SYMBOL_GPL(ir_codes_purpletv_table);
1511
1512
1513
1514
1515
1516static struct ir_scancode ir_codes_pctv_sedna[] = {
1517 { 0x00, KEY_0 },
1518 { 0x01, KEY_1 },
1519 { 0x02, KEY_2 },
1520 { 0x03, KEY_3 },
1521 { 0x04, KEY_4 },
1522 { 0x05, KEY_5 },
1523 { 0x06, KEY_6 },
1524 { 0x07, KEY_7 },
1525 { 0x08, KEY_8 },
1526 { 0x09, KEY_9 },
1527
1528 { 0x0a, KEY_AGAIN },
1529 { 0x0b, KEY_CHANNELUP },
1530 { 0x0c, KEY_VOLUMEUP },
1531 { 0x0d, KEY_MODE },
1532 { 0x0e, KEY_STOP },
1533 { 0x0f, KEY_PREVIOUSSONG },
1534 { 0x10, KEY_ZOOM },
1535 { 0x11, KEY_TUNER },
1536 { 0x12, KEY_POWER },
1537 { 0x13, KEY_MUTE },
1538 { 0x15, KEY_CHANNELDOWN },
1539 { 0x18, KEY_VOLUMEDOWN },
1540 { 0x19, KEY_CAMERA },
1541 { 0x1a, KEY_NEXTSONG },
1542 { 0x1b, KEY_TIME },
1543 { 0x1c, KEY_RADIO },
1544 { 0x1d, KEY_RECORD },
1545 { 0x1e, KEY_PAUSE },
1546
1547 { 0x14, KEY_INFO },
1548 { 0x16, KEY_OK },
1549 { 0x17, KEY_DIGITS },
1550 { 0x1f, KEY_PLAY },
1551};
1552
1553struct ir_scancode_table ir_codes_pctv_sedna_table = {
1554 .scan = ir_codes_pctv_sedna,
1555 .size = ARRAY_SIZE(ir_codes_pctv_sedna),
1556};
1557EXPORT_SYMBOL_GPL(ir_codes_pctv_sedna_table);
1558
1559
1560static struct ir_scancode ir_codes_pv951[] = {
1561 { 0x00, KEY_0 },
1562 { 0x01, KEY_1 },
1563 { 0x02, KEY_2 },
1564 { 0x03, KEY_3 },
1565 { 0x04, KEY_4 },
1566 { 0x05, KEY_5 },
1567 { 0x06, KEY_6 },
1568 { 0x07, KEY_7 },
1569 { 0x08, KEY_8 },
1570 { 0x09, KEY_9 },
1571
1572 { 0x12, KEY_POWER },
1573 { 0x10, KEY_MUTE },
1574 { 0x1f, KEY_VOLUMEDOWN },
1575 { 0x1b, KEY_VOLUMEUP },
1576 { 0x1a, KEY_CHANNELUP },
1577 { 0x1e, KEY_CHANNELDOWN },
1578 { 0x0e, KEY_PAGEUP },
1579 { 0x1d, KEY_PAGEDOWN },
1580 { 0x13, KEY_SOUND },
1581
1582 { 0x18, KEY_KPPLUSMINUS },
1583 { 0x16, KEY_SUBTITLE },
1584 { 0x0d, KEY_TEXT },
1585 { 0x0b, KEY_TV },
1586 { 0x11, KEY_PC },
1587 { 0x17, KEY_OK },
1588 { 0x19, KEY_MODE },
1589 { 0x0c, KEY_SEARCH },
1590
1591
1592 { 0x0f, KEY_SELECT },
1593 { 0x0a, KEY_KPPLUS },
1594 { 0x14, KEY_EQUAL },
1595 { 0x1c, KEY_MEDIA },
1596};
1597
1598struct ir_scancode_table ir_codes_pv951_table = {
1599 .scan = ir_codes_pv951,
1600 .size = ARRAY_SIZE(ir_codes_pv951),
1601};
1602EXPORT_SYMBOL_GPL(ir_codes_pv951_table);
1603
1604
1605
1606
1607static struct ir_scancode ir_codes_rc5_tv[] = {
1608
1609 { 0x00, KEY_0 },
1610 { 0x01, KEY_1 },
1611 { 0x02, KEY_2 },
1612 { 0x03, KEY_3 },
1613 { 0x04, KEY_4 },
1614 { 0x05, KEY_5 },
1615 { 0x06, KEY_6 },
1616 { 0x07, KEY_7 },
1617 { 0x08, KEY_8 },
1618 { 0x09, KEY_9 },
1619
1620 { 0x0b, KEY_CHANNEL },
1621 { 0x0c, KEY_POWER },
1622 { 0x0d, KEY_MUTE },
1623 { 0x0f, KEY_TV },
1624 { 0x10, KEY_VOLUMEUP },
1625 { 0x11, KEY_VOLUMEDOWN },
1626 { 0x12, KEY_BRIGHTNESSUP },
1627 { 0x13, KEY_BRIGHTNESSDOWN },
1628 { 0x1e, KEY_SEARCH },
1629 { 0x20, KEY_CHANNELUP },
1630 { 0x21, KEY_CHANNELDOWN },
1631 { 0x22, KEY_CHANNEL },
1632 { 0x23, KEY_LANGUAGE },
1633 { 0x26, KEY_SLEEP },
1634 { 0x2e, KEY_MENU },
1635 { 0x30, KEY_PAUSE },
1636 { 0x32, KEY_REWIND },
1637 { 0x33, KEY_GOTO },
1638 { 0x35, KEY_PLAY },
1639 { 0x36, KEY_STOP },
1640 { 0x37, KEY_RECORD },
1641 { 0x3c, KEY_TEXT },
1642 { 0x3d, KEY_SUSPEND },
1643
1644};
1645
1646struct ir_scancode_table ir_codes_rc5_tv_table = {
1647 .scan = ir_codes_rc5_tv,
1648 .size = ARRAY_SIZE(ir_codes_rc5_tv),
1649};
1650EXPORT_SYMBOL_GPL(ir_codes_rc5_tv_table);
1651
1652
1653static struct ir_scancode ir_codes_winfast[] = {
1654
1655 { 0x12, KEY_0 },
1656 { 0x05, KEY_1 },
1657 { 0x06, KEY_2 },
1658 { 0x07, KEY_3 },
1659 { 0x09, KEY_4 },
1660 { 0x0a, KEY_5 },
1661 { 0x0b, KEY_6 },
1662 { 0x0d, KEY_7 },
1663 { 0x0e, KEY_8 },
1664 { 0x0f, KEY_9 },
1665
1666 { 0x00, KEY_POWER },
1667 { 0x1b, KEY_AUDIO },
1668 { 0x02, KEY_TUNER },
1669 { 0x1e, KEY_VIDEO },
1670 { 0x16, KEY_INFO },
1671 { 0x04, KEY_VOLUMEUP },
1672 { 0x08, KEY_VOLUMEDOWN },
1673 { 0x0c, KEY_CHANNELUP },
1674 { 0x10, KEY_CHANNELDOWN },
1675 { 0x03, KEY_ZOOM },
1676 { 0x1f, KEY_TEXT },
1677 { 0x20, KEY_SLEEP },
1678 { 0x29, KEY_CLEAR },
1679 { 0x14, KEY_MUTE },
1680 { 0x2b, KEY_RED },
1681 { 0x2c, KEY_GREEN },
1682 { 0x2d, KEY_YELLOW },
1683 { 0x2e, KEY_BLUE },
1684 { 0x18, KEY_KPPLUS },
1685 { 0x19, KEY_KPMINUS },
1686 { 0x2a, KEY_MEDIA },
1687 { 0x21, KEY_DOT },
1688 { 0x13, KEY_ENTER },
1689 { 0x11, KEY_LAST },
1690 { 0x22, KEY_PREVIOUS },
1691 { 0x23, KEY_PLAYPAUSE },
1692 { 0x24, KEY_NEXT },
1693 { 0x25, KEY_TIME },
1694 { 0x26, KEY_STOP },
1695 { 0x27, KEY_RECORD },
1696 { 0x28, KEY_SAVE },
1697 { 0x2f, KEY_MENU },
1698 { 0x30, KEY_CANCEL },
1699 { 0x31, KEY_CHANNEL },
1700 { 0x32, KEY_SUBTITLE },
1701 { 0x33, KEY_LANGUAGE },
1702 { 0x34, KEY_REWIND },
1703 { 0x35, KEY_FASTFORWARD },
1704 { 0x36, KEY_TV },
1705 { 0x37, KEY_RADIO },
1706 { 0x38, KEY_DVD },
1707
1708 { 0x3e, KEY_F21 },
1709 { 0x3a, KEY_F22 },
1710 { 0x3b, KEY_F23 },
1711 { 0x3f, KEY_F24 }
1712};
1713
1714struct ir_scancode_table ir_codes_winfast_table = {
1715 .scan = ir_codes_winfast,
1716 .size = ARRAY_SIZE(ir_codes_winfast),
1717};
1718EXPORT_SYMBOL_GPL(ir_codes_winfast_table);
1719
1720static struct ir_scancode ir_codes_pinnacle_color[] = {
1721 { 0x59, KEY_MUTE },
1722 { 0x4a, KEY_POWER },
1723
1724 { 0x18, KEY_TEXT },
1725 { 0x26, KEY_TV },
1726 { 0x3d, KEY_PRINT },
1727
1728 { 0x48, KEY_RED },
1729 { 0x04, KEY_GREEN },
1730 { 0x11, KEY_YELLOW },
1731 { 0x00, KEY_BLUE },
1732
1733 { 0x2d, KEY_VOLUMEUP },
1734 { 0x1e, KEY_VOLUMEDOWN },
1735
1736 { 0x49, KEY_MENU },
1737
1738 { 0x16, KEY_CHANNELUP },
1739 { 0x17, KEY_CHANNELDOWN },
1740
1741 { 0x20, KEY_UP },
1742 { 0x21, KEY_DOWN },
1743 { 0x22, KEY_LEFT },
1744 { 0x23, KEY_RIGHT },
1745 { 0x0d, KEY_SELECT },
1746
1747 { 0x08, KEY_BACK },
1748 { 0x07, KEY_REFRESH },
1749
1750 { 0x2f, KEY_ZOOM },
1751 { 0x29, KEY_RECORD },
1752
1753 { 0x4b, KEY_PAUSE },
1754 { 0x4d, KEY_REWIND },
1755 { 0x2e, KEY_PLAY },
1756 { 0x4e, KEY_FORWARD },
1757 { 0x53, KEY_PREVIOUS },
1758 { 0x4c, KEY_STOP },
1759 { 0x54, KEY_NEXT },
1760
1761 { 0x69, KEY_0 },
1762 { 0x6a, KEY_1 },
1763 { 0x6b, KEY_2 },
1764 { 0x6c, KEY_3 },
1765 { 0x6d, KEY_4 },
1766 { 0x6e, KEY_5 },
1767 { 0x6f, KEY_6 },
1768 { 0x70, KEY_7 },
1769 { 0x71, KEY_8 },
1770 { 0x72, KEY_9 },
1771
1772 { 0x74, KEY_CHANNEL },
1773 { 0x0a, KEY_BACKSPACE },
1774};
1775
1776struct ir_scancode_table ir_codes_pinnacle_color_table = {
1777 .scan = ir_codes_pinnacle_color,
1778 .size = ARRAY_SIZE(ir_codes_pinnacle_color),
1779};
1780EXPORT_SYMBOL_GPL(ir_codes_pinnacle_color_table);
1781
1782
1783
1784
1785static struct ir_scancode ir_codes_hauppauge_new[] = {
1786
1787 { 0x00, KEY_0 },
1788 { 0x01, KEY_1 },
1789 { 0x02, KEY_2 },
1790 { 0x03, KEY_3 },
1791 { 0x04, KEY_4 },
1792 { 0x05, KEY_5 },
1793 { 0x06, KEY_6 },
1794 { 0x07, KEY_7 },
1795 { 0x08, KEY_8 },
1796 { 0x09, KEY_9 },
1797
1798 { 0x0a, KEY_TEXT },
1799 { 0x0b, KEY_RED },
1800 { 0x0c, KEY_RADIO },
1801 { 0x0d, KEY_MENU },
1802 { 0x0e, KEY_SUBTITLE },
1803 { 0x0f, KEY_MUTE },
1804 { 0x10, KEY_VOLUMEUP },
1805 { 0x11, KEY_VOLUMEDOWN },
1806 { 0x12, KEY_PREVIOUS },
1807 { 0x14, KEY_UP },
1808 { 0x15, KEY_DOWN },
1809 { 0x16, KEY_LEFT },
1810 { 0x17, KEY_RIGHT },
1811 { 0x18, KEY_VIDEO },
1812 { 0x19, KEY_AUDIO },
1813
1814
1815
1816
1817 { 0x1a, KEY_MHP },
1818
1819 { 0x1b, KEY_EPG },
1820 { 0x1c, KEY_TV },
1821 { 0x1e, KEY_NEXTSONG },
1822 { 0x1f, KEY_EXIT },
1823 { 0x20, KEY_CHANNELUP },
1824 { 0x21, KEY_CHANNELDOWN },
1825 { 0x22, KEY_CHANNEL },
1826 { 0x24, KEY_PREVIOUSSONG },
1827 { 0x25, KEY_ENTER },
1828 { 0x26, KEY_SLEEP },
1829 { 0x29, KEY_BLUE },
1830 { 0x2e, KEY_GREEN },
1831 { 0x30, KEY_PAUSE },
1832 { 0x32, KEY_REWIND },
1833 { 0x34, KEY_FASTFORWARD },
1834 { 0x35, KEY_PLAY },
1835 { 0x36, KEY_STOP },
1836 { 0x37, KEY_RECORD },
1837 { 0x38, KEY_YELLOW },
1838 { 0x3b, KEY_SELECT },
1839 { 0x3c, KEY_ZOOM },
1840 { 0x3d, KEY_POWER },
1841};
1842
1843struct ir_scancode_table ir_codes_hauppauge_new_table = {
1844 .scan = ir_codes_hauppauge_new,
1845 .size = ARRAY_SIZE(ir_codes_hauppauge_new),
1846};
1847EXPORT_SYMBOL_GPL(ir_codes_hauppauge_new_table);
1848
1849static struct ir_scancode ir_codes_npgtech[] = {
1850 { 0x1d, KEY_SWITCHVIDEOMODE },
1851 { 0x2a, KEY_FRONT },
1852
1853 { 0x3e, KEY_1 },
1854 { 0x02, KEY_2 },
1855 { 0x06, KEY_3 },
1856 { 0x0a, KEY_4 },
1857 { 0x0e, KEY_5 },
1858 { 0x12, KEY_6 },
1859 { 0x16, KEY_7 },
1860 { 0x1a, KEY_8 },
1861 { 0x1e, KEY_9 },
1862 { 0x3a, KEY_0 },
1863 { 0x22, KEY_NUMLOCK },
1864 { 0x20, KEY_REFRESH },
1865
1866 { 0x03, KEY_BRIGHTNESSDOWN },
1867 { 0x28, KEY_AUDIO },
1868 { 0x3c, KEY_CHANNELUP },
1869 { 0x3f, KEY_VOLUMEDOWN },
1870 { 0x2e, KEY_MUTE },
1871 { 0x3b, KEY_VOLUMEUP },
1872 { 0x00, KEY_CHANNELDOWN },
1873 { 0x07, KEY_BRIGHTNESSUP },
1874 { 0x2c, KEY_TEXT },
1875
1876 { 0x37, KEY_RECORD },
1877 { 0x17, KEY_PLAY },
1878 { 0x13, KEY_PAUSE },
1879 { 0x26, KEY_STOP },
1880 { 0x18, KEY_FASTFORWARD },
1881 { 0x14, KEY_REWIND },
1882 { 0x33, KEY_ZOOM },
1883 { 0x32, KEY_KEYBOARD },
1884 { 0x30, KEY_GOTO },
1885 { 0x36, KEY_MACRO },
1886 { 0x0b, KEY_RADIO },
1887 { 0x10, KEY_POWER },
1888
1889};
1890
1891struct ir_scancode_table ir_codes_npgtech_table = {
1892 .scan = ir_codes_npgtech,
1893 .size = ARRAY_SIZE(ir_codes_npgtech),
1894};
1895EXPORT_SYMBOL_GPL(ir_codes_npgtech_table);
1896
1897
1898
1899
1900static struct ir_scancode ir_codes_norwood[] = {
1901
1902 { 0x20, KEY_0 },
1903 { 0x21, KEY_1 },
1904 { 0x22, KEY_2 },
1905 { 0x23, KEY_3 },
1906 { 0x24, KEY_4 },
1907 { 0x25, KEY_5 },
1908 { 0x26, KEY_6 },
1909 { 0x27, KEY_7 },
1910 { 0x28, KEY_8 },
1911 { 0x29, KEY_9 },
1912
1913 { 0x78, KEY_TUNER },
1914 { 0x2c, KEY_EXIT },
1915 { 0x2a, KEY_SELECT },
1916 { 0x69, KEY_AGAIN },
1917
1918 { 0x32, KEY_BRIGHTNESSUP },
1919 { 0x33, KEY_BRIGHTNESSDOWN },
1920 { 0x6b, KEY_KPPLUS },
1921 { 0x6c, KEY_KPMINUS },
1922
1923 { 0x2d, KEY_MUTE },
1924 { 0x30, KEY_VOLUMEUP },
1925 { 0x31, KEY_VOLUMEDOWN },
1926 { 0x60, KEY_CHANNELUP },
1927 { 0x61, KEY_CHANNELDOWN },
1928
1929 { 0x3f, KEY_RECORD },
1930 { 0x37, KEY_PLAY },
1931 { 0x36, KEY_PAUSE },
1932 { 0x2b, KEY_STOP },
1933 { 0x67, KEY_FASTFORWARD },
1934 { 0x66, KEY_REWIND },
1935 { 0x3e, KEY_SEARCH },
1936 { 0x2e, KEY_CAMERA },
1937 { 0x6d, KEY_MENU },
1938 { 0x2f, KEY_ZOOM },
1939 { 0x34, KEY_RADIO },
1940 { 0x65, KEY_POWER },
1941};
1942
1943struct ir_scancode_table ir_codes_norwood_table = {
1944 .scan = ir_codes_norwood,
1945 .size = ARRAY_SIZE(ir_codes_norwood),
1946};
1947EXPORT_SYMBOL_GPL(ir_codes_norwood_table);
1948
1949
1950
1951
1952
1953
1954static struct ir_scancode ir_codes_budget_ci_old[] = {
1955 { 0x00, KEY_0 },
1956 { 0x01, KEY_1 },
1957 { 0x02, KEY_2 },
1958 { 0x03, KEY_3 },
1959 { 0x04, KEY_4 },
1960 { 0x05, KEY_5 },
1961 { 0x06, KEY_6 },
1962 { 0x07, KEY_7 },
1963 { 0x08, KEY_8 },
1964 { 0x09, KEY_9 },
1965 { 0x0a, KEY_ENTER },
1966 { 0x0b, KEY_RED },
1967 { 0x0c, KEY_POWER },
1968 { 0x0d, KEY_MUTE },
1969 { 0x0f, KEY_A },
1970 { 0x10, KEY_VOLUMEUP },
1971 { 0x11, KEY_VOLUMEDOWN },
1972 { 0x14, KEY_B },
1973 { 0x1c, KEY_UP },
1974 { 0x1d, KEY_DOWN },
1975 { 0x1e, KEY_OPTION },
1976 { 0x1f, KEY_BREAK },
1977 { 0x20, KEY_CHANNELUP },
1978 { 0x21, KEY_CHANNELDOWN },
1979 { 0x22, KEY_PREVIOUS },
1980 { 0x24, KEY_RESTART },
1981 { 0x25, KEY_OK },
1982 { 0x26, KEY_CYCLEWINDOWS },
1983 { 0x28, KEY_ENTER },
1984 { 0x29, KEY_PAUSE },
1985 { 0x2b, KEY_RIGHT },
1986 { 0x2c, KEY_LEFT },
1987 { 0x2e, KEY_MENU },
1988 { 0x30, KEY_SLOW },
1989 { 0x31, KEY_PREVIOUS },
1990 { 0x32, KEY_REWIND },
1991 { 0x34, KEY_FASTFORWARD },
1992 { 0x35, KEY_PLAY },
1993 { 0x36, KEY_STOP },
1994 { 0x37, KEY_RECORD },
1995 { 0x38, KEY_TUNER },
1996 { 0x3a, KEY_C },
1997 { 0x3c, KEY_EXIT },
1998 { 0x3d, KEY_POWER2 },
1999 { 0x3e, KEY_TUNER },
2000};
2001
2002struct ir_scancode_table ir_codes_budget_ci_old_table = {
2003 .scan = ir_codes_budget_ci_old,
2004 .size = ARRAY_SIZE(ir_codes_budget_ci_old),
2005};
2006EXPORT_SYMBOL_GPL(ir_codes_budget_ci_old_table);
2007
2008
2009
2010
2011
2012
2013static struct ir_scancode ir_codes_asus_pc39[] = {
2014
2015 { 0x15, KEY_0 },
2016 { 0x29, KEY_1 },
2017 { 0x2d, KEY_2 },
2018 { 0x2b, KEY_3 },
2019 { 0x09, KEY_4 },
2020 { 0x0d, KEY_5 },
2021 { 0x0b, KEY_6 },
2022 { 0x31, KEY_7 },
2023 { 0x35, KEY_8 },
2024 { 0x33, KEY_9 },
2025
2026 { 0x3e, KEY_RADIO },
2027 { 0x03, KEY_MENU },
2028 { 0x2a, KEY_VOLUMEUP },
2029 { 0x19, KEY_VOLUMEDOWN },
2030 { 0x37, KEY_UP },
2031 { 0x3b, KEY_DOWN },
2032 { 0x27, KEY_LEFT },
2033 { 0x2f, KEY_RIGHT },
2034 { 0x25, KEY_VIDEO },
2035 { 0x39, KEY_AUDIO },
2036
2037 { 0x21, KEY_TV },
2038 { 0x1d, KEY_EXIT },
2039 { 0x0a, KEY_CHANNELUP },
2040 { 0x1b, KEY_CHANNELDOWN },
2041 { 0x1a, KEY_ENTER },
2042
2043 { 0x06, KEY_PAUSE },
2044 { 0x1e, KEY_PREVIOUS },
2045 { 0x26, KEY_NEXT },
2046 { 0x0e, KEY_REWIND },
2047 { 0x3a, KEY_FASTFORWARD },
2048 { 0x36, KEY_STOP },
2049 { 0x2e, KEY_RECORD },
2050 { 0x16, KEY_POWER },
2051
2052 { 0x11, KEY_ZOOM },
2053 { 0x13, KEY_MACRO },
2054 { 0x23, KEY_HOME },
2055 { 0x05, KEY_PVR },
2056 { 0x3d, KEY_MUTE },
2057 { 0x01, KEY_DVD },
2058};
2059
2060struct ir_scancode_table ir_codes_asus_pc39_table = {
2061 .scan = ir_codes_asus_pc39,
2062 .size = ARRAY_SIZE(ir_codes_asus_pc39),
2063};
2064EXPORT_SYMBOL_GPL(ir_codes_asus_pc39_table);
2065
2066
2067
2068
2069static struct ir_scancode ir_codes_encore_enltv[] = {
2070
2071
2072
2073 { 0x0d, KEY_MUTE },
2074
2075 { 0x1e, KEY_TV },
2076 { 0x00, KEY_VIDEO },
2077 { 0x01, KEY_AUDIO },
2078 { 0x02, KEY_MHP },
2079
2080 { 0x1f, KEY_1 },
2081 { 0x03, KEY_2 },
2082 { 0x04, KEY_3 },
2083 { 0x05, KEY_4 },
2084 { 0x1c, KEY_5 },
2085 { 0x06, KEY_6 },
2086 { 0x07, KEY_7 },
2087 { 0x08, KEY_8 },
2088 { 0x1d, KEY_9 },
2089 { 0x0a, KEY_0 },
2090
2091 { 0x09, KEY_LIST },
2092 { 0x0b, KEY_LAST },
2093
2094 { 0x14, KEY_HOME },
2095 { 0x15, KEY_EXIT },
2096 { 0x16, KEY_CHANNELUP },
2097 { 0x12, KEY_CHANNELDOWN },
2098 { 0x0c, KEY_VOLUMEUP },
2099 { 0x17, KEY_VOLUMEDOWN },
2100
2101 { 0x18, KEY_ENTER },
2102
2103 { 0x0e, KEY_ESC },
2104 { 0x13, KEY_CYCLEWINDOWS },
2105 { 0x11, KEY_TAB },
2106 { 0x19, KEY_SWITCHVIDEOMODE },
2107
2108 { 0x1a, KEY_MENU },
2109 { 0x1b, KEY_ZOOM },
2110 { 0x44, KEY_TIME },
2111 { 0x40, KEY_MODE },
2112
2113 { 0x5a, KEY_RECORD },
2114 { 0x42, KEY_PLAY },
2115 { 0x45, KEY_STOP },
2116 { 0x43, KEY_CAMERA },
2117
2118 { 0x48, KEY_REWIND },
2119 { 0x4a, KEY_FASTFORWARD },
2120 { 0x49, KEY_PREVIOUS },
2121 { 0x4b, KEY_NEXT },
2122
2123 { 0x4c, KEY_FAVORITES },
2124 { 0x4d, KEY_SOUND },
2125 { 0x4e, KEY_LANGUAGE },
2126 { 0x4f, KEY_TEXT },
2127
2128 { 0x50, KEY_SLEEP },
2129 { 0x51, KEY_MODE },
2130 { 0x52, KEY_SELECT },
2131 { 0x53, KEY_PROG1 },
2132
2133
2134 { 0x59, KEY_RED },
2135 { 0x41, KEY_GREEN },
2136 { 0x47, KEY_YELLOW },
2137 { 0x57, KEY_BLUE },
2138};
2139
2140struct ir_scancode_table ir_codes_encore_enltv_table = {
2141 .scan = ir_codes_encore_enltv,
2142 .size = ARRAY_SIZE(ir_codes_encore_enltv),
2143};
2144EXPORT_SYMBOL_GPL(ir_codes_encore_enltv_table);
2145
2146
2147
2148static struct ir_scancode ir_codes_encore_enltv2[] = {
2149 { 0x4c, KEY_POWER2 },
2150 { 0x4a, KEY_TUNER },
2151 { 0x40, KEY_1 },
2152 { 0x60, KEY_2 },
2153 { 0x50, KEY_3 },
2154 { 0x70, KEY_4 },
2155 { 0x48, KEY_5 },
2156 { 0x68, KEY_6 },
2157 { 0x58, KEY_7 },
2158 { 0x78, KEY_8 },
2159 { 0x44, KEY_9 },
2160 { 0x54, KEY_0 },
2161
2162 { 0x64, KEY_LAST },
2163 { 0x4e, KEY_AGAIN },
2164
2165 { 0x6c, KEY_SWITCHVIDEOMODE },
2166 { 0x5e, KEY_MENU },
2167 { 0x56, KEY_SCREEN },
2168 { 0x7a, KEY_SETUP },
2169
2170 { 0x46, KEY_MUTE },
2171 { 0x5c, KEY_MODE },
2172 { 0x74, KEY_INFO },
2173 { 0x7c, KEY_CLEAR },
2174
2175 { 0x55, KEY_UP },
2176 { 0x49, KEY_DOWN },
2177 { 0x7e, KEY_LEFT },
2178 { 0x59, KEY_RIGHT },
2179 { 0x6a, KEY_ENTER },
2180
2181 { 0x42, KEY_VOLUMEUP },
2182 { 0x62, KEY_VOLUMEDOWN },
2183 { 0x52, KEY_CHANNELUP },
2184 { 0x72, KEY_CHANNELDOWN },
2185
2186 { 0x41, KEY_RECORD },
2187 { 0x51, KEY_CAMERA },
2188 { 0x75, KEY_TIME },
2189 { 0x71, KEY_TV2 },
2190
2191 { 0x45, KEY_REWIND },
2192 { 0x6f, KEY_PAUSE },
2193 { 0x7d, KEY_FORWARD },
2194 { 0x79, KEY_STOP },
2195};
2196
2197struct ir_scancode_table ir_codes_encore_enltv2_table = {
2198 .scan = ir_codes_encore_enltv2,
2199 .size = ARRAY_SIZE(ir_codes_encore_enltv2),
2200};
2201EXPORT_SYMBOL_GPL(ir_codes_encore_enltv2_table);
2202
2203
2204static struct ir_scancode ir_codes_tt_1500[] = {
2205 { 0x01, KEY_POWER },
2206 { 0x02, KEY_SHUFFLE },
2207 { 0x03, KEY_1 },
2208 { 0x04, KEY_2 },
2209 { 0x05, KEY_3 },
2210 { 0x06, KEY_4 },
2211 { 0x07, KEY_5 },
2212 { 0x08, KEY_6 },
2213 { 0x09, KEY_7 },
2214 { 0x0a, KEY_8 },
2215 { 0x0b, KEY_9 },
2216 { 0x0c, KEY_0 },
2217 { 0x0d, KEY_UP },
2218 { 0x0e, KEY_LEFT },
2219 { 0x0f, KEY_OK },
2220 { 0x10, KEY_RIGHT },
2221 { 0x11, KEY_DOWN },
2222 { 0x12, KEY_INFO },
2223 { 0x13, KEY_EXIT },
2224 { 0x14, KEY_RED },
2225 { 0x15, KEY_GREEN },
2226 { 0x16, KEY_YELLOW },
2227 { 0x17, KEY_BLUE },
2228 { 0x18, KEY_MUTE },
2229 { 0x19, KEY_TEXT },
2230 { 0x1a, KEY_MODE },
2231 { 0x21, KEY_OPTION },
2232 { 0x22, KEY_EPG },
2233 { 0x23, KEY_CHANNELUP },
2234 { 0x24, KEY_CHANNELDOWN },
2235 { 0x25, KEY_VOLUMEUP },
2236 { 0x26, KEY_VOLUMEDOWN },
2237 { 0x27, KEY_SETUP },
2238 { 0x3a, KEY_RECORD },
2239 { 0x3b, KEY_PLAY },
2240 { 0x3c, KEY_STOP },
2241 { 0x3d, KEY_REWIND },
2242 { 0x3e, KEY_PAUSE },
2243 { 0x3f, KEY_FORWARD },
2244};
2245
2246struct ir_scancode_table ir_codes_tt_1500_table = {
2247 .scan = ir_codes_tt_1500,
2248 .size = ARRAY_SIZE(ir_codes_tt_1500),
2249};
2250EXPORT_SYMBOL_GPL(ir_codes_tt_1500_table);
2251
2252
2253static struct ir_scancode ir_codes_fusionhdtv_mce[] = {
2254
2255 { 0x0b, KEY_1 },
2256 { 0x17, KEY_2 },
2257 { 0x1b, KEY_3 },
2258 { 0x07, KEY_4 },
2259 { 0x50, KEY_5 },
2260 { 0x54, KEY_6 },
2261 { 0x48, KEY_7 },
2262 { 0x4c, KEY_8 },
2263 { 0x58, KEY_9 },
2264 { 0x03, KEY_0 },
2265
2266 { 0x5e, KEY_OK },
2267 { 0x51, KEY_UP },
2268 { 0x53, KEY_DOWN },
2269 { 0x5b, KEY_LEFT },
2270 { 0x5f, KEY_RIGHT },
2271
2272 { 0x02, KEY_TV },
2273 { 0x0e, KEY_MP3 },
2274 { 0x1a, KEY_DVD },
2275 { 0x1e, KEY_FAVORITES },
2276 { 0x16, KEY_SETUP },
2277 { 0x46, KEY_POWER2 },
2278 { 0x0a, KEY_EPG },
2279
2280 { 0x49, KEY_BACK },
2281 { 0x59, KEY_INFO },
2282 { 0x4d, KEY_MENU },
2283 { 0x55, KEY_CYCLEWINDOWS },
2284
2285 { 0x0f, KEY_PREVIOUSSONG },
2286 { 0x12, KEY_NEXTSONG },
2287 { 0x42, KEY_ENTER },
2288
2289
2290 { 0x15, KEY_VOLUMEUP },
2291 { 0x05, KEY_VOLUMEDOWN },
2292 { 0x11, KEY_CHANNELUP },
2293 { 0x09, KEY_CHANNELDOWN },
2294
2295 { 0x52, KEY_CAMERA },
2296 { 0x5a, KEY_TUNER },
2297 { 0x19, KEY_OPEN },
2298
2299 { 0x13, KEY_MODE },
2300 { 0x1f, KEY_ZOOM },
2301
2302 { 0x43, KEY_REWIND },
2303 { 0x47, KEY_PLAYPAUSE },
2304 { 0x4f, KEY_FASTFORWARD },
2305 { 0x57, KEY_MUTE },
2306 { 0x0d, KEY_STOP },
2307 { 0x01, KEY_RECORD },
2308 { 0x4e, KEY_POWER },
2309};
2310
2311struct ir_scancode_table ir_codes_fusionhdtv_mce_table = {
2312 .scan = ir_codes_fusionhdtv_mce,
2313 .size = ARRAY_SIZE(ir_codes_fusionhdtv_mce),
2314};
2315EXPORT_SYMBOL_GPL(ir_codes_fusionhdtv_mce_table);
2316
2317
2318static struct ir_scancode ir_codes_pinnacle_pctv_hd[] = {
2319
2320 { 0x0f, KEY_1 },
2321 { 0x15, KEY_2 },
2322 { 0x10, KEY_3 },
2323 { 0x18, KEY_4 },
2324 { 0x1b, KEY_5 },
2325 { 0x1e, KEY_6 },
2326 { 0x11, KEY_7 },
2327 { 0x21, KEY_8 },
2328 { 0x12, KEY_9 },
2329 { 0x27, KEY_0 },
2330
2331 { 0x24, KEY_ZOOM },
2332 { 0x2a, KEY_SUBTITLE },
2333
2334 { 0x00, KEY_MUTE },
2335 { 0x01, KEY_ENTER },
2336 { 0x39, KEY_POWER },
2337
2338 { 0x03, KEY_VOLUMEUP },
2339 { 0x09, KEY_VOLUMEDOWN },
2340 { 0x06, KEY_CHANNELUP },
2341 { 0x0c, KEY_CHANNELDOWN },
2342
2343 { 0x2d, KEY_REWIND },
2344 { 0x30, KEY_PLAYPAUSE },
2345 { 0x33, KEY_FASTFORWARD },
2346 { 0x3c, KEY_STOP },
2347 { 0x36, KEY_RECORD },
2348 { 0x3f, KEY_EPG },
2349};
2350
2351struct ir_scancode_table ir_codes_pinnacle_pctv_hd_table = {
2352 .scan = ir_codes_pinnacle_pctv_hd,
2353 .size = ARRAY_SIZE(ir_codes_pinnacle_pctv_hd),
2354};
2355EXPORT_SYMBOL_GPL(ir_codes_pinnacle_pctv_hd_table);
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368static struct ir_scancode ir_codes_behold[] = {
2369
2370
2371
2372
2373 { 0x1c, KEY_TUNER },
2374 { 0x12, KEY_POWER },
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385 { 0x01, KEY_1 },
2386 { 0x02, KEY_2 },
2387 { 0x03, KEY_3 },
2388 { 0x04, KEY_4 },
2389 { 0x05, KEY_5 },
2390 { 0x06, KEY_6 },
2391 { 0x07, KEY_7 },
2392 { 0x08, KEY_8 },
2393 { 0x09, KEY_9 },
2394
2395
2396
2397
2398 { 0x0a, KEY_AGAIN },
2399 { 0x00, KEY_0 },
2400 { 0x17, KEY_MODE },
2401
2402
2403
2404
2405 { 0x14, KEY_SCREEN },
2406 { 0x10, KEY_ZOOM },
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417 { 0x0b, KEY_CHANNELUP },
2418 { 0x18, KEY_VOLUMEDOWN },
2419 { 0x16, KEY_OK },
2420 { 0x0c, KEY_VOLUMEUP },
2421 { 0x15, KEY_CHANNELDOWN },
2422
2423
2424
2425
2426 { 0x11, KEY_MUTE },
2427 { 0x0d, KEY_INFO },
2428
2429
2430
2431
2432
2433
2434
2435
2436 { 0x0f, KEY_RECORD },
2437 { 0x1b, KEY_PLAYPAUSE },
2438 { 0x1a, KEY_STOP },
2439 { 0x0e, KEY_TEXT },
2440 { 0x1f, KEY_RED },
2441 { 0x1e, KEY_YELLOW },
2442
2443
2444
2445
2446
2447 { 0x1d, KEY_SLEEP },
2448 { 0x13, KEY_GREEN },
2449 { 0x19, KEY_BLUE },
2450
2451
2452
2453
2454 { 0x58, KEY_SLOW },
2455 { 0x5c, KEY_CAMERA },
2456
2457};
2458
2459struct ir_scancode_table ir_codes_behold_table = {
2460 .scan = ir_codes_behold,
2461 .size = ARRAY_SIZE(ir_codes_behold),
2462};
2463EXPORT_SYMBOL_GPL(ir_codes_behold_table);
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473static struct ir_scancode ir_codes_behold_columbus[] = {
2474
2475
2476
2477
2478
2479 { 0x13, KEY_MUTE },
2480 { 0x11, KEY_PROPS },
2481 { 0x1C, KEY_TUNER },
2482 { 0x12, KEY_POWER },
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493 { 0x01, KEY_1 },
2494 { 0x02, KEY_2 },
2495 { 0x03, KEY_3 },
2496 { 0x0D, KEY_SETUP },
2497 { 0x04, KEY_4 },
2498 { 0x05, KEY_5 },
2499 { 0x06, KEY_6 },
2500 { 0x19, KEY_CAMERA },
2501 { 0x07, KEY_7 },
2502 { 0x08, KEY_8 },
2503 { 0x09, KEY_9 },
2504 { 0x10, KEY_ZOOM },
2505
2506
2507
2508
2509 { 0x0A, KEY_AGAIN },
2510 { 0x00, KEY_0 },
2511 { 0x0B, KEY_CHANNELUP },
2512 { 0x0C, KEY_VOLUMEUP },
2513
2514
2515
2516
2517
2518 { 0x1B, KEY_TIME },
2519 { 0x1D, KEY_RECORD },
2520 { 0x15, KEY_CHANNELDOWN },
2521 { 0x18, KEY_VOLUMEDOWN },
2522
2523
2524
2525
2526
2527 { 0x0E, KEY_STOP },
2528 { 0x1E, KEY_PAUSE },
2529 { 0x0F, KEY_PREVIOUS },
2530 { 0x1A, KEY_NEXT },
2531
2532};
2533
2534struct ir_scancode_table ir_codes_behold_columbus_table = {
2535 .scan = ir_codes_behold_columbus,
2536 .size = ARRAY_SIZE(ir_codes_behold_columbus),
2537};
2538EXPORT_SYMBOL_GPL(ir_codes_behold_columbus_table);
2539
2540
2541
2542
2543
2544static struct ir_scancode ir_codes_genius_tvgo_a11mce[] = {
2545
2546 { 0x48, KEY_0 },
2547 { 0x09, KEY_1 },
2548 { 0x1d, KEY_2 },
2549 { 0x1f, KEY_3 },
2550 { 0x19, KEY_4 },
2551 { 0x1b, KEY_5 },
2552 { 0x11, KEY_6 },
2553 { 0x17, KEY_7 },
2554 { 0x12, KEY_8 },
2555 { 0x16, KEY_9 },
2556
2557 { 0x54, KEY_RECORD },
2558 { 0x06, KEY_MUTE },
2559 { 0x10, KEY_POWER },
2560 { 0x40, KEY_LAST },
2561 { 0x4c, KEY_CHANNELUP },
2562 { 0x00, KEY_CHANNELDOWN },
2563 { 0x0d, KEY_VOLUMEUP },
2564 { 0x15, KEY_VOLUMEDOWN },
2565 { 0x4d, KEY_OK },
2566 { 0x1c, KEY_ZOOM },
2567 { 0x02, KEY_MODE },
2568 { 0x04, KEY_LIST },
2569
2570 { 0x1a, KEY_NEXT },
2571 { 0x0e, KEY_PREVIOUS },
2572
2573
2574 { 0x1e, KEY_UP },
2575 { 0x0a, KEY_DOWN },
2576 { 0x05, KEY_CAMERA },
2577 { 0x0c, KEY_RIGHT },
2578
2579 { 0x49, KEY_RED },
2580 { 0x0b, KEY_GREEN },
2581 { 0x13, KEY_YELLOW },
2582 { 0x50, KEY_BLUE },
2583};
2584
2585struct ir_scancode_table ir_codes_genius_tvgo_a11mce_table = {
2586 .scan = ir_codes_genius_tvgo_a11mce,
2587 .size = ARRAY_SIZE(ir_codes_genius_tvgo_a11mce),
2588};
2589EXPORT_SYMBOL_GPL(ir_codes_genius_tvgo_a11mce_table);
2590
2591
2592
2593
2594
2595static struct ir_scancode ir_codes_powercolor_real_angel[] = {
2596 { 0x38, KEY_SWITCHVIDEOMODE },
2597 { 0x0c, KEY_MEDIA },
2598 { 0x00, KEY_0 },
2599 { 0x01, KEY_1 },
2600 { 0x02, KEY_2 },
2601 { 0x03, KEY_3 },
2602 { 0x04, KEY_4 },
2603 { 0x05, KEY_5 },
2604 { 0x06, KEY_6 },
2605 { 0x07, KEY_7 },
2606 { 0x08, KEY_8 },
2607 { 0x09, KEY_9 },
2608 { 0x0a, KEY_DIGITS },
2609 { 0x29, KEY_PREVIOUS },
2610 { 0x12, KEY_BRIGHTNESSUP },
2611 { 0x13, KEY_BRIGHTNESSDOWN },
2612 { 0x2b, KEY_MODE },
2613 { 0x2c, KEY_TEXT },
2614 { 0x20, KEY_CHANNELUP },
2615 { 0x21, KEY_CHANNELDOWN },
2616 { 0x10, KEY_VOLUMEUP },
2617 { 0x11, KEY_VOLUMEDOWN },
2618 { 0x0d, KEY_MUTE },
2619 { 0x1f, KEY_RECORD },
2620 { 0x17, KEY_PLAY },
2621 { 0x16, KEY_PAUSE },
2622 { 0x0b, KEY_STOP },
2623 { 0x27, KEY_FASTFORWARD },
2624 { 0x26, KEY_REWIND },
2625 { 0x1e, KEY_SEARCH },
2626 { 0x0e, KEY_CAMERA },
2627 { 0x2d, KEY_SETUP },
2628 { 0x0f, KEY_SCREEN },
2629 { 0x14, KEY_RADIO },
2630 { 0x25, KEY_POWER },
2631};
2632
2633struct ir_scancode_table ir_codes_powercolor_real_angel_table = {
2634 .scan = ir_codes_powercolor_real_angel,
2635 .size = ARRAY_SIZE(ir_codes_powercolor_real_angel),
2636};
2637EXPORT_SYMBOL_GPL(ir_codes_powercolor_real_angel_table);
2638
2639
2640
2641
2642static struct ir_scancode ir_codes_kworld_plus_tv_analog[] = {
2643 { 0x0c, KEY_PROG1 },
2644 { 0x16, KEY_CLOSECD },
2645 { 0x1d, KEY_POWER2 },
2646
2647 { 0x00, KEY_1 },
2648 { 0x01, KEY_2 },
2649 { 0x02, KEY_3 },
2650 { 0x03, KEY_4 },
2651 { 0x04, KEY_5 },
2652 { 0x05, KEY_6 },
2653 { 0x06, KEY_7 },
2654 { 0x07, KEY_8 },
2655 { 0x08, KEY_9 },
2656 { 0x0a, KEY_0 },
2657
2658 { 0x09, KEY_AGAIN },
2659 { 0x14, KEY_MUTE },
2660
2661 { 0x20, KEY_UP },
2662 { 0x21, KEY_DOWN },
2663 { 0x0b, KEY_ENTER },
2664
2665 { 0x10, KEY_CHANNELUP },
2666 { 0x11, KEY_CHANNELDOWN },
2667
2668
2669
2670
2671
2672
2673 { 0x13, KEY_VOLUMEUP },
2674 { 0x12, KEY_VOLUMEDOWN },
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685 { 0x19, KEY_TIME},
2686 { 0x1a, KEY_STOP},
2687 { 0x1b, KEY_RECORD},
2688
2689 { 0x22, KEY_TEXT},
2690
2691 { 0x15, KEY_AUDIO},
2692 { 0x0f, KEY_ZOOM},
2693 { 0x1c, KEY_CAMERA},
2694
2695 { 0x18, KEY_RED},
2696 { 0x23, KEY_GREEN},
2697};
2698struct ir_scancode_table ir_codes_kworld_plus_tv_analog_table = {
2699 .scan = ir_codes_kworld_plus_tv_analog,
2700 .size = ARRAY_SIZE(ir_codes_kworld_plus_tv_analog),
2701};
2702EXPORT_SYMBOL_GPL(ir_codes_kworld_plus_tv_analog_table);
2703
2704
2705
2706
2707static struct ir_scancode ir_codes_kaiomy[] = {
2708 { 0x43, KEY_POWER2},
2709 { 0x01, KEY_LIST},
2710 { 0x0b, KEY_ZOOM},
2711 { 0x03, KEY_POWER},
2712
2713 { 0x04, KEY_1},
2714 { 0x08, KEY_2},
2715 { 0x02, KEY_3},
2716
2717 { 0x0f, KEY_4},
2718 { 0x05, KEY_5},
2719 { 0x06, KEY_6},
2720
2721 { 0x0c, KEY_7},
2722 { 0x0d, KEY_8},
2723 { 0x0a, KEY_9},
2724
2725 { 0x11, KEY_0},
2726
2727 { 0x09, KEY_CHANNELUP},
2728 { 0x07, KEY_CHANNELDOWN},
2729
2730 { 0x0e, KEY_VOLUMEUP},
2731 { 0x13, KEY_VOLUMEDOWN},
2732
2733 { 0x10, KEY_HOME},
2734 { 0x12, KEY_ENTER},
2735
2736 { 0x14, KEY_RECORD},
2737 { 0x15, KEY_STOP},
2738 { 0x16, KEY_PLAY},
2739 { 0x17, KEY_MUTE},
2740
2741 { 0x18, KEY_UP},
2742 { 0x19, KEY_DOWN},
2743 { 0x1a, KEY_LEFT},
2744 { 0x1b, KEY_RIGHT},
2745
2746 { 0x1c, KEY_RED},
2747 { 0x1d, KEY_GREEN},
2748 { 0x1e, KEY_YELLOW},
2749 { 0x1f, KEY_BLUE},
2750};
2751struct ir_scancode_table ir_codes_kaiomy_table = {
2752 .scan = ir_codes_kaiomy,
2753 .size = ARRAY_SIZE(ir_codes_kaiomy),
2754};
2755EXPORT_SYMBOL_GPL(ir_codes_kaiomy_table);
2756
2757static struct ir_scancode ir_codes_avermedia_a16d[] = {
2758 { 0x20, KEY_LIST},
2759 { 0x00, KEY_POWER},
2760 { 0x28, KEY_1},
2761 { 0x18, KEY_2},
2762 { 0x38, KEY_3},
2763 { 0x24, KEY_4},
2764 { 0x14, KEY_5},
2765 { 0x34, KEY_6},
2766 { 0x2c, KEY_7},
2767 { 0x1c, KEY_8},
2768 { 0x3c, KEY_9},
2769 { 0x12, KEY_SUBTITLE},
2770 { 0x22, KEY_0},
2771 { 0x32, KEY_REWIND},
2772 { 0x3a, KEY_SHUFFLE},
2773 { 0x02, KEY_PRINT},
2774 { 0x11, KEY_CHANNELDOWN},
2775 { 0x31, KEY_CHANNELUP},
2776 { 0x0c, KEY_ZOOM},
2777 { 0x1e, KEY_VOLUMEDOWN},
2778 { 0x3e, KEY_VOLUMEUP},
2779 { 0x0a, KEY_MUTE},
2780 { 0x04, KEY_AUDIO},
2781 { 0x26, KEY_RECORD},
2782 { 0x06, KEY_PLAY},
2783 { 0x36, KEY_STOP},
2784 { 0x16, KEY_PAUSE},
2785 { 0x2e, KEY_REWIND},
2786 { 0x0e, KEY_FASTFORWARD},
2787 { 0x30, KEY_TEXT},
2788 { 0x21, KEY_GREEN},
2789 { 0x01, KEY_BLUE},
2790 { 0x08, KEY_EPG},
2791 { 0x2a, KEY_MENU},
2792};
2793struct ir_scancode_table ir_codes_avermedia_a16d_table = {
2794 .scan = ir_codes_avermedia_a16d,
2795 .size = ARRAY_SIZE(ir_codes_avermedia_a16d),
2796};
2797EXPORT_SYMBOL_GPL(ir_codes_avermedia_a16d_table);
2798
2799
2800
2801
2802static struct ir_scancode ir_codes_encore_enltv_fm53[] = {
2803 { 0x10, KEY_POWER2},
2804 { 0x06, KEY_MUTE},
2805
2806 { 0x09, KEY_1},
2807 { 0x1d, KEY_2},
2808 { 0x1f, KEY_3},
2809 { 0x19, KEY_4},
2810 { 0x1b, KEY_5},
2811 { 0x11, KEY_6},
2812 { 0x17, KEY_7},
2813 { 0x12, KEY_8},
2814 { 0x16, KEY_9},
2815 { 0x48, KEY_0},
2816
2817 { 0x04, KEY_LIST},
2818 { 0x40, KEY_LAST},
2819
2820 { 0x02, KEY_MODE},
2821 { 0x05, KEY_CAMERA},
2822
2823 { 0x4c, KEY_CHANNELUP},
2824 { 0x00, KEY_CHANNELDOWN},
2825 { 0x0d, KEY_VOLUMEUP},
2826 { 0x15, KEY_VOLUMEDOWN},
2827 { 0x49, KEY_ENTER},
2828
2829 { 0x54, KEY_RECORD},
2830 { 0x4d, KEY_PLAY},
2831
2832 { 0x1e, KEY_MENU},
2833 { 0x0e, KEY_RIGHT},
2834 { 0x1a, KEY_LEFT},
2835
2836 { 0x0a, KEY_CLEAR},
2837 { 0x0c, KEY_ZOOM},
2838 { 0x47, KEY_SLEEP},
2839};
2840struct ir_scancode_table ir_codes_encore_enltv_fm53_table = {
2841 .scan = ir_codes_encore_enltv_fm53,
2842 .size = ARRAY_SIZE(ir_codes_encore_enltv_fm53),
2843};
2844EXPORT_SYMBOL_GPL(ir_codes_encore_enltv_fm53_table);
2845
2846
2847static struct ir_scancode ir_codes_real_audio_220_32_keys[] = {
2848 { 0x1c, KEY_RADIO},
2849 { 0x12, KEY_POWER2},
2850
2851 { 0x01, KEY_1},
2852 { 0x02, KEY_2},
2853 { 0x03, KEY_3},
2854 { 0x04, KEY_4},
2855 { 0x05, KEY_5},
2856 { 0x06, KEY_6},
2857 { 0x07, KEY_7},
2858 { 0x08, KEY_8},
2859 { 0x09, KEY_9},
2860 { 0x00, KEY_0},
2861
2862 { 0x0c, KEY_VOLUMEUP},
2863 { 0x18, KEY_VOLUMEDOWN},
2864 { 0x0b, KEY_CHANNELUP},
2865 { 0x15, KEY_CHANNELDOWN},
2866 { 0x16, KEY_ENTER},
2867
2868 { 0x11, KEY_LIST},
2869 { 0x0d, KEY_AUDIO},
2870
2871 { 0x0f, KEY_PREVIOUS},
2872 { 0x1b, KEY_TIME},
2873 { 0x1a, KEY_NEXT},
2874
2875 { 0x0e, KEY_STOP},
2876 { 0x1f, KEY_PLAY},
2877 { 0x1e, KEY_PLAYPAUSE},
2878
2879 { 0x1d, KEY_RECORD},
2880 { 0x13, KEY_MUTE},
2881 { 0x19, KEY_CAMERA},
2882
2883};
2884struct ir_scancode_table ir_codes_real_audio_220_32_keys_table = {
2885 .scan = ir_codes_real_audio_220_32_keys,
2886 .size = ARRAY_SIZE(ir_codes_real_audio_220_32_keys),
2887};
2888EXPORT_SYMBOL_GPL(ir_codes_real_audio_220_32_keys_table);
2889
2890
2891
2892
2893static struct ir_scancode ir_codes_ati_tv_wonder_hd_600[] = {
2894 { 0x00, KEY_RECORD},
2895 { 0x01, KEY_PLAYPAUSE},
2896 { 0x02, KEY_STOP},
2897 { 0x03, KEY_POWER},
2898 { 0x04, KEY_PREVIOUS},
2899 { 0x05, KEY_REWIND},
2900 { 0x06, KEY_FORWARD},
2901 { 0x07, KEY_NEXT},
2902 { 0x08, KEY_EPG},
2903 { 0x09, KEY_HOME},
2904 { 0x0a, KEY_MENU},
2905 { 0x0b, KEY_CHANNELUP},
2906 { 0x0c, KEY_BACK},
2907 { 0x0d, KEY_UP},
2908 { 0x0e, KEY_INFO},
2909 { 0x0f, KEY_CHANNELDOWN},
2910 { 0x10, KEY_LEFT},
2911 { 0x11, KEY_SELECT},
2912 { 0x12, KEY_RIGHT},
2913 { 0x13, KEY_VOLUMEUP},
2914 { 0x14, KEY_LAST},
2915 { 0x15, KEY_DOWN},
2916 { 0x16, KEY_MUTE},
2917 { 0x17, KEY_VOLUMEDOWN},
2918};
2919struct ir_scancode_table ir_codes_ati_tv_wonder_hd_600_table = {
2920 .scan = ir_codes_ati_tv_wonder_hd_600,
2921 .size = ARRAY_SIZE(ir_codes_ati_tv_wonder_hd_600),
2922};
2923EXPORT_SYMBOL_GPL(ir_codes_ati_tv_wonder_hd_600_table);
2924
2925
2926
2927
2928static struct ir_scancode ir_codes_dm1105_nec[] = {
2929 { 0x0a, KEY_POWER2},
2930 { 0x0c, KEY_MUTE},
2931 { 0x11, KEY_1},
2932 { 0x12, KEY_2},
2933 { 0x13, KEY_3},
2934 { 0x14, KEY_4},
2935 { 0x15, KEY_5},
2936 { 0x16, KEY_6},
2937 { 0x17, KEY_7},
2938 { 0x18, KEY_8},
2939 { 0x19, KEY_9},
2940 { 0x10, KEY_0},
2941 { 0x1c, KEY_CHANNELUP},
2942 { 0x0f, KEY_CHANNELDOWN},
2943 { 0x1a, KEY_VOLUMEUP},
2944 { 0x0e, KEY_VOLUMEDOWN},
2945 { 0x04, KEY_RECORD},
2946 { 0x09, KEY_CHANNEL},
2947 { 0x08, KEY_BACKSPACE},
2948 { 0x07, KEY_FASTFORWARD},
2949 { 0x0b, KEY_PAUSE},
2950 { 0x02, KEY_ESC},
2951 { 0x03, KEY_TAB},
2952 { 0x00, KEY_UP},
2953 { 0x1f, KEY_ENTER},
2954 { 0x01, KEY_DOWN},
2955 { 0x05, KEY_RECORD},
2956 { 0x06, KEY_STOP},
2957 { 0x40, KEY_ZOOM},
2958 { 0x1e, KEY_TV},
2959 { 0x1b, KEY_B},
2960};
2961struct ir_scancode_table ir_codes_dm1105_nec_table = {
2962 .scan = ir_codes_dm1105_nec,
2963 .size = ARRAY_SIZE(ir_codes_dm1105_nec),
2964};
2965EXPORT_SYMBOL_GPL(ir_codes_dm1105_nec_table);
2966
2967
2968
2969
2970static struct ir_scancode ir_codes_terratec_cinergy_xs[] = {
2971 { 0x41, KEY_HOME},
2972 { 0x01, KEY_POWER},
2973 { 0x42, KEY_MENU},
2974 { 0x02, KEY_1},
2975 { 0x03, KEY_2},
2976 { 0x04, KEY_3},
2977 { 0x43, KEY_SUBTITLE},
2978 { 0x05, KEY_4},
2979 { 0x06, KEY_5},
2980 { 0x07, KEY_6},
2981 { 0x44, KEY_TEXT},
2982 { 0x08, KEY_7},
2983 { 0x09, KEY_8},
2984 { 0x0a, KEY_9},
2985 { 0x45, KEY_DELETE},
2986 { 0x0b, KEY_TUNER},
2987 { 0x0c, KEY_0},
2988 { 0x0d, KEY_MODE},
2989 { 0x46, KEY_TV},
2990 { 0x47, KEY_DVD},
2991 { 0x49, KEY_VIDEO},
2992 { 0x4b, KEY_AUX},
2993 { 0x10, KEY_UP},
2994 { 0x11, KEY_LEFT},
2995 { 0x12, KEY_OK},
2996 { 0x13, KEY_RIGHT},
2997 { 0x14, KEY_DOWN},
2998 { 0x0f, KEY_EPG},
2999 { 0x16, KEY_INFO},
3000 { 0x4d, KEY_BACKSPACE},
3001 { 0x1c, KEY_VOLUMEUP},
3002 { 0x4c, KEY_PLAY},
3003 { 0x1b, KEY_CHANNELUP},
3004 { 0x1e, KEY_VOLUMEDOWN},
3005 { 0x1d, KEY_MUTE},
3006 { 0x1f, KEY_CHANNELDOWN},
3007 { 0x17, KEY_RED},
3008 { 0x18, KEY_GREEN},
3009 { 0x19, KEY_YELLOW},
3010 { 0x1a, KEY_BLUE},
3011 { 0x58, KEY_RECORD},
3012 { 0x48, KEY_STOP},
3013 { 0x40, KEY_PAUSE},
3014 { 0x54, KEY_LAST},
3015 { 0x4e, KEY_REWIND},
3016 { 0x4f, KEY_FASTFORWARD},
3017 { 0x5c, KEY_NEXT},
3018};
3019struct ir_scancode_table ir_codes_terratec_cinergy_xs_table = {
3020 .scan = ir_codes_terratec_cinergy_xs,
3021 .size = ARRAY_SIZE(ir_codes_terratec_cinergy_xs),
3022};
3023EXPORT_SYMBOL_GPL(ir_codes_terratec_cinergy_xs_table);
3024
3025
3026
3027
3028static struct ir_scancode ir_codes_evga_indtube[] = {
3029 { 0x12, KEY_POWER},
3030 { 0x02, KEY_MODE},
3031 { 0x14, KEY_MUTE},
3032 { 0x1a, KEY_CHANNELUP},
3033 { 0x16, KEY_TV2},
3034 { 0x1d, KEY_VOLUMEUP},
3035 { 0x05, KEY_CHANNELDOWN},
3036 { 0x0f, KEY_PLAYPAUSE},
3037 { 0x19, KEY_VOLUMEDOWN},
3038 { 0x1c, KEY_REWIND},
3039 { 0x0d, KEY_RECORD},
3040 { 0x18, KEY_FORWARD},
3041 { 0x1e, KEY_PREVIOUS},
3042 { 0x1b, KEY_STOP},
3043 { 0x1f, KEY_NEXT},
3044 { 0x13, KEY_CAMERA},
3045};
3046struct ir_scancode_table ir_codes_evga_indtube_table = {
3047 .scan = ir_codes_evga_indtube,
3048 .size = ARRAY_SIZE(ir_codes_evga_indtube),
3049};
3050EXPORT_SYMBOL_GPL(ir_codes_evga_indtube_table);
3051
3052static struct ir_scancode ir_codes_videomate_s350[] = {
3053 { 0x00, KEY_TV},
3054 { 0x01, KEY_DVD},
3055 { 0x04, KEY_RECORD},
3056 { 0x05, KEY_VIDEO},
3057 { 0x07, KEY_STOP},
3058 { 0x08, KEY_PLAYPAUSE},
3059 { 0x0a, KEY_REWIND},
3060 { 0x0f, KEY_FASTFORWARD},
3061 { 0x10, KEY_CHANNELUP},
3062 { 0x12, KEY_VOLUMEUP},
3063 { 0x13, KEY_CHANNELDOWN},
3064 { 0x14, KEY_MUTE},
3065 { 0x15, KEY_VOLUMEDOWN},
3066 { 0x16, KEY_1},
3067 { 0x17, KEY_2},
3068 { 0x18, KEY_3},
3069 { 0x19, KEY_4},
3070 { 0x1a, KEY_5},
3071 { 0x1b, KEY_6},
3072 { 0x1c, KEY_7},
3073 { 0x1d, KEY_8},
3074 { 0x1e, KEY_9},
3075 { 0x1f, KEY_0},
3076 { 0x21, KEY_SLEEP},
3077 { 0x24, KEY_ZOOM},
3078 { 0x25, KEY_LAST},
3079 { 0x26, KEY_SUBTITLE},
3080 { 0x27, KEY_LANGUAGE},
3081 { 0x29, KEY_CHANNEL},
3082 { 0x2b, KEY_A},
3083 { 0x2c, KEY_B},
3084 { 0x2f, KEY_CAMERA},
3085 { 0x23, KEY_RADIO},
3086 { 0x02, KEY_PREVIOUSSONG},
3087 { 0x06, KEY_NEXTSONG},
3088 { 0x03, KEY_EPG},
3089 { 0x09, KEY_SETUP},
3090 { 0x22, KEY_BACKSPACE},
3091 { 0x0c, KEY_UP},
3092 { 0x0e, KEY_DOWN},
3093 { 0x0b, KEY_LEFT},
3094 { 0x0d, KEY_RIGHT},
3095 { 0x11, KEY_ENTER},
3096 { 0x20, KEY_TEXT},
3097};
3098struct ir_scancode_table ir_codes_videomate_s350_table = {
3099 .scan = ir_codes_videomate_s350,
3100 .size = ARRAY_SIZE(ir_codes_videomate_s350),
3101};
3102EXPORT_SYMBOL_GPL(ir_codes_videomate_s350_table);
3103
3104
3105
3106
3107static struct ir_scancode ir_codes_gadmei_rm008z[] = {
3108 { 0x14, KEY_POWER2},
3109 { 0x0c, KEY_MUTE},
3110
3111 { 0x18, KEY_TV},
3112 { 0x0e, KEY_VIDEO},
3113 { 0x0b, KEY_AUDIO},
3114 { 0x0f, KEY_RADIO},
3115
3116 { 0x00, KEY_1},
3117 { 0x01, KEY_2},
3118 { 0x02, KEY_3},
3119 { 0x03, KEY_4},
3120 { 0x04, KEY_5},
3121 { 0x05, KEY_6},
3122 { 0x06, KEY_7},
3123 { 0x07, KEY_8},
3124 { 0x08, KEY_9},
3125 { 0x09, KEY_0},
3126 { 0x0a, KEY_INFO},
3127 { 0x1c, KEY_BACKSPACE},
3128
3129 { 0x0d, KEY_PLAY},
3130 { 0x1e, KEY_CAMERA},
3131 { 0x1a, KEY_RECORD},
3132 { 0x17, KEY_STOP},
3133
3134 { 0x1f, KEY_UP},
3135 { 0x44, KEY_DOWN},
3136 { 0x46, KEY_TAB},
3137 { 0x4a, KEY_ZOOM},
3138
3139 { 0x10, KEY_VOLUMEUP},
3140 { 0x11, KEY_VOLUMEDOWN},
3141 { 0x12, KEY_CHANNELUP},
3142 { 0x13, KEY_CHANNELDOWN},
3143 { 0x15, KEY_ENTER},
3144};
3145struct ir_scancode_table ir_codes_gadmei_rm008z_table = {
3146 .scan = ir_codes_gadmei_rm008z,
3147 .size = ARRAY_SIZE(ir_codes_gadmei_rm008z),
3148};
3149EXPORT_SYMBOL_GPL(ir_codes_gadmei_rm008z_table);
3150