aboutsummaryrefslogtreecommitdiff
path: root/include/media
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2010-04-01 22:43:29 -0300
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-05-19 12:56:48 -0300
commit77b7422d48cda9b8e5dabb7f4bc056861c5ed4fe (patch)
treeaca1f3329b8d836973cc303081e24df66bac1c0d /include/media
parentdce4a3e3b228fd31bcfd2d84e673bc08b553e6cc (diff)
V4L/DVB: ir-common: move IR tables from ir-keymaps.c to a separate file
Instead of having one big file with lots of keytables, create one include file for each IR keymap. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'include/media')
-rw-r--r--include/media/ir-common.h150
-rw-r--r--include/media/ir-core.h18
-rw-r--r--include/media/keycodes/adstech-dvb-t-pci.h65
-rw-r--r--include/media/keycodes/apac-viewcomp.h56
-rw-r--r--include/media/keycodes/asus-pc39.h67
-rw-r--r--include/media/keycodes/ati-tv-wonder-hd-600.h45
-rw-r--r--include/media/keycodes/avermedia-a16d.h52
-rw-r--r--include/media/keycodes/avermedia-cardbus.h73
-rw-r--r--include/media/keycodes/avermedia-dvbt.h54
-rw-r--r--include/media/keycodes/avermedia-m135a-rm-jx.h66
-rw-r--r--include/media/keycodes/avermedia.h62
-rw-r--r--include/media/keycodes/avertv-303.h61
-rw-r--r--include/media/keycodes/behold-columbus.h84
-rw-r--r--include/media/keycodes/behold.h117
-rw-r--r--include/media/keycodes/budget-ci-old.h68
-rw-r--r--include/media/keycodes/cinergy-1400.h60
-rw-r--r--include/media/keycodes/cinergy.h55
-rw-r--r--include/media/keycodes/dm1105-nec.h52
-rw-r--r--include/media/keycodes/dntv-live-dvb-t.h54
-rw-r--r--include/media/keycodes/dntv-live-dvbt-pro.h73
-rw-r--r--include/media/keycodes/em-terratec.h46
-rw-r--r--include/media/keycodes/empty.h20
-rw-r--r--include/media/keycodes/encore-enltv-fm53.h57
-rw-r--r--include/media/keycodes/encore-enltv.h88
-rw-r--r--include/media/keycodes/encore-enltv2.h66
-rw-r--r--include/media/keycodes/evga-indtube.h37
-rw-r--r--include/media/keycodes/eztv.h72
-rw-r--r--include/media/keycodes/flydvb.h54
-rw-r--r--include/media/keycodes/flyvideo.h47
-rw-r--r--include/media/keycodes/fusionhdtv-mce.h74
-rw-r--r--include/media/keycodes/gadmei-rm008z.h57
-rw-r--r--include/media/keycodes/genius-tvgo-a11mce.h60
-rw-r--r--include/media/keycodes/gotview7135.h55
-rw-r--r--include/media/keycodes/hauppauge-new.h76
-rw-r--r--include/media/keycodes/iodata-bctv7e.h64
-rw-r--r--include/media/keycodes/kaiomy.h63
-rw-r--r--include/media/keycodes/kworld-315u.h59
-rw-r--r--include/media/keycodes/kworld-plus-tv-analog.h75
-rw-r--r--include/media/keycodes/manli.h111
-rw-r--r--include/media/keycodes/msi-tvanywhere-plus.h100
-rw-r--r--include/media/keycodes/msi-tvanywhere.h44
-rw-r--r--include/media/keycodes/nebula.h73
-rw-r--r--include/media/keycodes/nec-terratec-cinergy-xs.h81
-rw-r--r--include/media/keycodes/norwood.h61
-rw-r--r--include/media/keycodes/npgtech.h57
-rw-r--r--include/media/keycodes/pctv-sedna.h56
-rw-r--r--include/media/keycodes/pinnacle-color.h71
-rw-r--r--include/media/keycodes/pinnacle-grey.h66
-rw-r--r--include/media/keycodes/pinnacle-pctv-hd.h49
-rw-r--r--include/media/keycodes/pixelview-new.h59
-rw-r--r--include/media/keycodes/pixelview.h59
-rw-r--r--include/media/keycodes/powercolor-real-angel.h57
-rw-r--r--include/media/keycodes/proteus-2309.h45
-rw-r--r--include/media/keycodes/purpletv.h58
-rw-r--r--include/media/keycodes/pv951.h54
-rw-r--r--include/media/keycodes/rc5-hauppauge-new.h79
-rw-r--r--include/media/keycodes/rc5-tv.h57
-rw-r--r--include/media/keycodes/real-audio-220-32-keys.h54
-rw-r--r--include/media/keycodes/tbs-nec.h50
-rw-r--r--include/media/keycodes/terratec-cinergy-xs.h68
-rw-r--r--include/media/keycodes/tevii-nec.h65
-rw-r--r--include/media/keycodes/tt-1500.h58
-rw-r--r--include/media/keycodes/videomate-s350.h62
-rw-r--r--include/media/keycodes/videomate-tv-pvr.h64
-rw-r--r--include/media/keycodes/winfast-usbii-deluxe.h58
-rw-r--r--include/media/keycodes/winfast.h78
66 files changed, 4111 insertions, 85 deletions
diff --git a/include/media/ir-common.h b/include/media/ir-common.h
index e8a64761df5..59ce30280b7 100644
--- a/include/media/ir-common.h
+++ b/include/media/ir-common.h
@@ -28,6 +28,71 @@
#include <linux/interrupt.h>
#include <media/ir-core.h>
+#include <media/keycodes/adstech-dvb-t-pci.h>
+#include <media/keycodes/apac-viewcomp.h>
+#include <media/keycodes/asus-pc39.h>
+#include <media/keycodes/ati-tv-wonder-hd-600.h>
+#include <media/keycodes/avermedia-a16d.h>
+#include <media/keycodes/avermedia-cardbus.h>
+#include <media/keycodes/avermedia-dvbt.h>
+#include <media/keycodes/avermedia.h>
+#include <media/keycodes/avermedia-m135a-rm-jx.h>
+#include <media/keycodes/avertv-303.h>
+#include <media/keycodes/behold-columbus.h>
+#include <media/keycodes/behold.h>
+#include <media/keycodes/budget-ci-old.h>
+#include <media/keycodes/cinergy-1400.h>
+#include <media/keycodes/cinergy.h>
+#include <media/keycodes/dm1105-nec.h>
+#include <media/keycodes/dntv-live-dvb-t.h>
+#include <media/keycodes/dntv-live-dvbt-pro.h>
+#include <media/keycodes/empty.h>
+#include <media/keycodes/em-terratec.h>
+#include <media/keycodes/encore-enltv2.h>
+#include <media/keycodes/encore-enltv-fm53.h>
+#include <media/keycodes/encore-enltv.h>
+#include <media/keycodes/evga-indtube.h>
+#include <media/keycodes/eztv.h>
+#include <media/keycodes/flydvb.h>
+#include <media/keycodes/flyvideo.h>
+#include <media/keycodes/fusionhdtv-mce.h>
+#include <media/keycodes/gadmei-rm008z.h>
+#include <media/keycodes/genius-tvgo-a11mce.h>
+#include <media/keycodes/gotview7135.h>
+#include <media/keycodes/hauppauge-new.h>
+#include <media/keycodes/iodata-bctv7e.h>
+#include <media/keycodes/kaiomy.h>
+#include <media/keycodes/kworld-315u.h>
+#include <media/keycodes/kworld-plus-tv-analog.h>
+#include <media/keycodes/manli.h>
+#include <media/keycodes/msi-tvanywhere.h>
+#include <media/keycodes/msi-tvanywhere-plus.h>
+#include <media/keycodes/nebula.h>
+#include <media/keycodes/nec-terratec-cinergy-xs.h>
+#include <media/keycodes/norwood.h>
+#include <media/keycodes/npgtech.h>
+#include <media/keycodes/pctv-sedna.h>
+#include <media/keycodes/pinnacle-color.h>
+#include <media/keycodes/pinnacle-grey.h>
+#include <media/keycodes/pinnacle-pctv-hd.h>
+#include <media/keycodes/pixelview.h>
+#include <media/keycodes/pixelview-new.h>
+#include <media/keycodes/powercolor-real-angel.h>
+#include <media/keycodes/proteus-2309.h>
+#include <media/keycodes/purpletv.h>
+#include <media/keycodes/pv951.h>
+#include <media/keycodes/rc5-hauppauge-new.h>
+#include <media/keycodes/rc5-tv.h>
+#include <media/keycodes/real-audio-220-32-keys.h>
+#include <media/keycodes/tbs-nec.h>
+#include <media/keycodes/terratec-cinergy-xs.h>
+#include <media/keycodes/tevii-nec.h>
+#include <media/keycodes/tt-1500.h>
+#include <media/keycodes/videomate-s350.h>
+#include <media/keycodes/videomate-tv-pvr.h>
+#include <media/keycodes/winfast.h>
+#include <media/keycodes/winfast-usbii-deluxe.h>
+
#define RC5_START(x) (((x)>>12)&3)
#define RC5_TOGGLE(x) (((x)>>11)&1)
#define RC5_ADDR(x) (((x)>>6)&31)
@@ -104,89 +169,4 @@ u32 ir_rc5_decode(unsigned int code);
void ir_rc5_timer_end(unsigned long data);
void ir_rc5_timer_keyup(unsigned long data);
-/* scancode->keycode map tables from ir-keymaps.c */
-
-#define IR_KEYTABLE(a) \
-ir_codes_ ## a ## _table
-
-#define DECLARE_IR_KEYTABLE(a) \
-extern struct ir_scancode_table IR_KEYTABLE(a)
-
-#define DEFINE_IR_KEYTABLE(tabname, type) \
-struct ir_scancode_table IR_KEYTABLE(tabname) = { \
- .scan = tabname, \
- .size = ARRAY_SIZE(tabname), \
- .ir_type = type, \
- .name = #tabname, \
-}; \
-EXPORT_SYMBOL_GPL(IR_KEYTABLE(tabname))
-
-#define DEFINE_LEGACY_IR_KEYTABLE(tabname) \
- DEFINE_IR_KEYTABLE(tabname, IR_TYPE_UNKNOWN)
-
-DECLARE_IR_KEYTABLE(adstech_dvb_t_pci);
-DECLARE_IR_KEYTABLE(apac_viewcomp);
-DECLARE_IR_KEYTABLE(asus_pc39);
-DECLARE_IR_KEYTABLE(ati_tv_wonder_hd_600);
-DECLARE_IR_KEYTABLE(avermedia);
-DECLARE_IR_KEYTABLE(avermedia_a16d);
-DECLARE_IR_KEYTABLE(avermedia_cardbus);
-DECLARE_IR_KEYTABLE(avermedia_dvbt);
-DECLARE_IR_KEYTABLE(avermedia_m135a_rm_jx);
-DECLARE_IR_KEYTABLE(avertv_303);
-DECLARE_IR_KEYTABLE(behold);
-DECLARE_IR_KEYTABLE(behold_columbus);
-DECLARE_IR_KEYTABLE(budget_ci_old);
-DECLARE_IR_KEYTABLE(cinergy);
-DECLARE_IR_KEYTABLE(cinergy_1400);
-DECLARE_IR_KEYTABLE(dm1105_nec);
-DECLARE_IR_KEYTABLE(dntv_live_dvb_t);
-DECLARE_IR_KEYTABLE(dntv_live_dvbt_pro);
-DECLARE_IR_KEYTABLE(empty);
-DECLARE_IR_KEYTABLE(em_terratec);
-DECLARE_IR_KEYTABLE(encore_enltv);
-DECLARE_IR_KEYTABLE(encore_enltv2);
-DECLARE_IR_KEYTABLE(encore_enltv_fm53);
-DECLARE_IR_KEYTABLE(evga_indtube);
-DECLARE_IR_KEYTABLE(eztv);
-DECLARE_IR_KEYTABLE(flydvb);
-DECLARE_IR_KEYTABLE(flyvideo);
-DECLARE_IR_KEYTABLE(fusionhdtv_mce);
-DECLARE_IR_KEYTABLE(gadmei_rm008z);
-DECLARE_IR_KEYTABLE(genius_tvgo_a11mce);
-DECLARE_IR_KEYTABLE(gotview7135);
-DECLARE_IR_KEYTABLE(hauppauge_new);
-DECLARE_IR_KEYTABLE(iodata_bctv7e);
-DECLARE_IR_KEYTABLE(kaiomy);
-DECLARE_IR_KEYTABLE(kworld_315u);
-DECLARE_IR_KEYTABLE(kworld_plus_tv_analog);
-DECLARE_IR_KEYTABLE(manli);
-DECLARE_IR_KEYTABLE(msi_tvanywhere);
-DECLARE_IR_KEYTABLE(msi_tvanywhere_plus);
-DECLARE_IR_KEYTABLE(nebula);
-DECLARE_IR_KEYTABLE(nec_terratec_cinergy_xs);
-DECLARE_IR_KEYTABLE(norwood);
-DECLARE_IR_KEYTABLE(npgtech);
-DECLARE_IR_KEYTABLE(pctv_sedna);
-DECLARE_IR_KEYTABLE(pinnacle_color);
-DECLARE_IR_KEYTABLE(pinnacle_grey);
-DECLARE_IR_KEYTABLE(pinnacle_pctv_hd);
-DECLARE_IR_KEYTABLE(pixelview);
-DECLARE_IR_KEYTABLE(pixelview_new);
-DECLARE_IR_KEYTABLE(powercolor_real_angel);
-DECLARE_IR_KEYTABLE(proteus_2309);
-DECLARE_IR_KEYTABLE(purpletv);
-DECLARE_IR_KEYTABLE(pv951);
-DECLARE_IR_KEYTABLE(rc5_hauppauge_new);
-DECLARE_IR_KEYTABLE(rc5_tv);
-DECLARE_IR_KEYTABLE(real_audio_220_32_keys);
-DECLARE_IR_KEYTABLE(tbs_nec);
-DECLARE_IR_KEYTABLE(terratec_cinergy_xs);
-DECLARE_IR_KEYTABLE(tevii_nec);
-DECLARE_IR_KEYTABLE(tt_1500);
-DECLARE_IR_KEYTABLE(videomate_s350);
-DECLARE_IR_KEYTABLE(videomate_tv_pvr);
-DECLARE_IR_KEYTABLE(winfast);
-DECLARE_IR_KEYTABLE(winfast_usbii_deluxe);
-
#endif
diff --git a/include/media/ir-core.h b/include/media/ir-core.h
index 9a2f3084ffe..643ff25daa8 100644
--- a/include/media/ir-core.h
+++ b/include/media/ir-core.h
@@ -96,6 +96,24 @@ struct ir_raw_handler {
#define to_ir_input_dev(_attr) container_of(_attr, struct ir_input_dev, attr)
+#define IR_KEYTABLE(a) \
+ir_codes_ ## a ## _table
+
+#define DECLARE_IR_KEYTABLE(a) \
+extern struct ir_scancode_table IR_KEYTABLE(a)
+
+#define DEFINE_IR_KEYTABLE(tabname, type) \
+struct ir_scancode_table IR_KEYTABLE(tabname) = { \
+ .scan = tabname, \
+ .size = ARRAY_SIZE(tabname), \
+ .ir_type = type, \
+ .name = #tabname, \
+}; \
+EXPORT_SYMBOL_GPL(IR_KEYTABLE(tabname))
+
+#define DEFINE_LEGACY_IR_KEYTABLE(tabname) \
+ DEFINE_IR_KEYTABLE(tabname, IR_TYPE_UNKNOWN)
+
/* Routines from ir-keytable.c */
u32 ir_g_keycode_from_table(struct input_dev *input_dev,
diff --git a/include/media/keycodes/adstech-dvb-t-pci.h b/include/media/keycodes/adstech-dvb-t-pci.h
new file mode 100644
index 00000000000..cfca5262d43
--- /dev/null
+++ b/include/media/keycodes/adstech-dvb-t-pci.h
@@ -0,0 +1,65 @@
+/* adstech-dvb-t-pci.h - Keytable for adstech_dvb_t_pci Remote Controller
+ *
+ * Imported from ir-keymaps.c
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+/* ADS Tech Instant TV DVB-T PCI Remote */
+
+#ifdef IR_KEYMAPS
+static struct ir_scancode adstech_dvb_t_pci[] = {
+ /* Keys 0 to 9 */
+ { 0x4d, KEY_0 },
+ { 0x57, KEY_1 },
+ { 0x4f, KEY_2 },
+ { 0x53, KEY_3 },
+ { 0x56, KEY_4 },
+ { 0x4e, KEY_5 },
+ { 0x5e, KEY_6 },
+ { 0x54, KEY_7 },
+ { 0x4c, KEY_8 },
+ { 0x5c, KEY_9 },
+
+ { 0x5b, KEY_POWER },
+ { 0x5f, KEY_MUTE },
+ { 0x55, KEY_GOTO },
+ { 0x5d, KEY_SEARCH },
+ { 0x17, KEY_EPG }, /* Guide */
+ { 0x1f, KEY_MENU },
+ { 0x0f, KEY_UP },
+ { 0x46, KEY_DOWN },
+ { 0x16, KEY_LEFT },
+ { 0x1e, KEY_RIGHT },
+ { 0x0e, KEY_SELECT }, /* Enter */
+ { 0x5a, KEY_INFO },
+ { 0x52, KEY_EXIT },
+ { 0x59, KEY_PREVIOUS },
+ { 0x51, KEY_NEXT },
+ { 0x58, KEY_REWIND },
+ { 0x50, KEY_FORWARD },
+ { 0x44, KEY_PLAYPAUSE },
+ { 0x07, KEY_STOP },
+ { 0x1b, KEY_RECORD },
+ { 0x13, KEY_TUNER }, /* Live */
+ { 0x0a, KEY_A },
+ { 0x12, KEY_B },
+ { 0x03, KEY_PROG1 }, /* 1 */
+ { 0x01, KEY_PROG2 }, /* 2 */
+ { 0x00, KEY_PROG3 }, /* 3 */
+ { 0x06, KEY_DVD },
+ { 0x48, KEY_AUX }, /* Photo */
+ { 0x40, KEY_VIDEO },
+ { 0x19, KEY_AUDIO }, /* Music */
+ { 0x0b, KEY_CHANNELUP },
+ { 0x08, KEY_CHANNELDOWN },
+ { 0x15, KEY_VOLUMEUP },
+ { 0x1c, KEY_VOLUMEDOWN },
+};
+DEFINE_LEGACY_IR_KEYTABLE(adstech_dvb_t_pci);
+#else
+DECLARE_IR_KEYTABLE(adstech_dvb_t_pci);
+#endif
diff --git a/include/media/keycodes/apac-viewcomp.h b/include/media/keycodes/apac-viewcomp.h
new file mode 100644
index 00000000000..69460c2266e
--- /dev/null
+++ b/include/media/keycodes/apac-viewcomp.h
@@ -0,0 +1,56 @@
+/* apac-viewcomp.h - Keytable for apac_viewcomp Remote Controller
+ *
+ * Imported from ir-keymaps.c
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+/* Attila Kondoros <attila.kondoros@chello.hu> */
+
+#ifdef IR_KEYMAPS
+static struct ir_scancode apac_viewcomp[] = {
+
+ { 0x01, KEY_1 },
+ { 0x02, KEY_2 },
+ { 0x03, KEY_3 },
+ { 0x04, KEY_4 },
+ { 0x05, KEY_5 },
+ { 0x06, KEY_6 },
+ { 0x07, KEY_7 },
+ { 0x08, KEY_8 },
+ { 0x09, KEY_9 },
+ { 0x00, KEY_0 },
+ { 0x17, KEY_LAST }, /* +100 */
+ { 0x0a, KEY_LIST }, /* recall */
+
+
+ { 0x1c, KEY_TUNER }, /* TV/FM */
+ { 0x15, KEY_SEARCH }, /* scan */
+ { 0x12, KEY_POWER }, /* power */
+ { 0x1f, KEY_VOLUMEDOWN }, /* vol up */
+ { 0x1b, KEY_VOLUMEUP }, /* vol down */
+ { 0x1e, KEY_CHANNELDOWN }, /* chn up */
+ { 0x1a, KEY_CHANNELUP }, /* chn down */
+
+ { 0x11, KEY_VIDEO }, /* video */
+ { 0x0f, KEY_ZOOM }, /* full screen */
+ { 0x13, KEY_MUTE }, /* mute/unmute */
+ { 0x10, KEY_TEXT }, /* min */
+
+ { 0x0d, KEY_STOP }, /* freeze */
+ { 0x0e, KEY_RECORD }, /* record */
+ { 0x1d, KEY_PLAYPAUSE }, /* stop */
+ { 0x19, KEY_PLAY }, /* play */
+
+ { 0x16, KEY_GOTO }, /* osd */
+ { 0x14, KEY_REFRESH }, /* default */
+ { 0x0c, KEY_KPPLUS }, /* fine tune >>>> */
+ { 0x18, KEY_KPMINUS }, /* fine tune <<<< */
+};
+DEFINE_LEGACY_IR_KEYTABLE(apac_viewcomp);
+#else
+DECLARE_IR_KEYTABLE(apac_viewcomp);
+#endif
diff --git a/include/media/keycodes/asus-pc39.h b/include/media/keycodes/asus-pc39.h
new file mode 100644
index 00000000000..3e89ccd4089
--- /dev/null
+++ b/include/media/keycodes/asus-pc39.h
@@ -0,0 +1,67 @@
+/* asus-pc39.h - Keytable for asus_pc39 Remote Controller
+ *
+ * Imported from ir-keymaps.c
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+/*
+ * Marc Fargas <telenieko@telenieko.com>
+ * this is the remote control that comes with the asus p7131
+ * which has a label saying is "Model PC-39"
+ */
+
+#ifdef IR_KEYMAPS
+static struct ir_scancode asus_pc39[] = {
+ /* Keys 0 to 9 */
+ { 0x15, KEY_0 },
+ { 0x29, KEY_1 },
+ { 0x2d, KEY_2 },
+ { 0x2b, KEY_3 },
+ { 0x09, KEY_4 },
+ { 0x0d, KEY_5 },
+ { 0x0b, KEY_6 },
+ { 0x31, KEY_7 },
+ { 0x35, KEY_8 },
+ { 0x33, KEY_9 },
+
+ { 0x3e, KEY_RADIO }, /* radio */
+ { 0x03, KEY_MENU }, /* dvd/menu */
+ { 0x2a, KEY_VOLUMEUP },
+ { 0x19, KEY_VOLUMEDOWN },
+ { 0x37, KEY_UP },
+ { 0x3b, KEY_DOWN },
+ { 0x27, KEY_LEFT },
+ { 0x2f, KEY_RIGHT },
+ { 0x25, KEY_VIDEO }, /* video */
+ { 0x39, KEY_AUDIO }, /* music */
+
+ { 0x21, KEY_TV }, /* tv */
+ { 0x1d, KEY_EXIT }, /* back */
+ { 0x0a, KEY_CHANNELUP }, /* channel / program + */
+ { 0x1b, KEY_CHANNELDOWN }, /* channel / program - */
+ { 0x1a, KEY_ENTER }, /* enter */
+
+ { 0x06, KEY_PAUSE }, /* play/pause */
+ { 0x1e, KEY_PREVIOUS }, /* rew */
+ { 0x26, KEY_NEXT }, /* forward */
+ { 0x0e, KEY_REWIND }, /* backward << */
+ { 0x3a, KEY_FASTFORWARD }, /* forward >> */
+ { 0x36, KEY_STOP },
+ { 0x2e, KEY_RECORD }, /* recording */
+ { 0x16, KEY_POWER }, /* the button that reads "close" */
+
+ { 0x11, KEY_ZOOM }, /* full screen */
+ { 0x13, KEY_MACRO }, /* recall */
+ { 0x23, KEY_HOME }, /* home */
+ { 0x05, KEY_PVR }, /* picture */
+ { 0x3d, KEY_MUTE }, /* mute */
+ { 0x01, KEY_DVD }, /* dvd */
+};
+DEFINE_LEGACY_IR_KEYTABLE(asus_pc39);
+#else
+DECLARE_IR_KEYTABLE(asus_pc39);
+#endif
diff --git a/include/media/keycodes/ati-tv-wonder-hd-600.h b/include/media/keycodes/ati-tv-wonder-hd-600.h
new file mode 100644
index 00000000000..25db7bfcc1a
--- /dev/null
+++ b/include/media/keycodes/ati-tv-wonder-hd-600.h
@@ -0,0 +1,45 @@
+/* ati-tv-wonder-hd-600.h - Keytable for ati_tv_wonder_hd_600 Remote Controller
+ *
+ * Imported from ir-keymaps.c
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+/* ATI TV Wonder HD 600 USB
+ Devin Heitmueller <devin.heitmueller@gmail.com>
+ */
+
+#ifdef IR_KEYMAPS
+static struct ir_scancode ati_tv_wonder_hd_600[] = {
+ { 0x00, KEY_RECORD}, /* Row 1 */
+ { 0x01, KEY_PLAYPAUSE},
+ { 0x02, KEY_STOP},
+ { 0x03, KEY_POWER},
+ { 0x04, KEY_PREVIOUS}, /* Row 2 */
+ { 0x05, KEY_REWIND},
+ { 0x06, KEY_FORWARD},
+ { 0x07, KEY_NEXT},
+ { 0x08, KEY_EPG}, /* Row 3 */
+ { 0x09, KEY_HOME},
+ { 0x0a, KEY_MENU},
+ { 0x0b, KEY_CHANNELUP},
+ { 0x0c, KEY_BACK}, /* Row 4 */
+ { 0x0d, KEY_UP},
+ { 0x0e, KEY_INFO},
+ { 0x0f, KEY_CHANNELDOWN},
+ { 0x10, KEY_LEFT}, /* Row 5 */
+ { 0x11, KEY_SELECT},
+ { 0x12, KEY_RIGHT},
+ { 0x13, KEY_VOLUMEUP},
+ { 0x14, KEY_LAST}, /* Row 6 */
+ { 0x15, KEY_DOWN},
+ { 0x16, KEY_MUTE},
+ { 0x17, KEY_VOLUMEDOWN},
+};
+DEFINE_LEGACY_IR_KEYTABLE(ati_tv_wonder_hd_600);
+#else
+DECLARE_IR_KEYTABLE(ati_tv_wonder_hd_600);
+#endif
diff --git a/include/media/keycodes/avermedia-a16d.h b/include/media/keycodes/avermedia-a16d.h
new file mode 100644
index 00000000000..d267951665d
--- /dev/null
+++ b/include/media/keycodes/avermedia-a16d.h
@@ -0,0 +1,52 @@
+/* avermedia-a16d.h - Keytable for avermedia_a16d Remote Controller
+ *
+ * Imported from ir-keymaps.c
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+
+#ifdef IR_KEYMAPS
+static struct ir_scancode avermedia_a16d[] = {
+ { 0x20, KEY_LIST},
+ { 0x00, KEY_POWER},
+ { 0x28, KEY_1},
+ { 0x18, KEY_2},
+ { 0x38, KEY_3},
+ { 0x24, KEY_4},
+ { 0x14, KEY_5},
+ { 0x34, KEY_6},
+ { 0x2c, KEY_7},
+ { 0x1c, KEY_8},
+ { 0x3c, KEY_9},
+ { 0x12, KEY_SUBTITLE},
+ { 0x22, KEY_0},
+ { 0x32, KEY_REWIND},
+ { 0x3a, KEY_SHUFFLE},
+ { 0x02, KEY_PRINT},
+ { 0x11, KEY_CHANNELDOWN},
+ { 0x31, KEY_CHANNELUP},
+ { 0x0c, KEY_ZOOM},
+ { 0x1e, KEY_VOLUMEDOWN},
+ { 0x3e, KEY_VOLUMEUP},
+ { 0x0a, KEY_MUTE},
+ { 0x04, KEY_AUDIO},
+ { 0x26, KEY_RECORD},
+ { 0x06, KEY_PLAY},
+ { 0x36, KEY_STOP},
+ { 0x16, KEY_PAUSE},
+ { 0x2e, KEY_REWIND},
+ { 0x0e, KEY_FASTFORWARD},
+ { 0x30, KEY_TEXT},
+ { 0x21, KEY_GREEN},
+ { 0x01, KEY_BLUE},
+ { 0x08, KEY_EPG},
+ { 0x2a, KEY_MENU},
+};
+DEFINE_LEGACY_IR_KEYTABLE(avermedia_a16d);
+#else
+DECLARE_IR_KEYTABLE(avermedia_a16d);
+#endif
diff --git a/include/media/keycodes/avermedia-cardbus.h b/include/media/keycodes/avermedia-cardbus.h
new file mode 100644
index 00000000000..221049d1a57
--- /dev/null
+++ b/include/media/keycodes/avermedia-cardbus.h
@@ -0,0 +1,73 @@
+/* avermedia-cardbus.h - Keytable for avermedia_cardbus Remote Controller
+ *
+ * Imported from ir-keymaps.c
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ */
+
+/* Oldrich Jedlicka <oldium.pro@seznam.cz> */
+
+#ifdef IR_KEYMAPS
+static struct ir_scancode avermedia_cardbus[] = {
+ { 0x00, KEY_POWER },
+ { 0x01, KEY_TUNER }, /* TV/FM */
+ { 0x03, KEY_TEXT }, /* Teletext */
+ { 0x04, KEY_EPG },
+ { 0x05, KEY_1 },
+ { 0x06, KEY_2 },
+ { 0x07, KEY_3 },
+ { 0x08, KEY_AUDIO },