aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2010-04-01 21:23:38 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-05-19 11:56:47 -0400
commitdce4a3e3b228fd31bcfd2d84e673bc08b553e6cc (patch)
tree2719bc5db9684b07e05b433a45cc03517ed2b9d8 /drivers
parente27e971c69f87bd6c00c4cff973497de365229ef (diff)
V4L/DVB: ir-common: Use macros to define the keytables
The usage of macros ensures that the proper namespace is being used by all tables. It also makes easier to associate a keytable with the name used inside the drivers. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/IR/ir-keymaps.c265
1 files changed, 128 insertions, 137 deletions
diff --git a/drivers/media/IR/ir-keymaps.c b/drivers/media/IR/ir-keymaps.c
index 55e7acd7209c..1ba928516cd2 100644
--- a/drivers/media/IR/ir-keymaps.c
+++ b/drivers/media/IR/ir-keymaps.c
@@ -35,24 +35,15 @@
35 * to define the proper IR_TYPE (IR_TYPE_RC5/IR_TYPE_NEC). 35 * to define the proper IR_TYPE (IR_TYPE_RC5/IR_TYPE_NEC).
36 * The deprecated tables should use IR_TYPE_UNKNOWN 36 * The deprecated tables should use IR_TYPE_UNKNOWN
37 */ 37 */
38#define IR_TABLE(irname, type, tabname) \
39struct ir_scancode_table tabname ## _table = { \
40 .scan = tabname, \
41 .size = ARRAY_SIZE(tabname), \
42 .ir_type = type, \
43 .name = #irname, \
44}; \
45EXPORT_SYMBOL_GPL(tabname ## _table)
46
47 38
48/* empty keytable, can be used as placeholder for not-yet created keytables */ 39/* empty keytable, can be used as placeholder for not-yet created keytables */
49static struct ir_scancode ir_codes_empty[] = { 40static struct ir_scancode empty[] = {
50 { 0x2a, KEY_COFFEE }, 41 { 0x2a, KEY_COFFEE },
51}; 42};
52IR_TABLE(empty, IR_TYPE_UNKNOWN, ir_codes_empty); 43DEFINE_LEGACY_IR_KEYTABLE(empty);
53 44
54/* Michal Majchrowicz <mmajchrowicz@gmail.com> */ 45/* Michal Majchrowicz <mmajchrowicz@gmail.com> */
55static struct ir_scancode ir_codes_proteus_2309[] = { 46static struct ir_scancode proteus_2309[] = {
56 /* numeric */ 47 /* numeric */
57 { 0x00, KEY_0 }, 48 { 0x00, KEY_0 },
58 { 0x01, KEY_1 }, 49 { 0x01, KEY_1 },
@@ -80,10 +71,10 @@ static struct ir_scancode ir_codes_proteus_2309[] = {
80 { 0x1e, KEY_VOLUMEUP }, /* volume + */ 71 { 0x1e, KEY_VOLUMEUP }, /* volume + */
81 { 0x14, KEY_F1 }, 72 { 0x14, KEY_F1 },
82}; 73};
83IR_TABLE(proteus_2309, IR_TYPE_UNKNOWN, ir_codes_proteus_2309); 74DEFINE_LEGACY_IR_KEYTABLE(proteus_2309);
84 75
85/* Matt Jesson <dvb@jesson.eclipse.co.uk */ 76/* Matt Jesson <dvb@jesson.eclipse.co.uk */
86static struct ir_scancode ir_codes_avermedia_dvbt[] = { 77static struct ir_scancode avermedia_dvbt[] = {
87 { 0x28, KEY_0 }, /* '0' / 'enter' */ 78 { 0x28, KEY_0 }, /* '0' / 'enter' */
88 { 0x22, KEY_1 }, /* '1' */ 79 { 0x22, KEY_1 }, /* '1' */
89 { 0x12, KEY_2 }, /* '2' / 'up arrow' */ 80 { 0x12, KEY_2 }, /* '2' / 'up arrow' */
@@ -120,14 +111,14 @@ static struct ir_scancode ir_codes_avermedia_dvbt[] = {
120 { 0x1e, KEY_VOLUMEDOWN }, /* 'volume -' */ 111 { 0x1e, KEY_VOLUMEDOWN }, /* 'volume -' */
121 { 0x3e, KEY_VOLUMEUP }, /* 'volume +' */ 112 { 0x3e, KEY_VOLUMEUP }, /* 'volume +' */
122}; 113};
123IR_TABLE(avermedia_dvbt, IR_TYPE_UNKNOWN, ir_codes_avermedia_dvbt); 114DEFINE_LEGACY_IR_KEYTABLE(avermedia_dvbt);
124 115
125/* 116/*
126 * Avermedia M135A with IR model RM-JX 117 * Avermedia M135A with IR model RM-JX
127 * The same codes exist on both Positivo (BR) and original IR 118 * The same codes exist on both Positivo (BR) and original IR
128 * Mauro Carvalho Chehab <mchehab@infradead.org> 119 * Mauro Carvalho Chehab <mchehab@infradead.org>
129 */ 120 */
130static struct ir_scancode ir_codes_avermedia_m135a_rm_jx[] = { 121static struct ir_scancode avermedia_m135a_rm_jx[] = {
131 { 0x0200, KEY_POWER2 }, 122 { 0x0200, KEY_POWER2 },
132 { 0x022e, KEY_DOT }, /* '.' */ 123 { 0x022e, KEY_DOT }, /* '.' */
133 { 0x0201, KEY_MODE }, /* TV/FM or SOURCE */ 124 { 0x0201, KEY_MODE }, /* TV/FM or SOURCE */
@@ -172,10 +163,10 @@ static struct ir_scancode ir_codes_avermedia_m135a_rm_jx[] = {
172 { 0x0218, KEY_PLAY }, 163 { 0x0218, KEY_PLAY },
173 { 0x021b, KEY_STOP }, 164 { 0x021b, KEY_STOP },
174}; 165};
175IR_TABLE(aver-m135a-RM-JX, IR_TYPE_NEC, ir_codes_avermedia_m135a_rm_jx); 166DEFINE_IR_KEYTABLE(avermedia_m135a_rm_jx, IR_TYPE_NEC);
176 167
177/* Oldrich Jedlicka <oldium.pro@seznam.cz> */ 168/* Oldrich Jedlicka <oldium.pro@seznam.cz> */
178static struct ir_scancode ir_codes_avermedia_cardbus[] = { 169static struct ir_scancode avermedia_cardbus[] = {
179 { 0x00, KEY_POWER }, 170 { 0x00, KEY_POWER },
180 { 0x01, KEY_TUNER }, /* TV/FM */ 171 { 0x01, KEY_TUNER }, /* TV/FM */
181 { 0x03, KEY_TEXT }, /* Teletext */ 172 { 0x03, KEY_TEXT }, /* Teletext */
@@ -231,10 +222,10 @@ static struct ir_scancode ir_codes_avermedia_cardbus[] = {
231 { 0x42, KEY_CHANNELDOWN }, /* Channel down */ 222 { 0x42, KEY_CHANNELDOWN }, /* Channel down */
232 { 0x43, KEY_CHANNELUP }, /* Channel up */ 223 { 0x43, KEY_CHANNELUP }, /* Channel up */
233}; 224};
234IR_TABLE(avermedia_cardbus, IR_TYPE_UNKNOWN, ir_codes_avermedia_cardbus); 225DEFINE_LEGACY_IR_KEYTABLE(avermedia_cardbus);
235 226
236/* Attila Kondoros <attila.kondoros@chello.hu> */ 227/* Attila Kondoros <attila.kondoros@chello.hu> */
237static struct ir_scancode ir_codes_apac_viewcomp[] = { 228static struct ir_scancode apac_viewcomp[] = {
238 229
239 { 0x01, KEY_1 }, 230 { 0x01, KEY_1 },
240 { 0x02, KEY_2 }, 231 { 0x02, KEY_2 },
@@ -273,11 +264,11 @@ static struct ir_scancode ir_codes_apac_viewcomp[] = {
273 { 0x0c, KEY_KPPLUS }, /* fine tune >>>> */ 264 { 0x0c, KEY_KPPLUS }, /* fine tune >>>> */
274 { 0x18, KEY_KPMINUS }, /* fine tune <<<< */ 265 { 0x18, KEY_KPMINUS }, /* fine tune <<<< */
275}; 266};
276IR_TABLE(apac_viewcomp, IR_TYPE_UNKNOWN, ir_codes_apac_viewcomp); 267DEFINE_LEGACY_IR_KEYTABLE(apac_viewcomp);
277 268
278/* ---------------------------------------------------------------------- */ 269/* ---------------------------------------------------------------------- */
279 270
280static struct ir_scancode ir_codes_pixelview[] = { 271static struct ir_scancode pixelview[] = {
281 272
282 { 0x1e, KEY_POWER }, /* power */ 273 { 0x1e, KEY_POWER }, /* power */
283 { 0x07, KEY_MEDIA }, /* source */ 274 { 0x07, KEY_MEDIA }, /* source */
@@ -320,13 +311,13 @@ static struct ir_scancode ir_codes_pixelview[] = {
320 { 0x1d, KEY_REFRESH }, /* reset */ 311 { 0x1d, KEY_REFRESH }, /* reset */
321 { 0x18, KEY_MUTE }, /* mute/unmute */ 312 { 0x18, KEY_MUTE }, /* mute/unmute */
322}; 313};
323IR_TABLE(pixelview, IR_TYPE_UNKNOWN, ir_codes_pixelview); 314DEFINE_LEGACY_IR_KEYTABLE(pixelview);
324 315
325/* 316/*
326 Mauro Carvalho Chehab <mchehab@infradead.org> 317 Mauro Carvalho Chehab <mchehab@infradead.org>
327 present on PV MPEG 8000GT 318 present on PV MPEG 8000GT
328 */ 319 */
329static struct ir_scancode ir_codes_pixelview_new[] = { 320static struct ir_scancode pixelview_new[] = {
330 { 0x3c, KEY_TIME }, /* Timeshift */ 321 { 0x3c, KEY_TIME }, /* Timeshift */
331 { 0x12, KEY_POWER }, 322 { 0x12, KEY_POWER },
332 323
@@ -365,9 +356,9 @@ static struct ir_scancode ir_codes_pixelview_new[] = {
365 { 0x31, KEY_TV }, 356 { 0x31, KEY_TV },
366 { 0x34, KEY_RADIO }, 357 { 0x34, KEY_RADIO },
367}; 358};
368IR_TABLE(pixelview_new, IR_TYPE_UNKNOWN, ir_codes_pixelview_new); 359DEFINE_LEGACY_IR_KEYTABLE(pixelview_new);
369 360
370static struct ir_scancode ir_codes_nebula[] = { 361static struct ir_scancode nebula[] = {
371 { 0x00, KEY_0 }, 362 { 0x00, KEY_0 },
372 { 0x01, KEY_1 }, 363 { 0x01, KEY_1 },
373 { 0x02, KEY_2 }, 364 { 0x02, KEY_2 },
@@ -424,10 +415,10 @@ static struct ir_scancode ir_codes_nebula[] = {
424 { 0x35, KEY_PHONE }, 415 { 0x35, KEY_PHONE },
425 { 0x36, KEY_PC }, 416 { 0x36, KEY_PC },
426}; 417};
427IR_TABLE(nebula, IR_TYPE_UNKNOWN, ir_codes_nebula); 418DEFINE_LEGACY_IR_KEYTABLE(nebula);
428 419
429/* DigitalNow DNTV Live DVB-T Remote */ 420/* DigitalNow DNTV Live DVB-T Remote */
430static struct ir_scancode ir_codes_dntv_live_dvb_t[] = { 421static struct ir_scancode dntv_live_dvb_t[] = {
431 { 0x00, KEY_ESC }, /* 'go up a level?' */ 422 { 0x00, KEY_ESC }, /* 'go up a level?' */
432 /* Keys 0 to 9 */ 423 /* Keys 0 to 9 */
433 { 0x0a, KEY_0 }, 424 { 0x0a, KEY_0 },
@@ -464,12 +455,12 @@ static struct ir_scancode ir_codes_dntv_live_dvb_t[] = {
464 { 0x1e, KEY_CHANNELDOWN }, 455 { 0x1e, KEY_CHANNELDOWN },
465 { 0x1f, KEY_VOLUMEDOWN }, 456 { 0x1f, KEY_VOLUMEDOWN },
466}; 457};
467IR_TABLE(dntv_live_dvb_t, IR_TYPE_UNKNOWN, ir_codes_dntv_live_dvb_t); 458DEFINE_LEGACY_IR_KEYTABLE(dntv_live_dvb_t);
468 459
469/* ---------------------------------------------------------------------- */ 460/* ---------------------------------------------------------------------- */
470 461
471/* IO-DATA BCTV7E Remote */ 462/* IO-DATA BCTV7E Remote */
472static struct ir_scancode ir_codes_iodata_bctv7e[] = { 463static struct ir_scancode iodata_bctv7e[] = {
473 { 0x40, KEY_TV }, 464 { 0x40, KEY_TV },
474 { 0x20, KEY_RADIO }, /* FM */ 465 { 0x20, KEY_RADIO }, /* FM */
475 { 0x60, KEY_EPG }, 466 { 0x60, KEY_EPG },
@@ -516,12 +507,12 @@ static struct ir_scancode ir_codes_iodata_bctv7e[] = {
516 { 0x61, KEY_FASTFORWARD }, /* forward >> */ 507 { 0x61, KEY_FASTFORWARD }, /* forward >> */
517 { 0x01, KEY_NEXT }, /* skip >| */ 508 { 0x01, KEY_NEXT }, /* skip >| */
518}; 509};
519IR_TABLE(iodata_bctv7e, IR_TYPE_UNKNOWN, ir_codes_iodata_bctv7e); 510DEFINE_LEGACY_IR_KEYTABLE(iodata_bctv7e);
520 511
521/* ---------------------------------------------------------------------- */ 512/* ---------------------------------------------------------------------- */
522 513
523/* ADS Tech Instant TV DVB-T PCI Remote */ 514/* ADS Tech Instant TV DVB-T PCI Remote */
524static struct ir_scancode ir_codes_adstech_dvb_t_pci[] = { 515static struct ir_scancode adstech_dvb_t_pci[] = {
525 /* Keys 0 to 9 */ 516 /* Keys 0 to 9 */
526 { 0x4d, KEY_0 }, 517 { 0x4d, KEY_0 },
527 { 0x57, KEY_1 }, 518 { 0x57, KEY_1 },
@@ -569,13 +560,13 @@ static struct ir_scancode ir_codes_adstech_dvb_t_pci[] = {
569 { 0x15, KEY_VOLUMEUP }, 560 { 0x15, KEY_VOLUMEUP },
570 { 0x1c, KEY_VOLUMEDOWN }, 561 { 0x1c, KEY_VOLUMEDOWN },
571}; 562};
572IR_TABLE(adstech_dvb_t_pci, IR_TYPE_UNKNOWN, ir_codes_adstech_dvb_t_pci); 563DEFINE_LEGACY_IR_KEYTABLE(adstech_dvb_t_pci);
573 564
574/* ---------------------------------------------------------------------- */ 565/* ---------------------------------------------------------------------- */
575 566
576/* MSI TV@nywhere MASTER remote */ 567/* MSI TV@nywhere MASTER remote */
577 568
578static struct ir_scancode ir_codes_msi_tvanywhere[] = { 569static struct ir_scancode msi_tvanywhere[] = {
579 /* Keys 0 to 9 */ 570 /* Keys 0 to 9 */
580 { 0x00, KEY_0 }, 571 { 0x00, KEY_0 },
581 { 0x01, KEY_1 }, 572 { 0x01, KEY_1 },
@@ -603,7 +594,7 @@ static struct ir_scancode ir_codes_msi_tvanywhere[] = {
603 { 0x1e, KEY_CHANNELDOWN }, 594 { 0x1e, KEY_CHANNELDOWN },
604 { 0x1f, KEY_VOLUMEDOWN }, 595 { 0x1f, KEY_VOLUMEDOWN },
605}; 596};
606IR_TABLE(msi_tvanywhere, IR_TYPE_UNKNOWN, ir_codes_msi_tvanywhere); 597DEFINE_LEGACY_IR_KEYTABLE(msi_tvanywhere);
607 598
608/* ---------------------------------------------------------------------- */ 599/* ---------------------------------------------------------------------- */
609 600
@@ -622,7 +613,7 @@ IR_TABLE(msi_tvanywhere, IR_TYPE_UNKNOWN, ir_codes_msi_tvanywhere);
622 613
623*/ 614*/
624 615
625static struct ir_scancode ir_codes_msi_tvanywhere_plus[] = { 616static struct ir_scancode msi_tvanywhere_plus[] = {
626 617
627/* ---- Remote Button Layout ---- 618/* ---- Remote Button Layout ----
628 619
@@ -692,12 +683,12 @@ static struct ir_scancode ir_codes_msi_tvanywhere_plus[] = {
692 { 0x0c, KEY_FASTFORWARD }, /* >> */ 683 { 0x0c, KEY_FASTFORWARD }, /* >> */
693 { 0x1d, KEY_RESTART }, /* Reset */ 684 { 0x1d, KEY_RESTART }, /* Reset */
694}; 685};
695IR_TABLE(msi_tvanywhere_plus, IR_TYPE_UNKNOWN, ir_codes_msi_tvanywhere_plus); 686DEFINE_LEGACY_IR_KEYTABLE(msi_tvanywhere_plus);
696 687
697/* ---------------------------------------------------------------------- */ 688/* ---------------------------------------------------------------------- */
698 689
699/* Cinergy 1400 DVB-T */ 690/* Cinergy 1400 DVB-T */
700static struct ir_scancode ir_codes_cinergy_1400[] = { 691static struct ir_scancode cinergy_1400[] = {
701 { 0x01, KEY_POWER }, 692 { 0x01, KEY_POWER },
702 { 0x02, KEY_1 }, 693 { 0x02, KEY_1 },
703 { 0x03, KEY_2 }, 694 { 0x03, KEY_2 },
@@ -740,12 +731,12 @@ static struct ir_scancode ir_codes_cinergy_1400[] = {
740 { 0x48, KEY_STOP }, 731 { 0x48, KEY_STOP },
741 { 0x5c, KEY_NEXT }, 732 { 0x5c, KEY_NEXT },
742}; 733};
743IR_TABLE(cinergy_1400, IR_TYPE_UNKNOWN, ir_codes_cinergy_1400); 734DEFINE_LEGACY_IR_KEYTABLE(cinergy_1400);
744 735
745/* ---------------------------------------------------------------------- */ 736/* ---------------------------------------------------------------------- */
746 737
747/* AVERTV STUDIO 303 Remote */ 738/* AVERTV STUDIO 303 Remote */
748static struct ir_scancode ir_codes_avertv_303[] = { 739static struct ir_scancode avertv_303[] = {
749 { 0x2a, KEY_1 }, 740 { 0x2a, KEY_1 },
750 { 0x32, KEY_2 }, 741 { 0x32, KEY_2 },
751 { 0x3a, KEY_3 }, 742 { 0x3a, KEY_3 },
@@ -789,12 +780,12 @@ static struct ir_scancode ir_codes_avertv_303[] = {
789 { 0x13, KEY_DOWN }, 780 { 0x13, KEY_DOWN },
790 { 0x1b, KEY_UP }, 781 { 0x1b, KEY_UP },
791}; 782};
792IR_TABLE(avertv_303, IR_TYPE_UNKNOWN, ir_codes_avertv_303); 783DEFINE_LEGACY_IR_KEYTABLE(avertv_303);
793 784
794/* ---------------------------------------------------------------------- */ 785/* ---------------------------------------------------------------------- */
795 786
796/* DigitalNow DNTV Live! DVB-T Pro Remote */ 787/* DigitalNow DNTV Live! DVB-T Pro Remote */
797static struct ir_scancode ir_codes_dntv_live_dvbt_pro[] = { 788static struct ir_scancode dntv_live_dvbt_pro[] = {
798 { 0x16, KEY_POWER }, 789 { 0x16, KEY_POWER },
799 { 0x5b, KEY_HOME }, 790 { 0x5b, KEY_HOME },
800 791
@@ -850,9 +841,9 @@ static struct ir_scancode ir_codes_dntv_live_dvbt_pro[] = {
850 { 0x5c, KEY_YELLOW }, 841 { 0x5c, KEY_YELLOW },
851 { 0x5d, KEY_BLUE }, 842 { 0x5d, KEY_BLUE },
852}; 843};
853IR_TABLE(dntv_live_dvbt_pro, IR_TYPE_UNKNOWN, ir_codes_dntv_live_dvbt_pro); 844DEFINE_LEGACY_IR_KEYTABLE(dntv_live_dvbt_pro);
854 845
855static struct ir_scancode ir_codes_em_terratec[] = { 846static struct ir_scancode em_terratec[] = {
856 { 0x01, KEY_CHANNEL }, 847 { 0x01, KEY_CHANNEL },
857 { 0x02, KEY_SELECT }, 848 { 0x02, KEY_SELECT },
858 { 0x03, KEY_MUTE }, 849 { 0x03, KEY_MUTE },
@@ -882,9 +873,9 @@ static struct ir_scancode ir_codes_em_terratec[] = {
882 { 0x1e, KEY_STOP }, 873 { 0x1e, KEY_STOP },
883 { 0x40, KEY_ZOOM }, 874 { 0x40, KEY_ZOOM },
884}; 875};
885IR_TABLE(em_terratec, IR_TYPE_UNKNOWN, ir_codes_em_terratec); 876DEFINE_LEGACY_IR_KEYTABLE(em_terratec);
886 877
887static struct ir_scancode ir_codes_pinnacle_grey[] = { 878static struct ir_scancode pinnacle_grey[] = {
888 { 0x3a, KEY_0 }, 879 { 0x3a, KEY_0 },
889 { 0x31, KEY_1 }, 880 { 0x31, KEY_1 },
890 { 0x32, KEY_2 }, 881 { 0x32, KEY_2 },
@@ -934,9 +925,9 @@ static struct ir_scancode ir_codes_pinnacle_grey[] = {
934 { 0x2a, KEY_MEDIA }, 925 { 0x2a, KEY_MEDIA },
935 { 0x18, KEY_EPG }, 926 { 0x18, KEY_EPG },
936}; 927};
937IR_TABLE(pinnacle_grey, IR_TYPE_UNKNOWN, ir_codes_pinnacle_grey); 928DEFINE_LEGACY_IR_KEYTABLE(pinnacle_grey);
938 929
939static struct ir_scancode ir_codes_flyvideo[] = { 930static struct ir_scancode flyvideo[] = {
940 { 0x0f, KEY_0 }, 931 { 0x0f, KEY_0 },
941 { 0x03, KEY_1 }, 932 { 0x03, KEY_1 },
942 { 0x04, KEY_2 }, 933 { 0x04, KEY_2 },
@@ -967,9 +958,9 @@ static struct ir_scancode ir_codes_flyvideo[] = {
967 { 0x1f, KEY_FORWARD }, /* Forward ( >>> ) */ 958 { 0x1f, KEY_FORWARD }, /* Forward ( >>> ) */
968 { 0x0a, KEY_ANGLE }, /* no label, may be used as the PAUSE button */ 959 { 0x0a, KEY_ANGLE }, /* no label, may be used as the PAUSE button */
969}; 960};
970IR_TABLE(flyvideo, IR_TYPE_UNKNOWN, ir_codes_flyvideo); 961DEFINE_LEGACY_IR_KEYTABLE(flyvideo);
971 962
972static struct ir_scancode ir_codes_flydvb[] = { 963static struct ir_scancode flydvb[] = {
973 { 0x01, KEY_ZOOM }, /* Full Screen */ 964 { 0x01, KEY_ZOOM }, /* Full Screen */
974 { 0x00, KEY_POWER }, /* Power */ 965 { 0x00, KEY_POWER }, /* Power */
975 966
@@ -1007,9 +998,9 @@ static struct ir_scancode ir_codes_flydvb[] = {
1007 { 0x11, KEY_STOP }, /* Stop */ 998 { 0x11, KEY_STOP }, /* Stop */
1008 { 0x0e, KEY_NEXT }, /* End >>| */ 999 { 0x0e, KEY_NEXT }, /* End >>| */
1009}; 1000};
1010IR_TABLE(flydvb, IR_TYPE_UNKNOWN, ir_codes_flydvb); 1001DEFINE_LEGACY_IR_KEYTABLE(flydvb);
1011 1002
1012static struct ir_scancode ir_codes_cinergy[] = { 1003static struct ir_scancode cinergy[] = {
1013 { 0x00, KEY_0 }, 1004 { 0x00, KEY_0 },
1014 { 0x01, KEY_1 }, 1005 { 0x01, KEY_1 },
1015 { 0x02, KEY_2 }, 1006 { 0x02, KEY_2 },
@@ -1048,11 +1039,11 @@ static struct ir_scancode ir_codes_cinergy[] = {
1048 { 0x22, KEY_PAUSE }, 1039 { 0x22, KEY_PAUSE },
1049 { 0x23, KEY_STOP }, 1040 { 0x23, KEY_STOP },
1050}; 1041};
1051IR_TABLE(cinergy, IR_TYPE_UNKNOWN, ir_codes_cinergy); 1042DEFINE_LEGACY_IR_KEYTABLE(cinergy);
1052 1043
1053/* Alfons Geser <a.geser@cox.net> 1044/* Alfons Geser <a.geser@cox.net>
1054 * updates from Job D. R. Borges <jobdrb@ig.com.br> */ 1045 * updates from Job D. R. Borges <jobdrb@ig.com.br> */
1055static struct ir_scancode ir_codes_eztv[] = { 1046static struct ir_scancode eztv[] = {
1056 { 0x12, KEY_POWER }, 1047 { 0x12, KEY_POWER },
1057 { 0x01, KEY_TV }, /* DVR */ 1048 { 0x01, KEY_TV }, /* DVR */
1058 { 0x15, KEY_DVD }, /* DVD */ 1049 { 0x15, KEY_DVD }, /* DVD */
@@ -1106,10 +1097,10 @@ static struct ir_scancode ir_codes_eztv[] = {
1106 { 0x13, KEY_ENTER }, /* enter */ 1097 { 0x13, KEY_ENTER }, /* enter */
1107 { 0x21, KEY_DOT }, /* . (decimal dot) */ 1098 { 0x21, KEY_DOT }, /* . (decimal dot) */
1108}; 1099};
1109IR_TABLE(eztv, IR_TYPE_UNKNOWN, ir_codes_eztv); 1100DEFINE_LEGACY_IR_KEYTABLE(eztv);
1110 1101
1111/* Alex Hermann <gaaf@gmx.net> */ 1102/* Alex Hermann <gaaf@gmx.net> */
1112static struct ir_scancode ir_codes_avermedia[] = { 1103static struct ir_scancode avermedia[] = {
1113 { 0x28, KEY_1 }, 1104 { 0x28, KEY_1 },
1114 { 0x18, KEY_2 }, 1105 { 0x18, KEY_2 },
1115 { 0x38, KEY_3 }, 1106 { 0x38, KEY_3 },
@@ -1154,9 +1145,9 @@ static struct ir_scancode ir_codes_avermedia[] = {
1154 { 0x11, KEY_CHANNELDOWN }, /* CHANNEL/PAGE- */ 1145 { 0x11, KEY_CHANNELDOWN }, /* CHANNEL/PAGE- */
1155 { 0x31, KEY_CHANNELUP } /* CHANNEL/PAGE+ */ 1146 { 0x31, KEY_CHANNELUP } /* CHANNEL/PAGE+ */
1156}; 1147};
1157IR_TABLE(avermedia, IR_TYPE_UNKNOWN, ir_codes_avermedia); 1148DEFINE_LEGACY_IR_KEYTABLE(avermedia);
1158 1149
1159static struct ir_scancode ir_codes_videomate_tv_pvr[] = { 1150static struct ir_scancode videomate_tv_pvr[] = {
1160 { 0x14, KEY_MUTE }, 1151 { 0x14, KEY_MUTE },
1161 { 0x24, KEY_ZOOM }, 1152 { 0x24, KEY_ZOOM },
1162 1153
@@ -1204,7 +1195,7 @@ static struct ir_scancode ir_codes_videomate_tv_pvr[] = {
1204 { 0x20, KEY_LANGUAGE }, 1195 { 0x20, KEY_LANGUAGE },
1205 { 0x21, KEY_SLEEP }, 1196 { 0x21, KEY_SLEEP },
1206}; 1197};
1207IR_TABLE(videomate_tv_pvr, IR_TYPE_UNKNOWN, ir_codes_videomate_tv_pvr); 1198DEFINE_LEGACY_IR_KEYTABLE(videomate_tv_pvr);
1208 1199
1209/* Michael Tokarev <mjt@tls.msk.ru> 1200/* Michael Tokarev <mjt@tls.msk.ru>
1210 http://www.corpit.ru/mjt/beholdTV/remote_control.jpg 1201 http://www.corpit.ru/mjt/beholdTV/remote_control.jpg
@@ -1215,7 +1206,7 @@ IR_TABLE(videomate_tv_pvr, IR_TYPE_UNKNOWN, ir_codes_videomate_tv_pvr);
1215 the button labels (several variants when appropriate) 1206 the button labels (several variants when appropriate)
1216 helps to descide which keycodes to assign to the buttons. 1207 helps to descide which keycodes to assign to the buttons.
1217 */ 1208 */
1218static struct ir_scancode ir_codes_manli[] = { 1209static struct ir_scancode manli[] = {
1219 1210
1220 /* 0x1c 0x12 * 1211 /* 0x1c 0x12 *
1221 * FUNCTION POWER * 1212 * FUNCTION POWER *
@@ -1301,10 +1292,10 @@ static struct ir_scancode ir_codes_manli[] = {
1301 1292
1302 /* 0x1d unused ? */ 1293 /* 0x1d unused ? */
1303}; 1294};
1304IR_TABLE(manli, IR_TYPE_UNKNOWN, ir_codes_manli); 1295DEFINE_LEGACY_IR_KEYTABLE(manli);
1305 1296
1306/* Mike Baikov <mike@baikov.com> */ 1297/* Mike Baikov <mike@baikov.com> */
1307static struct ir_scancode ir_codes_gotview7135[] = { 1298static struct ir_scancode gotview7135[] = {
1308 1299
1309 { 0x11, KEY_POWER }, 1300 { 0x11, KEY_POWER },
1310 { 0x35, KEY_TV }, 1301 { 0x35, KEY_TV },
@@ -1342,9 +1333,9 @@ static struct ir_scancode ir_codes_gotview7135[] = {
1342 { 0x1e, KEY_TIME }, /* TIMESHIFT */ 1333 { 0x1e, KEY_TIME }, /* TIMESHIFT */
1343 { 0x38, KEY_F24 }, /* NORMAL TIMESHIFT */ 1334 { 0x38, KEY_F24 }, /* NORMAL TIMESHIFT */
1344}; 1335};
1345IR_TABLE(gotview7135, IR_TYPE_UNKNOWN, ir_codes_gotview7135); 1336DEFINE_LEGACY_IR_KEYTABLE(gotview7135);
1346 1337
1347static struct ir_scancode ir_codes_purpletv[] = { 1338static struct ir_scancode purpletv[] = {
1348 { 0x03, KEY_POWER }, 1339 { 0x03, KEY_POWER },
1349 { 0x6f, KEY_MUTE }, 1340 { 0x6f, KEY_MUTE },
1350 { 0x10, KEY_BACKSPACE }, /* Recall */ 1341 { 0x10, KEY_BACKSPACE }, /* Recall */
@@ -1386,13 +1377,13 @@ static struct ir_scancode ir_codes_purpletv[] = {
1386 { 0x42, KEY_REWIND }, /* Backward ? */ 1377 { 0x42, KEY_REWIND }, /* Backward ? */
1387 1378
1388}; 1379};
1389IR_TABLE(purpletv, IR_TYPE_UNKNOWN, ir_codes_purpletv); 1380DEFINE_LEGACY_IR_KEYTABLE(purpletv);
1390 1381
1391/* Mapping for the 28 key remote control as seen at 1382/* Mapping for the 28 key remote control as seen at
1392 http://www.sednacomputer.com/photo/cardbus-tv.jpg 1383 http://www.sednacomputer.com/photo/cardbus-tv.jpg
1393 Pavel Mihaylov <bin@bash.info> 1384 Pavel Mihaylov <bin@bash.info>
1394 Also for the remote bundled with Kozumi KTV-01C card */ 1385 Also for the remote bundled with Kozumi KTV-01C card */
1395static struct ir_scancode ir_codes_pctv_sedna[] = { 1386static struct ir_scancode pctv_sedna[] = {
1396 { 0x00, KEY_0 }, 1387 { 0x00, KEY_0 },
1397 { 0x01, KEY_1 }, 1388 { 0x01, KEY_1 },
1398 { 0x02, KEY_2 }, 1389 { 0x02, KEY_2 },
@@ -1428,10 +1419,10 @@ static struct ir_scancode ir_codes_pctv_sedna[] = {
1428 { 0x17, KEY_DIGITS }, /* Plus */ 1419 { 0x17, KEY_DIGITS }, /* Plus */
1429 { 0x1f, KEY_PLAY }, /* Play */ 1420 { 0x1f, KEY_PLAY }, /* Play */
1430}; 1421};
1431IR_TABLE(pctv_sedna, IR_TYPE_UNKNOWN, ir_codes_pctv_sedna); 1422DEFINE_LEGACY_IR_KEYTABLE(pctv_sedna);
1432 1423
1433/* Mark Phalan <phalanm@o2.ie> */ 1424/* Mark Phalan <phalanm@o2.ie> */
1434static struct ir_scancode ir_codes_pv951[] = { 1425static struct ir_scancode pv951[] = {
1435 { 0x00, KEY_0 }, 1426 { 0x00, KEY_0 },
1436 { 0x01, KEY_1 }, 1427 { 0x01, KEY_1 },
1437 { 0x02, KEY_2 }, 1428 { 0x02, KEY_2 },
@@ -1468,12 +1459,12 @@ static struct ir_scancode ir_codes_pv951[] = {
1468 { 0x14, KEY_EQUAL }, /* SYNC */ 1459 { 0x14, KEY_EQUAL }, /* SYNC */
1469 { 0x1c, KEY_MEDIA }, /* PC/TV */ 1460 { 0x1c, KEY_MEDIA }, /* PC/TV */
1470}; 1461};
1471IR_TABLE(pv951, IR_TYPE_UNKNOWN, ir_codes_pv951); 1462DEFINE_LEGACY_IR_KEYTABLE(pv951);
1472 1463
1473/* generic RC5 keytable */ 1464/* generic RC5 keytable */
1474/* see http://users.pandora.be/nenya/electronics/rc5/codes00.htm */ 1465/* see http://users.pandora.be/nenya/electronics/rc5/codes00.htm */
1475/* used by old (black) Hauppauge remotes */ 1466/* used by old (black) Hauppauge remotes */
1476static struct ir_scancode ir_codes_rc5_tv[] = { 1467static struct ir_scancode rc5_tv[] = {
1477 /* Keys 0 to 9 */ 1468 /* Keys 0 to 9 */
1478 { 0x00, KEY_0 }, 1469 { 0x00, KEY_0 },
1479 { 0x01, KEY_1 }, 1470 { 0x01, KEY_1 },
@@ -1511,10 +1502,10 @@ static struct ir_scancode ir_codes_rc5_tv[] = {
1511 { 0x3d, KEY_SUSPEND }, /* system standby */ 1502 { 0x3d, KEY_SUSPEND }, /* system standby */
1512 1503
1513}; 1504};
1514IR_TABLE(rc5_tv, IR_TYPE_UNKNOWN, ir_codes_rc5_tv); 1505DEFINE_LEGACY_IR_KEYTABLE(rc5_tv);
1515 1506
1516/* Table for Leadtek Winfast Remote Controls - used by both bttv and cx88 */ 1507/* Table for Leadtek Winfast Remote Controls - used by both bttv and cx88 */
1517static struct ir_scancode ir_codes_winfast[] = { 1508static struct ir_scancode winfast[] = {
1518 /* Keys 0 to 9 */ 1509 /* Keys 0 to 9 */
1519 { 0x12, KEY_0 }, 1510 { 0x12, KEY_0 },
1520 { 0x05, KEY_1 }, 1511 { 0x05, KEY_1 },
@@ -1575,9 +1566,9 @@ static struct ir_scancode ir_codes_winfast[] = {
1575 { 0x3b, KEY_F23 }, /* MCE +CH, on Y04G0033 */ 1566 { 0x3b, KEY_F23 }, /* MCE +CH, on Y04G0033 */
1576 { 0x3f, KEY_F24 } /* MCE -CH, on Y04G0033 */ 1567 { 0x3f, KEY_F24 } /* MCE -CH, on Y04G0033 */
1577}; 1568};
1578IR_TABLE(winfast, IR_TYPE_UNKNOWN, ir_codes_winfast); 1569DEFINE_LEGACY_IR_KEYTABLE(winfast);
1579 1570
1580static struct ir_scancode ir_codes_pinnacle_color[] = { 1571static struct ir_scancode pinnacle_color[] = {
1581 { 0x59, KEY_MUTE }, 1572 { 0x59, KEY_MUTE },
1582 { 0x4a, KEY_POWER }, 1573 { 0x4a, KEY_POWER },
1583 1574
@@ -1632,12 +1623,12 @@ static struct ir_scancode ir_codes_pinnacle_color[] = {
1632 { 0x74, KEY_CHANNEL }, 1623 { 0x74, KEY_CHANNEL },
1633 { 0x0a, KEY_BACKSPACE }, 1624 { 0x0a, KEY_BACKSPACE },
1634}; 1625};
1635IR_TABLE(pinnacle_color, IR_TYPE_UNKNOWN, ir_codes_pinnacle_color); 1626DEFINE_LEGACY_IR_KEYTABLE(pinnacle_color);
1636 1627
1637/* Hauppauge: the newer, gray remotes (seems there are multiple 1628/* Hauppauge: the newer, gray remotes (seems there are multiple
1638 * slightly different versions), shipped with cx88+ivtv cards. 1629 * slightly different versions), shipped with cx88+ivtv cards.
1639 * almost rc5 coding, but some non-standard keys */ 1630 * almost rc5 coding, but some non-standard keys */
1640static struct ir_scancode ir_codes_hauppauge_new[] = { 1631static struct ir_scancode hauppauge_new[] = {
1641 /* Keys 0 to 9 */ 1632 /* Keys 0 to 9 */
1642 { 0x00, KEY_0 }, 1633 { 0x00, KEY_0 },
1643 { 0x01, KEY_1 }, 1634 { 0x01, KEY_1 },
@@ -1694,9 +1685,9 @@ static struct ir_scancode ir_codes_hauppauge_new[] = {
1694 { 0x3c, KEY_ZOOM }, /* full */ 1685 { 0x3c, KEY_ZOOM }, /* full */
1695 { 0x3d, KEY_POWER }, /* system power (green button) */ 1686 { 0x3d, KEY_POWER }, /* system power (green button) */
1696}; 1687};
1697IR_TABLE(hauppauge_new, IR_TYPE_UNKNOWN, ir_codes_hauppauge_new); 1688DEFINE_LEGACY_IR_KEYTABLE(hauppauge_new);
1698 1689
1699static struct ir_scancode ir_codes_npgtech[] = { 1690static struct ir_scancode npgtech[] = {
1700 { 0x1d, KEY_SWITCHVIDEOMODE }, /* switch inputs */ 1691 { 0x1d, KEY_SWITCHVIDEOMODE }, /* switch inputs */
1701 { 0x2a, KEY_FRONT }, 1692 { 0x2a, KEY_FRONT },
1702 1693
@@ -1737,12 +1728,12 @@ static struct ir_scancode ir_codes_npgtech[] = {
1737 { 0x10, KEY_POWER }, 1728 { 0x10, KEY_POWER },
1738 1729
1739}; 1730};
1740IR_TABLE(npgtech, IR_TYPE_UNKNOWN, ir_codes_npgtech); 1731DEFINE_LEGACY_IR_KEYTABLE(npgtech);
1741 1732
1742/* Norwood Micro (non-Pro) TV Tuner 1733/* Norwood Micro (non-Pro) TV Tuner
1743 By Peter Naulls <peter@chocky.org> 1734 By Peter Naulls <peter@chocky.org>
1744 Key comments are the functions given in the manual */ 1735 Key comments are the functions given in the manual */
1745static struct ir_scancode ir_codes_norwood[] = { 1736static struct ir_scancode norwood[] = {
1746 /* Keys 0 to 9 */ 1737 /* Keys 0 to 9 */
1747 { 0x20, KEY_0 }, 1738 { 0x20, KEY_0 },
1748 { 0x21, KEY_1 }, 1739 { 0x21, KEY_1 },
@@ -1784,14 +1775,14 @@ static struct ir_scancode ir_codes_norwood[] = {
1784 { 0x34, KEY_RADIO }, /* FM */ 1775 { 0x34, KEY_RADIO }, /* FM */
1785 { 0x65, KEY_POWER }, /* Computer power */ 1776 { 0x65, KEY_POWER }, /* Computer power */
1786}; 1777};
1787IR_TABLE(norwood, IR_TYPE_UNKNOWN, ir_codes_norwood); 1778DEFINE_LEGACY_IR_KEYTABLE(norwood);
1788 1779
1789/* From reading the following remotes: 1780/* From reading the following remotes:
1790 * Zenith Universal 7 / TV Mode 807 / VCR Mode 837 1781 * Zenith Universal 7 / TV Mode 807 / VCR Mode 837
1791 * Hauppauge (from NOVA-CI-s box product) 1782 * Hauppauge (from NOVA-CI-s box product)
1792 * This is a "middle of the road" approach, differences are noted 1783 * This is a "middle of the road" approach, differences are noted
1793 */ 1784 */
1794static struct ir_scancode ir_codes_budget_ci_old[] = { 1785static struct ir_scancode budget_ci_old[] = {
1795 { 0x00, KEY_0 }, 1786 { 0x00, KEY_0 },
1796 { 0x01, KEY_1 }, 1787 { 0x01, KEY_1 },
1797 { 0x02, KEY_2 }, 1788 { 0x02, KEY_2 },
@@ -1838,14 +1829,14 @@ static struct ir_scancode ir_codes_budget_ci_old[] = {
1838 { 0x3d, KEY_POWER2 }, 1829 { 0x3d, KEY_POWER2 },
1839 { 0x3e, KEY_TUNER }, 1830 { 0x3e, KEY_TUNER },
1840}; 1831};
1841IR_TABLE(budget_ci_old, IR_TYPE_UNKNOWN, ir_codes_budget_ci_old); 1832DEFINE_LEGACY_IR_KEYTABLE(budget_ci_old);
1842 1833
1843/* 1834/*
1844 * Marc Fargas <telenieko@telenieko.com> 1835 * Marc Fargas <telenieko@telenieko.com>
1845 * this is the remote control that comes with the asus p7131 1836 * this is the remote control that comes with the asus p7131
1846 * which has a label saying is "Model PC-39" 1837 * which has a label saying is "Model PC-39"
1847 */ 1838 */
1848static struct ir_scancode ir_codes_asus_pc39[] = { 1839static struct ir_scancode asus_pc39[] = {
1849 /* Keys 0 to 9 */ 1840 /* Keys 0 to 9 */
1850 { 0x15, KEY_0 }, 1841 { 0x15, KEY_0 },
1851 { 0x29, KEY_1 }, 1842 { 0x29, KEY_1 },
@@ -1891,11 +1882,11 @@ static struct ir_scancode ir_codes_asus_pc39[] = {
1891 { 0x3d, KEY_MUTE }, /* mute */ 1882 { 0x3d, KEY_MUTE }, /* mute */
1892 { 0x01, KEY_DVD }, /* dvd */ 1883 { 0x01, KEY_DVD }, /* dvd */
1893}; 1884};
1894IR_TABLE(asus_pc39, IR_TYPE_UNKNOWN, ir_codes_asus_pc39); 1885DEFINE_LEGACY_IR_KEYTABLE(asus_pc39);
1895 1886
1896/* Encore ENLTV-FM - black plastic, white front cover with white glowing buttons 1887/* Encore ENLTV-FM - black plastic, white front cover with white glowing buttons
1897 Juan Pablo Sormani <sorman@gmail.com> */ 1888 Juan Pablo Sormani <sorman@gmail.com> */
1898static struct ir_scancode ir_codes_encore_enltv[] = { 1889static struct ir_scancode encore_enltv[] = {
1899 1890
1900 /* Power button does nothing, neither in Windows app, 1891 /* Power button does nothing, neither in Windows app,
1901 although it sends data (used for BIOS wakeup?) */ 1892 although it sends data (used for BIOS wakeup?) */
@@ -1965,11 +1956,11 @@ static struct ir_scancode ir_codes_encore_enltv[] = {
1965 { 0x47, KEY_YELLOW }, /* AP3 */ 1956 { 0x47, KEY_YELLOW }, /* AP3 */
1966 { 0x57, KEY_BLUE }, /* AP4 */ 1957 { 0x57, KEY_BLUE }, /* AP4 */
1967}; 1958};
1968IR_TABLE(encore_enltv, IR_TYPE_UNKNOWN, ir_codes_encore_enltv); 1959DEFINE_LEGACY_IR_KEYTABLE(encore_enltv);
1969 1960
1970/* Encore ENLTV2-FM - silver plastic - "Wand Media" written at the botton 1961/* Encore ENLTV2-FM - silver plastic - "Wand Media" written at the botton
1971 Mauro Carvalho Chehab <mchehab@infradead.org> */ 1962 Mauro Carvalho Chehab <mchehab@infradead.org> */
1972static struct ir_scancode ir_codes_encore_enltv2[] = { 1963static struct ir_scancode encore_enltv2[] = {
1973 { 0x4c, KEY_POWER2 }, 1964 { 0x4c, KEY_POWER2 },
1974 { 0x4a, KEY_TUNER }, 1965 { 0x4a, KEY_TUNER },
1975 { 0x40, KEY_1 }, 1966 { 0x40, KEY_1 },
@@ -2017,10 +2008,10 @@ static struct ir_scancode ir_codes_encore_enltv2[] = {
2017 { 0x7d, KEY_FORWARD }, 2008 { 0x7d, KEY_FORWARD },
2018 { 0x79, KEY_STOP }, 2009 { 0x79, KEY_STOP },
2019}; 2010};
2020IR_TABLE(encore_enltv2, IR_TYPE_UNKNOWN, ir_codes_encore_enltv2); 2011DEFINE_LEGACY_IR_KEYTABLE(encore_enltv2);
2021 2012
2022/* for the Technotrend 1500 bundled remotes (grey and black): */ 2013/* for the Technotrend 1500 bundled remotes (grey and black): */
2023static struct ir_scancode ir_codes_tt_1500[] = { 2014static struct ir_scancode tt_1500[] = {
2024 { 0x01, KEY_POWER }, 2015 { 0x01, KEY_POWER },
2025 { 0x02, KEY_SHUFFLE }, /* ? double-arrow key */ 2016 { 0x02, KEY_SHUFFLE }, /* ? double-arrow key */
2026 { 0x03, KEY_1 }, 2017 { 0x03, KEY_1 },
@@ -2061,10 +2052,10 @@ static struct ir_scancode ir_codes_tt_1500[] = {
2061 { 0x3e, KEY_PAUSE }, 2052 { 0x3e, KEY_PAUSE },
2062 { 0x3f, KEY_FORWARD }, 2053 { 0x3f, KEY_FORWARD },
2063}; 2054};
2064IR_TABLE(tt_1500, IR_TYPE_UNKNOWN, ir_codes_tt_1500); 2055DEFINE_LEGACY_IR_KEYTABLE(tt_1500);
2065 2056
2066/* DViCO FUSION HDTV MCE remote */ 2057/* DViCO FUSION HDTV MCE remote */
2067static struct ir_scancode ir_codes_fusionhdtv_mce[] = { 2058static struct ir_scancode fusionhdtv_mce[] = {
2068 2059
2069 { 0x0b, KEY_1 }, 2060 { 0x0b, KEY_1 },
2070 { 0x17, KEY_2 }, 2061 { 0x17, KEY_2 },
@@ -2121,10 +2112,10 @@ static struct ir_scancode ir_codes_fusionhdtv_mce[] = {
2121 { 0x01, KEY_RECORD }, 2112 { 0x01, KEY_RECORD },
2122 { 0x4e, KEY_POWER }, 2113 { 0x4e, KEY_POWER },
2123}; 2114};
2124IR_TABLE(fusionhdtv_mce, IR_TYPE_UNKNOWN, ir_codes_fusionhdtv_mce); 2115DEFINE_LEGACY_IR_KEYTABLE(fusionhdtv_mce);
2125 2116
2126/* Pinnacle PCTV HD 800i mini remote */ 2117/* Pinnacle PCTV HD 800i mini remote */
2127static struct ir_scancode ir_codes_pinnacle_pctv_hd[] = { 2118static struct ir_scancode pinnacle_pctv_hd[] = {
2128 2119
2129 { 0x0f, KEY_1 }, 2120 { 0x0f, KEY_1 },
2130 { 0x15, KEY_2 }, 2121 { 0x15, KEY_2 },
@@ -2156,7 +2147,7 @@ static struct ir_scancode ir_codes_pinnacle_pctv_hd[] = {
2156 { 0x36, KEY_RECORD }, 2147 { 0x36, KEY_RECORD },
2157 { 0x3f, KEY_EPG }, /* Labeled "?" */ 2148 { 0x3f, KEY_EPG }, /* Labeled "?" */
2158}; 2149};
2159IR_TABLE(pinnacle_pctv_hd, IR_TYPE_UNKNOWN, ir_codes_pinnacle_pctv_hd); 2150DEFINE_LEGACY_IR_KEYTABLE(pinnacle_pctv_hd);
2160 2151
2161/* 2152/*
2162 * Igor Kuznetsov <igk72@ya.ru> 2153 * Igor Kuznetsov <igk72@ya.ru>
@@ -2169,7 +2160,7 @@ IR_TABLE(pinnacle_pctv_hd, IR_TYPE_UNKNOWN, ir_codes_pinnacle_pctv_hd);
2169 * the button labels (several variants when appropriate) 2160 * the button labels (several variants when appropriate)
2170 * helps to descide which keycodes to assign to the buttons. 2161 * helps to descide which keycodes to assign to the buttons.
2171 */ 2162 */
2172static struct ir_scancode ir_codes_behold[] = { 2163static struct ir_scancode behold[] = {
2173 2164
2174 /* 0x1c 0x12 * 2165 /* 0x1c 0x12 *
2175 * TV/FM POWER * 2166 * TV/FM POWER *
@@ -2259,7 +2250,7 @@ static struct ir_scancode ir_codes_behold[] = {
2259 { 0x5c, KEY_CAMERA }, 2250 { 0x5c, KEY_CAMERA },
2260 2251
2261}; 2252};
2262IR_TABLE(behold, IR_TYPE_UNKNOWN, ir_codes_behold); 2253DEFINE_LEGACY_IR_KEYTABLE(behold);
2263 2254
2264/* Beholder Intl. Ltd. 2008 2255/* Beholder Intl. Ltd. 2008
2265 * Dmitry Belimov d.belimov@google.com 2256 * Dmitry Belimov d.belimov@google.com
@@ -2269,7 +2260,7 @@ IR_TABLE(behold, IR_TYPE_UNKNOWN, ir_codes_behold);
2269 * the button labels (several variants when appropriate) 2260 * the button labels (several variants when appropriate)
2270 * helps to descide which keycodes to assign to the buttons. 2261 * helps to descide which keycodes to assign to the buttons.
2271 */ 2262 */
2272static struct ir_scancode ir_codes_behold_columbus[] = { 2263static struct ir_scancode behold_columbus[] = {
2273 2264
2274 /* 0x13 0x11 0x1C 0x12 * 2265 /* 0x13 0x11 0x1C 0x12 *
2275 * Mute Source TV/FM Power * 2266 * Mute Source TV/FM Power *
@@ -2329,13 +2320,13 @@ static struct ir_scancode ir_codes_behold_columbus[] = {
2329 { 0x1A, KEY_NEXT }, 2320 { 0x1A, KEY_NEXT },
2330 2321
2331}; 2322};
2332IR_TABLE(behold_columbus, IR_TYPE_UNKNOWN, ir_codes_behold_columbus); 2323DEFINE_LEGACY_IR_KEYTABLE(behold_columbus);
2333 2324
2334/* 2325/*
2335 * Remote control for the Genius TVGO A11MCE 2326 * Remote control for the Genius TVGO A11MCE
2336 * Adrian Pardini <pardo.bsso@gmail.com> 2327 * Adrian Pardini <pardo.bsso@gmail.com>
2337 */ 2328 */
2338static struct ir_scancode ir_codes_genius_tvgo_a11mce[] = { 2329static struct ir_scancode genius_tvgo_a11mce[] = {
2339 /* Keys 0 to 9 */ 2330 /* Keys 0 to 9 */
2340 { 0x48, KEY_0 }, 2331 { 0x48, KEY_0 },
2341 { 0x09, KEY_1 }, 2332 { 0x09, KEY_1 },
@@ -2375,13 +2366,13 @@ static struct ir_scancode ir_codes_genius_tvgo_a11mce[] = {
2375 { 0x13, KEY_YELLOW }, 2366 { 0x13, KEY_YELLOW },
2376 { 0x50, KEY_BLUE }, 2367 { 0x50, KEY_BLUE },
2377}; 2368};
2378IR_TABLE(genius_tvgo_a11mce, IR_TYPE_UNKNOWN, ir_codes_genius_tvgo_a11mce); 2369DEFINE_LEGACY_IR_KEYTABLE(genius_tvgo_a11mce);
2379 2370
2380/* 2371/*
2381 * Remote control for Powercolor Real Angel 330 2372 * Remote control for Powercolor Real Angel 330
2382 * Daniel Fraga <fragabr@gmail.com> 2373 * Daniel Fraga <fragabr@gmail.com>
2383 */ 2374 */
2384static struct ir_scancode ir_codes_powercolor_real_angel[] = { 2375static struct ir_scancode powercolor_real_angel[] = {
2385 { 0x38, KEY_SWITCHVIDEOMODE }, /* switch inputs */ 2376 { 0x38, KEY_SWITCHVIDEOMODE }, /* switch inputs */
2386 { 0x0c, KEY_MEDIA }, /* Turn ON/OFF App */ 2377 { 0x0c, KEY_MEDIA }, /* Turn ON/OFF App */
2387 { 0x00, KEY_0 }, 2378 { 0x00, KEY_0 },
@@ -2418,12 +2409,12 @@ static struct ir_scancode ir_codes_powercolor_real_angel[] = {
2418 { 0x14, KEY_RADIO }, /* FM radio */ 2409 { 0x14, KEY_RADIO }, /* FM radio */
2419 { 0x25, KEY_POWER }, /* power */ 2410 { 0x25, KEY_POWER }, /* power */
2420}; 2411};
2421IR_TABLE(powercolor_real_angel, IR_TYPE_UNKNOWN, ir_codes_powercolor_real_angel); 2412DEFINE_LEGACY_IR_KEYTABLE(powercolor_real_angel);
2422 2413
2423/* Kworld Plus TV Analog Lite PCI IR 2414/* Kworld Plus TV Analog Lite PCI IR
2424 Mauro Carvalho Chehab <mchehab@infradead.org> 2415 Mauro Carvalho Chehab <mchehab@infradead.org>
2425 */ 2416 */
2426static struct ir_scancode ir_codes_kworld_plus_tv_analog[] = { 2417static struct ir_scancode kworld_plus_tv_analog[] = {
2427 { 0x0c, KEY_PROG1 }, /* Kworld key */ 2418 { 0x0c, KEY_PROG1 }, /* Kworld key */
2428 { 0x16, KEY_CLOSECD }, /* -> ) */ 2419 { 0x16, KEY_CLOSECD }, /* -> ) */
2429 { 0x1d, KEY_POWER2 }, 2420 { 0x1d, KEY_POWER2 },
@@ -2479,12 +2470,12 @@ static struct ir_scancode ir_codes_kworld_plus_tv_analog[] = {
2479 { 0x18, KEY_RED}, /* B */ 2470 { 0x18, KEY_RED}, /* B */
2480 { 0x23, KEY_GREEN}, /* C */ 2471 { 0x23, KEY_GREEN}, /* C */
2481}; 2472};
2482IR_TABLE(kworld_plus_tv_analog, IR_TYPE_UNKNOWN, ir_codes_kworld_plus_tv_analog); 2473DEFINE_LEGACY_IR_KEYTABLE(kworld_plus_tv_analog);
2483 2474
2484/* Kaiomy TVnPC U2 2475/* Kaiomy TVnPC U2
2485 Mauro Carvalho Chehab <mchehab@infradead.org> 2476 Mauro Carvalho Chehab <mchehab@infradead.org>
2486 */ 2477 */
2487static struct ir_scancode ir_codes_kaiomy[] = { 2478static struct ir_scancode kaiomy[] = {
2488 { 0x43, KEY_POWER2}, 2479 { 0x43, KEY_POWER2},
2489 { 0x01, KEY_LIST}, 2480 { 0x01, KEY_LIST},
2490 { 0x0b, KEY_ZOOM}, 2481 { 0x0b, KEY_ZOOM},
@@ -2528,9 +2519,9 @@ static struct ir_scancode ir_codes_kaiomy[] = {
2528 { 0x1e, KEY_YELLOW}, 2519 { 0x1e, KEY_YELLOW},
2529 { 0x1f, KEY_BLUE}, 2520 { 0x1f, KEY_BLUE},
2530}; 2521};
2531IR_TABLE(kaiomy, IR_TYPE_UNKNOWN, ir_codes_kaiomy); 2522DEFINE_LEGACY_IR_KEYTABLE(kaiomy);
2532 2523
2533static struct ir_scancode ir_codes_avermedia_a16d[] = { 2524static struct ir_scancode avermedia_a16d[] = {
2534 { 0x20, KEY_LIST}, 2525 { 0x20, KEY_LIST},
2535 { 0x00, KEY_POWER}, 2526 { 0x00, KEY_POWER},
2536 { 0x28, KEY_1}, 2527 { 0x28, KEY_1},
@@ -2566,12 +2557,12 @@ static struct ir_scancode ir_codes_avermedia_a16d[] = {
2566 { 0x08, KEY_EPG}, 2557 { 0x08, KEY_EPG},
2567 { 0x2a, KEY_MENU}, 2558 { 0x2a, KEY_MENU},
2568}; 2559};
2569IR_TABLE(avermedia_a16d, IR_TYPE_UNKNOWN, ir_codes_avermedia_a16d); 2560DEFINE_LEGACY_IR_KEYTABLE(avermedia_a16d);
2570 2561
2571/* Encore ENLTV-FM v5.3 2562/* Encore ENLTV-FM v5.3
2572 Mauro Carvalho Chehab <mchehab@infradead.org> 2563 Mauro Carvalho Chehab <mchehab@infradead.org>
2573 */ 2564 */
2574static struct ir_scancode ir_codes_encore_enltv_fm53[] = { 2565static struct ir_scancode encore_enltv_fm53[] = {
2575 { 0x10, KEY_POWER2}, 2566 { 0x10, KEY_POWER2},
2576 { 0x06, KEY_MUTE}, 2567 { 0x06, KEY_MUTE},
2577 2568
@@ -2609,10 +2600,10 @@ static struct ir_scancode ir_codes_encore_enltv_fm53[] = {
2609 { 0x0c, KEY_ZOOM}, /* hide pannel */ 2600 { 0x0c, KEY_ZOOM}, /* hide pannel */
2610 { 0x47, KEY_SLEEP}, /* shutdown */ 2601 { 0x47, KEY_SLEEP}, /* shutdown */
2611}; 2602};
2612IR_TABLE(encore_enltv_fm53, IR_TYPE_UNKNOWN, ir_codes_encore_enltv_fm53); 2603DEFINE_LEGACY_IR_KEYTABLE(encore_enltv_fm53);
2613 2604
2614/* Zogis Real Audio 220 - 32 keys IR */ 2605/* Zogis Real Audio 220 - 32 keys IR */
2615static struct ir_scancode ir_codes_real_audio_220_32_keys[] = { 2606static struct ir_scancode real_audio_220_32_keys[] = {
2616 { 0x1c, KEY_RADIO}, 2607 { 0x1c, KEY_RADIO},
2617 { 0x12, KEY_POWER2}, 2608 { 0x12, KEY_POWER2},
2618 2609
@@ -2649,12 +2640,12 @@ static struct ir_scancode ir_codes_real_audio_220_32_keys[] = {
2649 { 0x19, KEY_CAMERA}, /* Snapshot */ 2640 { 0x19, KEY_CAMERA}, /* Snapshot */
2650 2641
2651}; 2642};
2652IR_TABLE(real_audio_220_32_keys, IR_TYPE_UNKNOWN, ir_codes_real_audio_220_32_keys); 2643DEFINE_LEGACY_IR_KEYTABLE(real_audio_220_32_keys);
2653 2644
2654/* ATI TV Wonder HD 600 USB 2645/* ATI TV Wonder HD 600 USB
2655 Devin Heitmueller <devin.heitmueller@gmail.com> 2646 Devin Heitmueller <devin.heitmueller@gmail.com>
2656 */ 2647 */
2657static struct ir_scancode ir_codes_ati_tv_wonder_hd_600[] = { 2648static struct ir_scancode ati_tv_wonder_hd_600[] = {
2658 { 0x00, KEY_RECORD}, /* Row 1 */ 2649 { 0x00, KEY_RECORD}, /* Row 1 */
2659 { 0x01, KEY_PLAYPAUSE}, 2650 { 0x01, KEY_PLAYPAUSE},
2660 { 0x02, KEY_STOP}, 2651 { 0x02, KEY_STOP},
@@ -2680,12 +2671,12 @@ static struct ir_scancode ir_codes_ati_tv_wonder_hd_600[] = {
2680 { 0x16, KEY_MUTE}, 2671 { 0x16, KEY_MUTE},
2681 { 0x17, KEY_VOLUMEDOWN}, 2672 { 0x17, KEY_VOLUMEDOWN},
2682}; 2673};
2683IR_TABLE(ati_tv_wonder_hd_600, IR_TYPE_UNKNOWN, ir_codes_ati_tv_wonder_hd_600); 2674DEFINE_LEGACY_IR_KEYTABLE(ati_tv_wonder_hd_600);
2684 2675
2685/* DVBWorld remotes 2676/* DVBWorld remotes
2686 Igor M. Liplianin <liplianin@me.by> 2677 Igor M. Liplianin <liplianin@me.by>
2687 */ 2678 */
2688static struct ir_scancode ir_codes_dm1105_nec[] = { 2679static struct ir_scancode dm1105_nec[] = {
2689 { 0x0a, KEY_POWER2}, /* power */ 2680 { 0x0a, KEY_POWER2}, /* power */
2690 { 0x0c, KEY_MUTE}, /* mute */ 2681 { 0x0c, KEY_MUTE}, /* mute */
2691 { 0x11, KEY_1}, 2682 { 0x11, KEY_1},
@@ -2718,9 +2709,9 @@ static struct ir_scancode ir_codes_dm1105_nec[] = {
2718 { 0x1e, KEY_TV}, /* tvmode */ 2709 { 0x1e, KEY_TV}, /* tvmode */
2719 { 0x1b, KEY_B}, /* recall */ 2710 { 0x1b, KEY_B}, /* recall */
2720}; 2711};
2721IR_TABLE(dm1105_nec, IR_TYPE_UNKNOWN, ir_codes_dm1105_nec); 2712DEFINE_LEGACY_IR_KEYTABLE(dm1105_nec);
2722 2713
2723static struct ir_scancode ir_codes_tevii_nec[] = { 2714static struct ir_scancode tevii_nec[] = {
2724 { 0x0a, KEY_POWER2}, 2715 { 0x0a, KEY_POWER2},
2725 { 0x0c, KEY_MUTE}, 2716 { 0x0c, KEY_MUTE},
2726 { 0x11, KEY_1}, 2717 { 0x11, KEY_1},
@@ -2769,9 +2760,9 @@ static struct ir_scancode ir_codes_tevii_nec[] = {
2769 { 0x56, KEY_MODE}, 2760 { 0x56, KEY_MODE},
2770 { 0x58, KEY_SWITCHVIDEOMODE}, 2761 { 0x58, KEY_SWITCHVIDEOMODE},
2771}; 2762};
2772IR_TABLE(tevii_nec, IR_TYPE_UNKNOWN, ir_codes_tevii_nec); 2763DEFINE_LEGACY_IR_KEYTABLE(tevii_nec);
2773 2764
2774static struct ir_scancode ir_codes_tbs_nec[] = { 2765static struct ir_scancode tbs_nec[] = {
2775 { 0x04, KEY_POWER2}, /*power*/ 2766 { 0x04, KEY_POWER2}, /*power*/
2776 { 0x14, KEY_MUTE}, /*mute*/ 2767 { 0x14, KEY_MUTE}, /*mute*/
2777 { 0x07, KEY_1}, 2768 { 0x07, KEY_1},
@@ -2805,12 +2796,12 @@ static struct ir_scancode ir_codes_tbs_nec[] = {
2805 { 0x00, KEY_PREVIOUS}, 2796 { 0x00, KEY_PREVIOUS},
2806 { 0x1b, KEY_MODE}, 2797 { 0x1b, KEY_MODE},
2807}; 2798};
2808IR_TABLE(tbs_nec, IR_TYPE_UNKNOWN, ir_codes_tbs_nec); 2799DEFINE_LEGACY_IR_KEYTABLE(tbs_nec);
2809 2800
2810/* Terratec Cinergy Hybrid T USB XS 2801/* Terratec Cinergy Hybrid T USB XS
2811 Devin Heitmueller <dheitmueller@linuxtv.org> 2802 Devin Heitmueller <dheitmueller@linuxtv.org>
2812 */ 2803 */
2813static struct ir_scancode ir_codes_terratec_cinergy_xs[] = { 2804static struct ir_scancode terratec_cinergy_xs[] = {
2814 { 0x41, KEY_HOME}, 2805 { 0x41, KEY_HOME},
2815 { 0x01, KEY_POWER}, 2806 { 0x01, KEY_POWER},
2816 { 0x42, KEY_MENU}, 2807 { 0x42, KEY_MENU},
@@ -2859,12 +2850,12 @@ static struct ir_scancode ir_codes_terratec_cinergy_xs[] = {
2859 { 0x4f, KEY_FASTFORWARD}, 2850 { 0x4f, KEY_FASTFORWARD},
2860 { 0x5c, KEY_NEXT}, 2851 { 0x5c, KEY_NEXT},
2861}; 2852};
2862IR_TABLE(terratec_cinergy_xs, IR_TYPE_UNKNOWN, ir_codes_terratec_cinergy_xs); 2853DEFINE_LEGACY_IR_KEYTABLE(terratec_cinergy_xs);
2863 2854
2864/* EVGA inDtube 2855/* EVGA inDtube
2865 Devin Heitmueller <devin.heitmueller@gmail.com> 2856 Devin Heitmueller <devin.heitmueller@gmail.com>
2866 */ 2857 */
2867static struct ir_scancode ir_codes_evga_indtube[] = { 2858static struct ir_scancode evga_indtube[] = {
2868 { 0x12, KEY_POWER}, 2859 { 0x12, KEY_POWER},
2869 { 0x02, KEY_MODE}, /* TV */ 2860 { 0x02, KEY_MODE}, /* TV */
2870 { 0x14, KEY_MUTE}, 2861 { 0x14, KEY_MUTE},
@@ -2882,9 +2873,9 @@ static struct ir_scancode ir_codes_evga_indtube[] = {
2882 { 0x1f, KEY_NEXT}, 2873 { 0x1f, KEY_NEXT},
2883 { 0x13, KEY_CAMERA}, 2874 { 0x13, KEY_CAMERA},
2884}; 2875};
2885IR_TABLE(evga_indtube, IR_TYPE_UNKNOWN, ir_codes_evga_indtube); 2876DEFINE_LEGACY_IR_KEYTABLE(evga_indtube);
2886 2877
2887static struct ir_scancode ir_codes_videomate_s350[] = { 2878static struct ir_scancode videomate_s350[] = {
2888 { 0x00, KEY_TV}, 2879 { 0x00, KEY_TV},
2889 { 0x01, KEY_DVD}, 2880 { 0x01, KEY_DVD},
2890 { 0x04, KEY_RECORD}, 2881 { 0x04, KEY_RECORD},
@@ -2930,12 +2921,12 @@ static struct ir_scancode ir_codes_videomate_s350[] = {
2930 { 0x11, KEY_ENTER}, 2921 { 0x11, KEY_ENTER},
2931 { 0x20, KEY_TEXT}, 2922 { 0x20, KEY_TEXT},
2932}; 2923};
2933IR_TABLE(videomate_s350, IR_TYPE_UNKNOWN, ir_codes_videomate_s350); 2924DEFINE_LEGACY_IR_KEYTABLE(videomate_s350);
2934 2925
2935/* GADMEI UTV330+ RM008Z remote 2926/* GADMEI UTV330+ RM008Z remote
2936 Shine Liu <shinel@foxmail.com> 2927 Shine Liu <shinel@foxmail.com>
2937 */ 2928 */
2938static struct ir_scancode ir_codes_gadmei_rm008z[] = { 2929static struct ir_scancode gadmei_rm008z[] = {
2939 { 0x14, KEY_POWER2}, /* POWER OFF */ 2930 { 0x14, KEY_POWER2}, /* POWER OFF */
2940 { 0x0c, KEY_MUTE}, /* MUTE */ 2931 { 0x0c, KEY_MUTE}, /* MUTE */
2941 2932
@@ -2973,7 +2964,7 @@ static struct ir_scancode ir_codes_gadmei_rm008z[] = {
2973 { 0x13, KEY_CHANNELDOWN}, /* CHANNELDOWN */ 2964 { 0x13, KEY_CHANNELDOWN}, /* CHANNELDOWN */
2974 { 0x15, KEY_ENTER}, /* OK */ 2965 { 0x15, KEY_ENTER}, /* OK */
2975}; 2966};
2976IR_TABLE(gadmei_rm008z, IR_TYPE_UNKNOWN, ir_codes_gadmei_rm008z); 2967DEFINE_LEGACY_IR_KEYTABLE(gadmei_rm008z);
2977 2968
2978/************************************************************* 2969/*************************************************************
2979 * COMPLETE SCANCODE TABLES 2970 * COMPLETE SCANCODE TABLES
@@ -2987,7 +2978,7 @@ IR_TABLE(gadmei_rm008z, IR_TYPE_UNKNOWN, ir_codes_gadmei_rm008z);
2987 * 2978 *
2988 * This table contains the complete RC5 code, instead of just the data part 2979 * This table contains the complete RC5 code, instead of just the data part
2989 */ 2980 */
2990static struct ir_scancode ir_codes_rc5_hauppauge_new[] = { 2981static struct ir_scancode rc5_hauppauge_new[] = {
2991 /* Keys 0 to 9 */ 2982 /* Keys 0 to 9 */
2992 { 0x1e00, KEY_0 }, 2983 { 0x1e00, KEY_0 },
2993 { 0x1e01, KEY_1 }, 2984 { 0x1e01, KEY_1 },
@@ -3044,12 +3035,12 @@ static struct ir_scancode ir_codes_rc5_hauppauge_new[] = {
3044 { 0x1e3c, KEY_ZOOM }, /* full */ 3035 { 0x1e3c, KEY_ZOOM }, /* full */
3045 { 0x1e3d, KEY_POWER }, /* system power (green button) */ 3036 { 0x1e3d, KEY_POWER }, /* system power (green button) */
3046}; 3037};
3047IR_TABLE(rc5_hauppauge_new, IR_TYPE_RC5, ir_codes_rc5_hauppauge_new); 3038DEFINE_IR_KEYTABLE(rc5_hauppauge_new, IR_TYPE_RC5);
3048 3039
3049/* Terratec Cinergy Hybrid T USB XS FM 3040/* Terratec Cinergy Hybrid T USB XS FM
3050 Mauro Carvalho Chehab <mchehab@redhat.com> 3041 Mauro Carvalho Chehab <mchehab@redhat.com>
3051 */ 3042 */
3052static struct ir_scancode ir_codes_nec_terratec_cinergy_xs[] = { 3043static struct ir_scancode nec_terratec_cinergy_xs[] = {
3053 { 0x1441, KEY_HOME}, 3044 { 0x1441, KEY_HOME},
3054 { 0x1401, KEY_POWER2}, 3045 { 0x1401, KEY_POWER2},
3055 3046
@@ -3111,12 +3102,12 @@ static struct ir_scancode ir_codes_nec_terratec_cinergy_xs[] = {
3111 { 0x144f, KEY_FASTFORWARD}, 3102 { 0x144f, KEY_FASTFORWARD},
3112 { 0x145c, KEY_NEXT}, 3103 { 0x145c, KEY_NEXT},
3113}; 3104};
3114IR_TABLE(nec_terratec_cinergy_xs, IR_TYPE_NEC, ir_codes_nec_terratec_cinergy_xs); 3105DEFINE_IR_KEYTABLE(nec_terratec_cinergy_xs, IR_TYPE_NEC);
3115 3106
3116/* Leadtek Winfast TV USB II Deluxe remote 3107/* Leadtek Winfast TV USB II Deluxe remote
3117 Magnus Alm <magnus.alm@gmail.com> 3108 Magnus Alm <magnus.alm@gmail.com>
3118 */ 3109 */
3119static struct ir_scancode ir_codes_winfast_usbii_deluxe[] = { 3110static struct ir_scancode winfast_usbii_deluxe[] = {
3120 { 0x62, KEY_0}, 3111 { 0x62, KEY_0},
3121 { 0x75, KEY_1}, 3112 { 0x75, KEY_1},
3122 { 0x76, KEY_2}, 3113 { 0x76, KEY_2},
@@ -3155,11 +3146,11 @@ static struct ir_scancode ir_codes_winfast_usbii_deluxe[] = {
3155 { 0x63, KEY_ENTER}, /* ENTER */ 3146 { 0x63, KEY_ENTER}, /* ENTER */
3156 3147
3157}; 3148};
3158IR_TABLE(winfast_usbii_deluxe, IR_TYPE_UNKNOWN, ir_codes_winfast_usbii_deluxe); 3149DEFINE_LEGACY_IR_KEYTABLE(winfast_usbii_deluxe);
3159 3150
3160/* Kworld 315U 3151/* Kworld 315U
3161 */ 3152 */
3162static struct ir_scancode ir_codes_kworld_315u[] = { 3153static struct ir_scancode kworld_315u[] = {
3163 { 0x6143, KEY_POWER }, 3154 { 0x6143, KEY_POWER },
3164 { 0x6101, KEY_TUNER }, /* source */ 3155 { 0x6101, KEY_TUNER }, /* source */
3165 { 0x610b, KEY_ZOOM }, 3156 { 0x610b, KEY_ZOOM },
@@ -3200,4 +3191,4 @@ static struct ir_scancode ir_codes_kworld_315u[] = {
3200 { 0x611e, KEY_YELLOW }, 3191 { 0x611e, KEY_YELLOW },
3201 { 0x611f, KEY_BLUE }, 3192 { 0x611f, KEY_BLUE },
3202}; 3193};
3203IR_TABLE(kworld_315u, IR_TYPE_NEC, ir_codes_kworld_315u); 3194DEFINE_IR_KEYTABLE(kworld_315u, IR_TYPE_NEC);