diff options
Diffstat (limited to 'drivers/media/rc/keymaps')
90 files changed, 8116 insertions, 0 deletions
diff --git a/drivers/media/rc/keymaps/Kconfig b/drivers/media/rc/keymaps/Kconfig new file mode 100644 index 000000000000..8e615fd55852 --- /dev/null +++ b/drivers/media/rc/keymaps/Kconfig | |||
@@ -0,0 +1,15 @@ | |||
1 | config RC_MAP | ||
2 | tristate "Compile Remote Controller keymap modules" | ||
3 | depends on RC_CORE | ||
4 | default y | ||
5 | |||
6 | ---help--- | ||
7 | This option enables the compilation of lots of Remote | ||
8 | Controller tables. They are short tables, but if you | ||
9 | don't use a remote controller, or prefer to load the | ||
10 | tables on userspace, you should disable it. | ||
11 | |||
12 | The ir-keytable program, available at v4l-utils package | ||
13 | provide the tool and the same RC maps for load from | ||
14 | userspace. Its available at | ||
15 | http://git.linuxtv.org/v4l-utils | ||
diff --git a/drivers/media/rc/keymaps/Makefile b/drivers/media/rc/keymaps/Makefile new file mode 100644 index 000000000000..0659e9f50144 --- /dev/null +++ b/drivers/media/rc/keymaps/Makefile | |||
@@ -0,0 +1,88 @@ | |||
1 | obj-$(CONFIG_RC_MAP) += rc-adstech-dvb-t-pci.o \ | ||
2 | rc-alink-dtu-m.o \ | ||
3 | rc-anysee.o \ | ||
4 | rc-apac-viewcomp.o \ | ||
5 | rc-asus-pc39.o \ | ||
6 | rc-ati-tv-wonder-hd-600.o \ | ||
7 | rc-avermedia-a16d.o \ | ||
8 | rc-avermedia.o \ | ||
9 | rc-avermedia-cardbus.o \ | ||
10 | rc-avermedia-dvbt.o \ | ||
11 | rc-avermedia-m135a.o \ | ||
12 | rc-avermedia-m733a-rm-k6.o \ | ||
13 | rc-avermedia-rm-ks.o \ | ||
14 | rc-avertv-303.o \ | ||
15 | rc-azurewave-ad-tu700.o \ | ||
16 | rc-behold.o \ | ||
17 | rc-behold-columbus.o \ | ||
18 | rc-budget-ci-old.o \ | ||
19 | rc-cinergy-1400.o \ | ||
20 | rc-cinergy.o \ | ||
21 | rc-dib0700-nec.o \ | ||
22 | rc-dib0700-rc5.o \ | ||
23 | rc-digitalnow-tinytwin.o \ | ||
24 | rc-digittrade.o \ | ||
25 | rc-dm1105-nec.o \ | ||
26 | rc-dntv-live-dvb-t.o \ | ||
27 | rc-dntv-live-dvbt-pro.o \ | ||
28 | rc-em-terratec.o \ | ||
29 | rc-encore-enltv2.o \ | ||
30 | rc-encore-enltv.o \ | ||
31 | rc-encore-enltv-fm53.o \ | ||
32 | rc-evga-indtube.o \ | ||
33 | rc-eztv.o \ | ||
34 | rc-flydvb.o \ | ||
35 | rc-flyvideo.o \ | ||
36 | rc-fusionhdtv-mce.o \ | ||
37 | rc-gadmei-rm008z.o \ | ||
38 | rc-genius-tvgo-a11mce.o \ | ||
39 | rc-gotview7135.o \ | ||
40 | rc-hauppauge-new.o \ | ||
41 | rc-imon-mce.o \ | ||
42 | rc-imon-pad.o \ | ||
43 | rc-iodata-bctv7e.o \ | ||
44 | rc-kaiomy.o \ | ||
45 | rc-kworld-315u.o \ | ||
46 | rc-kworld-plus-tv-analog.o \ | ||
47 | rc-leadtek-y04g0051.o \ | ||
48 | rc-lirc.o \ | ||
49 | rc-lme2510.o \ | ||
50 | rc-manli.o \ | ||
51 | rc-msi-digivox-ii.o \ | ||
52 | rc-msi-digivox-iii.o \ | ||
53 | rc-msi-tvanywhere.o \ | ||
54 | rc-msi-tvanywhere-plus.o \ | ||
55 | rc-nebula.o \ | ||
56 | rc-nec-terratec-cinergy-xs.o \ | ||
57 | rc-norwood.o \ | ||
58 | rc-npgtech.o \ | ||
59 | rc-pctv-sedna.o \ | ||
60 | rc-pinnacle-color.o \ | ||
61 | rc-pinnacle-grey.o \ | ||
62 | rc-pinnacle-pctv-hd.o \ | ||
63 | rc-pixelview.o \ | ||
64 | rc-pixelview-mk12.o \ | ||
65 | rc-pixelview-002t.o \ | ||
66 | rc-pixelview-new.o \ | ||
67 | rc-powercolor-real-angel.o \ | ||
68 | rc-proteus-2309.o \ | ||
69 | rc-purpletv.o \ | ||
70 | rc-pv951.o \ | ||
71 | rc-rc5-hauppauge-new.o \ | ||
72 | rc-rc5-tv.o \ | ||
73 | rc-rc6-mce.o \ | ||
74 | rc-real-audio-220-32-keys.o \ | ||
75 | rc-streamzap.o \ | ||
76 | rc-tbs-nec.o \ | ||
77 | rc-terratec-cinergy-xs.o \ | ||
78 | rc-terratec-slim.o \ | ||
79 | rc-tevii-nec.o \ | ||
80 | rc-total-media-in-hand.o \ | ||
81 | rc-trekstor.o \ | ||
82 | rc-tt-1500.o \ | ||
83 | rc-twinhan1027.o \ | ||
84 | rc-videomate-m1f.o \ | ||
85 | rc-videomate-s350.o \ | ||
86 | rc-videomate-tv-pvr.o \ | ||
87 | rc-winfast.o \ | ||
88 | rc-winfast-usbii-deluxe.o | ||
diff --git a/drivers/media/rc/keymaps/rc-adstech-dvb-t-pci.c b/drivers/media/rc/keymaps/rc-adstech-dvb-t-pci.c new file mode 100644 index 000000000000..136d3952dedc --- /dev/null +++ b/drivers/media/rc/keymaps/rc-adstech-dvb-t-pci.c | |||
@@ -0,0 +1,89 @@ | |||
1 | /* adstech-dvb-t-pci.h - Keytable for adstech_dvb_t_pci Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* ADS Tech Instant TV DVB-T PCI Remote */ | ||
16 | |||
17 | static struct rc_map_table adstech_dvb_t_pci[] = { | ||
18 | /* Keys 0 to 9 */ | ||
19 | { 0x4d, KEY_0 }, | ||
20 | { 0x57, KEY_1 }, | ||
21 | { 0x4f, KEY_2 }, | ||
22 | { 0x53, KEY_3 }, | ||
23 | { 0x56, KEY_4 }, | ||
24 | { 0x4e, KEY_5 }, | ||
25 | { 0x5e, KEY_6 }, | ||
26 | { 0x54, KEY_7 }, | ||
27 | { 0x4c, KEY_8 }, | ||
28 | { 0x5c, KEY_9 }, | ||
29 | |||
30 | { 0x5b, KEY_POWER }, | ||
31 | { 0x5f, KEY_MUTE }, | ||
32 | { 0x55, KEY_GOTO }, | ||
33 | { 0x5d, KEY_SEARCH }, | ||
34 | { 0x17, KEY_EPG }, /* Guide */ | ||
35 | { 0x1f, KEY_MENU }, | ||
36 | { 0x0f, KEY_UP }, | ||
37 | { 0x46, KEY_DOWN }, | ||
38 | { 0x16, KEY_LEFT }, | ||
39 | { 0x1e, KEY_RIGHT }, | ||
40 | { 0x0e, KEY_SELECT }, /* Enter */ | ||
41 | { 0x5a, KEY_INFO }, | ||
42 | { 0x52, KEY_EXIT }, | ||
43 | { 0x59, KEY_PREVIOUS }, | ||
44 | { 0x51, KEY_NEXT }, | ||
45 | { 0x58, KEY_REWIND }, | ||
46 | { 0x50, KEY_FORWARD }, | ||
47 | { 0x44, KEY_PLAYPAUSE }, | ||
48 | { 0x07, KEY_STOP }, | ||
49 | { 0x1b, KEY_RECORD }, | ||
50 | { 0x13, KEY_TUNER }, /* Live */ | ||
51 | { 0x0a, KEY_A }, | ||
52 | { 0x12, KEY_B }, | ||
53 | { 0x03, KEY_PROG1 }, /* 1 */ | ||
54 | { 0x01, KEY_PROG2 }, /* 2 */ | ||
55 | { 0x00, KEY_PROG3 }, /* 3 */ | ||
56 | { 0x06, KEY_DVD }, | ||
57 | { 0x48, KEY_AUX }, /* Photo */ | ||
58 | { 0x40, KEY_VIDEO }, | ||
59 | { 0x19, KEY_AUDIO }, /* Music */ | ||
60 | { 0x0b, KEY_CHANNELUP }, | ||
61 | { 0x08, KEY_CHANNELDOWN }, | ||
62 | { 0x15, KEY_VOLUMEUP }, | ||
63 | { 0x1c, KEY_VOLUMEDOWN }, | ||
64 | }; | ||
65 | |||
66 | static struct rc_map_list adstech_dvb_t_pci_map = { | ||
67 | .map = { | ||
68 | .scan = adstech_dvb_t_pci, | ||
69 | .size = ARRAY_SIZE(adstech_dvb_t_pci), | ||
70 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
71 | .name = RC_MAP_ADSTECH_DVB_T_PCI, | ||
72 | } | ||
73 | }; | ||
74 | |||
75 | static int __init init_rc_map_adstech_dvb_t_pci(void) | ||
76 | { | ||
77 | return rc_map_register(&adstech_dvb_t_pci_map); | ||
78 | } | ||
79 | |||
80 | static void __exit exit_rc_map_adstech_dvb_t_pci(void) | ||
81 | { | ||
82 | rc_map_unregister(&adstech_dvb_t_pci_map); | ||
83 | } | ||
84 | |||
85 | module_init(init_rc_map_adstech_dvb_t_pci) | ||
86 | module_exit(exit_rc_map_adstech_dvb_t_pci) | ||
87 | |||
88 | MODULE_LICENSE("GPL"); | ||
89 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-alink-dtu-m.c b/drivers/media/rc/keymaps/rc-alink-dtu-m.c new file mode 100644 index 000000000000..fe652e928dc0 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-alink-dtu-m.c | |||
@@ -0,0 +1,68 @@ | |||
1 | /* | ||
2 | * A-Link DTU(m) remote controller keytable | ||
3 | * | ||
4 | * Copyright (C) 2010 Antti Palosaari <crope@iki.fi> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License along | ||
17 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||
19 | */ | ||
20 | |||
21 | #include <media/rc-map.h> | ||
22 | |||
23 | /* A-Link DTU(m) slim remote, 6 rows, 3 columns. */ | ||
24 | static struct rc_map_table alink_dtu_m[] = { | ||
25 | { 0x0800, KEY_VOLUMEUP }, | ||
26 | { 0x0801, KEY_1 }, | ||
27 | { 0x0802, KEY_3 }, | ||
28 | { 0x0803, KEY_7 }, | ||
29 | { 0x0804, KEY_9 }, | ||
30 | { 0x0805, KEY_NEW }, /* symbol: PIP */ | ||
31 | { 0x0806, KEY_0 }, | ||
32 | { 0x0807, KEY_CHANNEL }, /* JUMP */ | ||
33 | { 0x080d, KEY_5 }, | ||
34 | { 0x080f, KEY_2 }, | ||
35 | { 0x0812, KEY_POWER2 }, | ||
36 | { 0x0814, KEY_CHANNELUP }, | ||
37 | { 0x0816, KEY_VOLUMEDOWN }, | ||
38 | { 0x0818, KEY_6 }, | ||
39 | { 0x081a, KEY_MUTE }, | ||
40 | { 0x081b, KEY_8 }, | ||
41 | { 0x081c, KEY_4 }, | ||
42 | { 0x081d, KEY_CHANNELDOWN }, | ||
43 | }; | ||
44 | |||
45 | static struct rc_map_list alink_dtu_m_map = { | ||
46 | .map = { | ||
47 | .scan = alink_dtu_m, | ||
48 | .size = ARRAY_SIZE(alink_dtu_m), | ||
49 | .rc_type = RC_TYPE_NEC, | ||
50 | .name = RC_MAP_ALINK_DTU_M, | ||
51 | } | ||
52 | }; | ||
53 | |||
54 | static int __init init_rc_map_alink_dtu_m(void) | ||
55 | { | ||
56 | return rc_map_register(&alink_dtu_m_map); | ||
57 | } | ||
58 | |||
59 | static void __exit exit_rc_map_alink_dtu_m(void) | ||
60 | { | ||
61 | rc_map_unregister(&alink_dtu_m_map); | ||
62 | } | ||
63 | |||
64 | module_init(init_rc_map_alink_dtu_m) | ||
65 | module_exit(exit_rc_map_alink_dtu_m) | ||
66 | |||
67 | MODULE_LICENSE("GPL"); | ||
68 | MODULE_AUTHOR("Antti Palosaari <crope@iki.fi>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-anysee.c b/drivers/media/rc/keymaps/rc-anysee.c new file mode 100644 index 000000000000..884f1b51a8ee --- /dev/null +++ b/drivers/media/rc/keymaps/rc-anysee.c | |||
@@ -0,0 +1,93 @@ | |||
1 | /* | ||
2 | * Anysee remote controller keytable | ||
3 | * | ||
4 | * Copyright (C) 2010 Antti Palosaari <crope@iki.fi> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License along | ||
17 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||
19 | */ | ||
20 | |||
21 | #include <media/rc-map.h> | ||
22 | |||
23 | static struct rc_map_table anysee[] = { | ||
24 | { 0x0800, KEY_0 }, | ||
25 | { 0x0801, KEY_1 }, | ||
26 | { 0x0802, KEY_2 }, | ||
27 | { 0x0803, KEY_3 }, | ||
28 | { 0x0804, KEY_4 }, | ||
29 | { 0x0805, KEY_5 }, | ||
30 | { 0x0806, KEY_6 }, | ||
31 | { 0x0807, KEY_7 }, | ||
32 | { 0x0808, KEY_8 }, | ||
33 | { 0x0809, KEY_9 }, | ||
34 | { 0x080a, KEY_POWER2 }, /* [red power button] */ | ||
35 | { 0x080b, KEY_VIDEO }, /* [*] MODE */ | ||
36 | { 0x080c, KEY_CHANNEL }, /* [symbol counterclockwise arrow] */ | ||
37 | { 0x080d, KEY_NEXT }, /* [>>|] */ | ||
38 | { 0x080e, KEY_MENU }, /* MENU */ | ||
39 | { 0x080f, KEY_EPG }, /* [EPG] */ | ||
40 | { 0x0810, KEY_CLEAR }, /* EXIT */ | ||
41 | { 0x0811, KEY_CHANNELUP }, | ||
42 | { 0x0812, KEY_VOLUMEDOWN }, | ||
43 | { 0x0813, KEY_VOLUMEUP }, | ||
44 | { 0x0814, KEY_CHANNELDOWN }, | ||
45 | { 0x0815, KEY_OK }, | ||
46 | { 0x0816, KEY_RADIO }, /* [symbol TV/radio] */ | ||
47 | { 0x0817, KEY_INFO }, /* [i] */ | ||
48 | { 0x0818, KEY_PREVIOUS }, /* [|<<] */ | ||
49 | { 0x0819, KEY_FAVORITES }, /* FAV. */ | ||
50 | { 0x081a, KEY_SUBTITLE }, /* Subtitle */ | ||
51 | { 0x081b, KEY_CAMERA }, /* [symbol camera] */ | ||
52 | { 0x081c, KEY_YELLOW }, | ||
53 | { 0x081d, KEY_RED }, | ||
54 | { 0x081e, KEY_LANGUAGE }, /* [symbol Second Audio Program] */ | ||
55 | { 0x081f, KEY_GREEN }, | ||
56 | { 0x0820, KEY_SLEEP }, /* Sleep */ | ||
57 | { 0x0821, KEY_SCREEN }, /* 16:9 / 4:3 */ | ||
58 | { 0x0822, KEY_ZOOM }, /* SIZE */ | ||
59 | { 0x0824, KEY_FN }, /* [F1] */ | ||
60 | { 0x0825, KEY_FN }, /* [F2] */ | ||
61 | { 0x0842, KEY_MUTE }, /* symbol mute */ | ||
62 | { 0x0844, KEY_BLUE }, | ||
63 | { 0x0847, KEY_TEXT }, /* TEXT */ | ||
64 | { 0x0848, KEY_STOP }, | ||
65 | { 0x0849, KEY_RECORD }, | ||
66 | { 0x0850, KEY_PLAY }, | ||
67 | { 0x0851, KEY_PAUSE }, | ||
68 | }; | ||
69 | |||
70 | static struct rc_map_list anysee_map = { | ||
71 | .map = { | ||
72 | .scan = anysee, | ||
73 | .size = ARRAY_SIZE(anysee), | ||
74 | .rc_type = RC_TYPE_NEC, | ||
75 | .name = RC_MAP_ANYSEE, | ||
76 | } | ||
77 | }; | ||
78 | |||
79 | static int __init init_rc_map_anysee(void) | ||
80 | { | ||
81 | return rc_map_register(&anysee_map); | ||
82 | } | ||
83 | |||
84 | static void __exit exit_rc_map_anysee(void) | ||
85 | { | ||
86 | rc_map_unregister(&anysee_map); | ||
87 | } | ||
88 | |||
89 | module_init(init_rc_map_anysee) | ||
90 | module_exit(exit_rc_map_anysee) | ||
91 | |||
92 | MODULE_LICENSE("GPL"); | ||
93 | MODULE_AUTHOR("Antti Palosaari <crope@iki.fi>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-apac-viewcomp.c b/drivers/media/rc/keymaps/rc-apac-viewcomp.c new file mode 100644 index 000000000000..7af188209ff9 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-apac-viewcomp.c | |||
@@ -0,0 +1,80 @@ | |||
1 | /* apac-viewcomp.h - Keytable for apac_viewcomp Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* Attila Kondoros <attila.kondoros@chello.hu> */ | ||
16 | |||
17 | static struct rc_map_table apac_viewcomp[] = { | ||
18 | |||
19 | { 0x01, KEY_1 }, | ||
20 | { 0x02, KEY_2 }, | ||
21 | { 0x03, KEY_3 }, | ||
22 | { 0x04, KEY_4 }, | ||
23 | { 0x05, KEY_5 }, | ||
24 | { 0x06, KEY_6 }, | ||
25 | { 0x07, KEY_7 }, | ||
26 | { 0x08, KEY_8 }, | ||
27 | { 0x09, KEY_9 }, | ||
28 | { 0x00, KEY_0 }, | ||
29 | { 0x17, KEY_LAST }, /* +100 */ | ||
30 | { 0x0a, KEY_LIST }, /* recall */ | ||
31 | |||
32 | |||
33 | { 0x1c, KEY_TUNER }, /* TV/FM */ | ||
34 | { 0x15, KEY_SEARCH }, /* scan */ | ||
35 | { 0x12, KEY_POWER }, /* power */ | ||
36 | { 0x1f, KEY_VOLUMEDOWN }, /* vol up */ | ||
37 | { 0x1b, KEY_VOLUMEUP }, /* vol down */ | ||
38 | { 0x1e, KEY_CHANNELDOWN }, /* chn up */ | ||
39 | { 0x1a, KEY_CHANNELUP }, /* chn down */ | ||
40 | |||
41 | { 0x11, KEY_VIDEO }, /* video */ | ||
42 | { 0x0f, KEY_ZOOM }, /* full screen */ | ||
43 | { 0x13, KEY_MUTE }, /* mute/unmute */ | ||
44 | { 0x10, KEY_TEXT }, /* min */ | ||
45 | |||
46 | { 0x0d, KEY_STOP }, /* freeze */ | ||
47 | { 0x0e, KEY_RECORD }, /* record */ | ||
48 | { 0x1d, KEY_PLAYPAUSE }, /* stop */ | ||
49 | { 0x19, KEY_PLAY }, /* play */ | ||
50 | |||
51 | { 0x16, KEY_GOTO }, /* osd */ | ||
52 | { 0x14, KEY_REFRESH }, /* default */ | ||
53 | { 0x0c, KEY_KPPLUS }, /* fine tune >>>> */ | ||
54 | { 0x18, KEY_KPMINUS }, /* fine tune <<<< */ | ||
55 | }; | ||
56 | |||
57 | static struct rc_map_list apac_viewcomp_map = { | ||
58 | .map = { | ||
59 | .scan = apac_viewcomp, | ||
60 | .size = ARRAY_SIZE(apac_viewcomp), | ||
61 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
62 | .name = RC_MAP_APAC_VIEWCOMP, | ||
63 | } | ||
64 | }; | ||
65 | |||
66 | static int __init init_rc_map_apac_viewcomp(void) | ||
67 | { | ||
68 | return rc_map_register(&apac_viewcomp_map); | ||
69 | } | ||
70 | |||
71 | static void __exit exit_rc_map_apac_viewcomp(void) | ||
72 | { | ||
73 | rc_map_unregister(&apac_viewcomp_map); | ||
74 | } | ||
75 | |||
76 | module_init(init_rc_map_apac_viewcomp) | ||
77 | module_exit(exit_rc_map_apac_viewcomp) | ||
78 | |||
79 | MODULE_LICENSE("GPL"); | ||
80 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-asus-pc39.c b/drivers/media/rc/keymaps/rc-asus-pc39.c new file mode 100644 index 000000000000..b2481154491b --- /dev/null +++ b/drivers/media/rc/keymaps/rc-asus-pc39.c | |||
@@ -0,0 +1,91 @@ | |||
1 | /* asus-pc39.h - Keytable for asus_pc39 Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* | ||
16 | * Marc Fargas <telenieko@telenieko.com> | ||
17 | * this is the remote control that comes with the asus p7131 | ||
18 | * which has a label saying is "Model PC-39" | ||
19 | */ | ||
20 | |||
21 | static struct rc_map_table asus_pc39[] = { | ||
22 | /* Keys 0 to 9 */ | ||
23 | { 0x082a, KEY_0 }, | ||
24 | { 0x0816, KEY_1 }, | ||
25 | { 0x0812, KEY_2 }, | ||
26 | { 0x0814, KEY_3 }, | ||
27 | { 0x0836, KEY_4 }, | ||
28 | { 0x0832, KEY_5 }, | ||
29 | { 0x0834, KEY_6 }, | ||
30 | { 0x080e, KEY_7 }, | ||
31 | { 0x080a, KEY_8 }, | ||
32 | { 0x080c, KEY_9 }, | ||
33 | |||
34 | { 0x0801, KEY_RADIO }, /* radio */ | ||
35 | { 0x083c, KEY_MENU }, /* dvd/menu */ | ||
36 | { 0x0815, KEY_VOLUMEUP }, | ||
37 | { 0x0826, KEY_VOLUMEDOWN }, | ||
38 | { 0x0808, KEY_UP }, | ||
39 | { 0x0804, KEY_DOWN }, | ||
40 | { 0x0818, KEY_LEFT }, | ||
41 | { 0x0810, KEY_RIGHT }, | ||
42 | { 0x081a, KEY_VIDEO }, /* video */ | ||
43 | { 0x0806, KEY_AUDIO }, /* music */ | ||
44 | |||
45 | { 0x081e, KEY_TV }, /* tv */ | ||
46 | { 0x0822, KEY_EXIT }, /* back */ | ||
47 | { 0x0835, KEY_CHANNELUP }, /* channel / program + */ | ||
48 | { 0x0824, KEY_CHANNELDOWN }, /* channel / program - */ | ||
49 | { 0x0825, KEY_ENTER }, /* enter */ | ||
50 | |||
51 | { 0x0839, KEY_PAUSE }, /* play/pause */ | ||
52 | { 0x0821, KEY_PREVIOUS }, /* rew */ | ||
53 | { 0x0819, KEY_NEXT }, /* forward */ | ||
54 | { 0x0831, KEY_REWIND }, /* backward << */ | ||
55 | { 0x0805, KEY_FASTFORWARD }, /* forward >> */ | ||
56 | { 0x0809, KEY_STOP }, | ||
57 | { 0x0811, KEY_RECORD }, /* recording */ | ||
58 | { 0x0829, KEY_POWER }, /* the button that reads "close" */ | ||
59 | |||
60 | { 0x082e, KEY_ZOOM }, /* full screen */ | ||
61 | { 0x082c, KEY_MACRO }, /* recall */ | ||
62 | { 0x081c, KEY_HOME }, /* home */ | ||
63 | { 0x083a, KEY_PVR }, /* picture */ | ||
64 | { 0x0802, KEY_MUTE }, /* mute */ | ||
65 | { 0x083e, KEY_DVD }, /* dvd */ | ||
66 | }; | ||
67 | |||
68 | static struct rc_map_list asus_pc39_map = { | ||
69 | .map = { | ||
70 | .scan = asus_pc39, | ||
71 | .size = ARRAY_SIZE(asus_pc39), | ||
72 | .rc_type = RC_TYPE_RC5, | ||
73 | .name = RC_MAP_ASUS_PC39, | ||
74 | } | ||
75 | }; | ||
76 | |||
77 | static int __init init_rc_map_asus_pc39(void) | ||
78 | { | ||
79 | return rc_map_register(&asus_pc39_map); | ||
80 | } | ||
81 | |||
82 | static void __exit exit_rc_map_asus_pc39(void) | ||
83 | { | ||
84 | rc_map_unregister(&asus_pc39_map); | ||
85 | } | ||
86 | |||
87 | module_init(init_rc_map_asus_pc39) | ||
88 | module_exit(exit_rc_map_asus_pc39) | ||
89 | |||
90 | MODULE_LICENSE("GPL"); | ||
91 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-ati-tv-wonder-hd-600.c b/drivers/media/rc/keymaps/rc-ati-tv-wonder-hd-600.c new file mode 100644 index 000000000000..f766b24b0158 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-ati-tv-wonder-hd-600.c | |||
@@ -0,0 +1,69 @@ | |||
1 | /* ati-tv-wonder-hd-600.h - Keytable for ati_tv_wonder_hd_600 Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* ATI TV Wonder HD 600 USB | ||
16 | Devin Heitmueller <devin.heitmueller@gmail.com> | ||
17 | */ | ||
18 | |||
19 | static struct rc_map_table ati_tv_wonder_hd_600[] = { | ||
20 | { 0x00, KEY_RECORD}, /* Row 1 */ | ||
21 | { 0x01, KEY_PLAYPAUSE}, | ||
22 | { 0x02, KEY_STOP}, | ||
23 | { 0x03, KEY_POWER}, | ||
24 | { 0x04, KEY_PREVIOUS}, /* Row 2 */ | ||
25 | { 0x05, KEY_REWIND}, | ||
26 | { 0x06, KEY_FORWARD}, | ||
27 | { 0x07, KEY_NEXT}, | ||
28 | { 0x08, KEY_EPG}, /* Row 3 */ | ||
29 | { 0x09, KEY_HOME}, | ||
30 | { 0x0a, KEY_MENU}, | ||
31 | { 0x0b, KEY_CHANNELUP}, | ||
32 | { 0x0c, KEY_BACK}, /* Row 4 */ | ||
33 | { 0x0d, KEY_UP}, | ||
34 | { 0x0e, KEY_INFO}, | ||
35 | { 0x0f, KEY_CHANNELDOWN}, | ||
36 | { 0x10, KEY_LEFT}, /* Row 5 */ | ||
37 | { 0x11, KEY_SELECT}, | ||
38 | { 0x12, KEY_RIGHT}, | ||
39 | { 0x13, KEY_VOLUMEUP}, | ||
40 | { 0x14, KEY_LAST}, /* Row 6 */ | ||
41 | { 0x15, KEY_DOWN}, | ||
42 | { 0x16, KEY_MUTE}, | ||
43 | { 0x17, KEY_VOLUMEDOWN}, | ||
44 | }; | ||
45 | |||
46 | static struct rc_map_list ati_tv_wonder_hd_600_map = { | ||
47 | .map = { | ||
48 | .scan = ati_tv_wonder_hd_600, | ||
49 | .size = ARRAY_SIZE(ati_tv_wonder_hd_600), | ||
50 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
51 | .name = RC_MAP_ATI_TV_WONDER_HD_600, | ||
52 | } | ||
53 | }; | ||
54 | |||
55 | static int __init init_rc_map_ati_tv_wonder_hd_600(void) | ||
56 | { | ||
57 | return rc_map_register(&ati_tv_wonder_hd_600_map); | ||
58 | } | ||
59 | |||
60 | static void __exit exit_rc_map_ati_tv_wonder_hd_600(void) | ||
61 | { | ||
62 | rc_map_unregister(&ati_tv_wonder_hd_600_map); | ||
63 | } | ||
64 | |||
65 | module_init(init_rc_map_ati_tv_wonder_hd_600) | ||
66 | module_exit(exit_rc_map_ati_tv_wonder_hd_600) | ||
67 | |||
68 | MODULE_LICENSE("GPL"); | ||
69 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-avermedia-a16d.c b/drivers/media/rc/keymaps/rc-avermedia-a16d.c new file mode 100644 index 000000000000..ec9beeebd410 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-avermedia-a16d.c | |||
@@ -0,0 +1,75 @@ | |||
1 | /* avermedia-a16d.h - Keytable for avermedia_a16d Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | static struct rc_map_table avermedia_a16d[] = { | ||
16 | { 0x20, KEY_LIST}, | ||
17 | { 0x00, KEY_POWER}, | ||
18 | { 0x28, KEY_1}, | ||
19 | { 0x18, KEY_2}, | ||
20 | { 0x38, KEY_3}, | ||
21 | { 0x24, KEY_4}, | ||
22 | { 0x14, KEY_5}, | ||
23 | { 0x34, KEY_6}, | ||
24 | { 0x2c, KEY_7}, | ||
25 | { 0x1c, KEY_8}, | ||
26 | { 0x3c, KEY_9}, | ||
27 | { 0x12, KEY_SUBTITLE}, | ||
28 | { 0x22, KEY_0}, | ||
29 | { 0x32, KEY_REWIND}, | ||
30 | { 0x3a, KEY_SHUFFLE}, | ||
31 | { 0x02, KEY_PRINT}, | ||
32 | { 0x11, KEY_CHANNELDOWN}, | ||
33 | { 0x31, KEY_CHANNELUP}, | ||
34 | { 0x0c, KEY_ZOOM}, | ||
35 | { 0x1e, KEY_VOLUMEDOWN}, | ||
36 | { 0x3e, KEY_VOLUMEUP}, | ||
37 | { 0x0a, KEY_MUTE}, | ||
38 | { 0x04, KEY_AUDIO}, | ||
39 | { 0x26, KEY_RECORD}, | ||
40 | { 0x06, KEY_PLAY}, | ||
41 | { 0x36, KEY_STOP}, | ||
42 | { 0x16, KEY_PAUSE}, | ||
43 | { 0x2e, KEY_REWIND}, | ||
44 | { 0x0e, KEY_FASTFORWARD}, | ||
45 | { 0x30, KEY_TEXT}, | ||
46 | { 0x21, KEY_GREEN}, | ||
47 | { 0x01, KEY_BLUE}, | ||
48 | { 0x08, KEY_EPG}, | ||
49 | { 0x2a, KEY_MENU}, | ||
50 | }; | ||
51 | |||
52 | static struct rc_map_list avermedia_a16d_map = { | ||
53 | .map = { | ||
54 | .scan = avermedia_a16d, | ||
55 | .size = ARRAY_SIZE(avermedia_a16d), | ||
56 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
57 | .name = RC_MAP_AVERMEDIA_A16D, | ||
58 | } | ||
59 | }; | ||
60 | |||
61 | static int __init init_rc_map_avermedia_a16d(void) | ||
62 | { | ||
63 | return rc_map_register(&avermedia_a16d_map); | ||
64 | } | ||
65 | |||
66 | static void __exit exit_rc_map_avermedia_a16d(void) | ||
67 | { | ||
68 | rc_map_unregister(&avermedia_a16d_map); | ||
69 | } | ||
70 | |||
71 | module_init(init_rc_map_avermedia_a16d) | ||
72 | module_exit(exit_rc_map_avermedia_a16d) | ||
73 | |||
74 | MODULE_LICENSE("GPL"); | ||
75 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-avermedia-cardbus.c b/drivers/media/rc/keymaps/rc-avermedia-cardbus.c new file mode 100644 index 000000000000..bdf97b74cf90 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-avermedia-cardbus.c | |||
@@ -0,0 +1,97 @@ | |||
1 | /* avermedia-cardbus.h - Keytable for avermedia_cardbus Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* Oldrich Jedlicka <oldium.pro@seznam.cz> */ | ||
16 | |||
17 | static struct rc_map_table avermedia_cardbus[] = { | ||
18 | { 0x00, KEY_POWER }, | ||
19 | { 0x01, KEY_TUNER }, /* TV/FM */ | ||
20 | { 0x03, KEY_TEXT }, /* Teletext */ | ||
21 | { 0x04, KEY_EPG }, | ||
22 | { 0x05, KEY_1 }, | ||
23 | { 0x06, KEY_2 }, | ||
24 | { 0x07, KEY_3 }, | ||
25 | { 0x08, KEY_AUDIO }, | ||
26 | { 0x09, KEY_4 }, | ||
27 | { 0x0a, KEY_5 }, | ||
28 | { 0x0b, KEY_6 }, | ||
29 | { 0x0c, KEY_ZOOM }, /* Full screen */ | ||
30 | { 0x0d, KEY_7 }, | ||
31 | { 0x0e, KEY_8 }, | ||
32 | { 0x0f, KEY_9 }, | ||
33 | { 0x10, KEY_PAGEUP }, /* 16-CH PREV */ | ||
34 | { 0x11, KEY_0 }, | ||
35 | { 0x12, KEY_INFO }, | ||
36 | { 0x13, KEY_AGAIN }, /* CH RTN - channel return */ | ||
37 | { 0x14, KEY_MUTE }, | ||
38 | { 0x15, KEY_EDIT }, /* Autoscan */ | ||
39 | { 0x17, KEY_SAVE }, /* Screenshot */ | ||
40 | { 0x18, KEY_PLAYPAUSE }, | ||
41 | { 0x19, KEY_RECORD }, | ||
42 | { 0x1a, KEY_PLAY }, | ||
43 | { 0x1b, KEY_STOP }, | ||
44 | { 0x1c, KEY_FASTFORWARD }, | ||
45 | { 0x1d, KEY_REWIND }, | ||
46 | { 0x1e, KEY_VOLUMEDOWN }, | ||
47 | { 0x1f, KEY_VOLUMEUP }, | ||
48 | { 0x22, KEY_SLEEP }, /* Sleep */ | ||
49 | { 0x23, KEY_ZOOM }, /* Aspect */ | ||
50 | { 0x26, KEY_SCREEN }, /* Pos */ | ||
51 | { 0x27, KEY_ANGLE }, /* Size */ | ||
52 | { 0x28, KEY_SELECT }, /* Select */ | ||
53 | { 0x29, KEY_BLUE }, /* Blue/Picture */ | ||
54 | { 0x2a, KEY_BACKSPACE }, /* Back */ | ||
55 | { 0x2b, KEY_MEDIA }, /* PIP (Picture-in-picture) */ | ||
56 | { 0x2c, KEY_DOWN }, | ||
57 | { 0x2e, KEY_DOT }, | ||
58 | { 0x2f, KEY_TV }, /* Live TV */ | ||
59 | { 0x32, KEY_LEFT }, | ||
60 | { 0x33, KEY_CLEAR }, /* Clear */ | ||
61 | { 0x35, KEY_RED }, /* Red/TV */ | ||
62 | { 0x36, KEY_UP }, | ||
63 | { 0x37, KEY_HOME }, /* Home */ | ||
64 | { 0x39, KEY_GREEN }, /* Green/Video */ | ||
65 | { 0x3d, KEY_YELLOW }, /* Yellow/Music */ | ||
66 | { 0x3e, KEY_OK }, /* Ok */ | ||
67 | { 0x3f, KEY_RIGHT }, | ||
68 | { 0x40, KEY_NEXT }, /* Next */ | ||
69 | { 0x41, KEY_PREVIOUS }, /* Previous */ | ||
70 | { 0x42, KEY_CHANNELDOWN }, /* Channel down */ | ||
71 | { 0x43, KEY_CHANNELUP }, /* Channel up */ | ||
72 | }; | ||
73 | |||
74 | static struct rc_map_list avermedia_cardbus_map = { | ||
75 | .map = { | ||
76 | .scan = avermedia_cardbus, | ||
77 | .size = ARRAY_SIZE(avermedia_cardbus), | ||
78 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
79 | .name = RC_MAP_AVERMEDIA_CARDBUS, | ||
80 | } | ||
81 | }; | ||
82 | |||
83 | static int __init init_rc_map_avermedia_cardbus(void) | ||
84 | { | ||
85 | return rc_map_register(&avermedia_cardbus_map); | ||
86 | } | ||
87 | |||
88 | static void __exit exit_rc_map_avermedia_cardbus(void) | ||
89 | { | ||
90 | rc_map_unregister(&avermedia_cardbus_map); | ||
91 | } | ||
92 | |||
93 | module_init(init_rc_map_avermedia_cardbus) | ||
94 | module_exit(exit_rc_map_avermedia_cardbus) | ||
95 | |||
96 | MODULE_LICENSE("GPL"); | ||
97 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-avermedia-dvbt.c b/drivers/media/rc/keymaps/rc-avermedia-dvbt.c new file mode 100644 index 000000000000..3ddb41bc075e --- /dev/null +++ b/drivers/media/rc/keymaps/rc-avermedia-dvbt.c | |||
@@ -0,0 +1,78 @@ | |||
1 | /* avermedia-dvbt.h - Keytable for avermedia_dvbt Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* Matt Jesson <dvb@jesson.eclipse.co.uk */ | ||
16 | |||
17 | static struct rc_map_table avermedia_dvbt[] = { | ||
18 | { 0x28, KEY_0 }, /* '0' / 'enter' */ | ||
19 | { 0x22, KEY_1 }, /* '1' */ | ||
20 | { 0x12, KEY_2 }, /* '2' / 'up arrow' */ | ||
21 | { 0x32, KEY_3 }, /* '3' */ | ||
22 | { 0x24, KEY_4 }, /* '4' / 'left arrow' */ | ||
23 | { 0x14, KEY_5 }, /* '5' */ | ||
24 | { 0x34, KEY_6 }, /* '6' / 'right arrow' */ | ||
25 | { 0x26, KEY_7 }, /* '7' */ | ||
26 | { 0x16, KEY_8 }, /* '8' / 'down arrow' */ | ||
27 | { 0x36, KEY_9 }, /* '9' */ | ||
28 | |||
29 | { 0x20, KEY_LIST }, /* 'source' */ | ||
30 | { 0x10, KEY_TEXT }, /* 'teletext' */ | ||
31 | { 0x00, KEY_POWER }, /* 'power' */ | ||
32 | { 0x04, KEY_AUDIO }, /* 'audio' */ | ||
33 | { 0x06, KEY_ZOOM }, /* 'full screen' */ | ||
34 | { 0x18, KEY_VIDEO }, /* 'display' */ | ||
35 | { 0x38, KEY_SEARCH }, /* 'loop' */ | ||
36 | { 0x08, KEY_INFO }, /* 'preview' */ | ||
37 | { 0x2a, KEY_REWIND }, /* 'backward <<' */ | ||
38 | { 0x1a, KEY_FASTFORWARD }, /* 'forward >>' */ | ||
39 | { 0x3a, KEY_RECORD }, /* 'capture' */ | ||
40 | { 0x0a, KEY_MUTE }, /* 'mute' */ | ||
41 | { 0x2c, KEY_RECORD }, /* 'record' */ | ||
42 | { 0x1c, KEY_PAUSE }, /* 'pause' */ | ||
43 | { 0x3c, KEY_STOP }, /* 'stop' */ | ||
44 | { 0x0c, KEY_PLAY }, /* 'play' */ | ||
45 | { 0x2e, KEY_RED }, /* 'red' */ | ||
46 | { 0x01, KEY_BLUE }, /* 'blue' / 'cancel' */ | ||
47 | { 0x0e, KEY_YELLOW }, /* 'yellow' / 'ok' */ | ||
48 | { 0x21, KEY_GREEN }, /* 'green' */ | ||
49 | { 0x11, KEY_CHANNELDOWN }, /* 'channel -' */ | ||
50 | { 0x31, KEY_CHANNELUP }, /* 'channel +' */ | ||
51 | { 0x1e, KEY_VOLUMEDOWN }, /* 'volume -' */ | ||
52 | { 0x3e, KEY_VOLUMEUP }, /* 'volume +' */ | ||
53 | }; | ||
54 | |||
55 | static struct rc_map_list avermedia_dvbt_map = { | ||
56 | .map = { | ||
57 | .scan = avermedia_dvbt, | ||
58 | .size = ARRAY_SIZE(avermedia_dvbt), | ||
59 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
60 | .name = RC_MAP_AVERMEDIA_DVBT, | ||
61 | } | ||
62 | }; | ||
63 | |||
64 | static int __init init_rc_map_avermedia_dvbt(void) | ||
65 | { | ||
66 | return rc_map_register(&avermedia_dvbt_map); | ||
67 | } | ||
68 | |||
69 | static void __exit exit_rc_map_avermedia_dvbt(void) | ||
70 | { | ||
71 | rc_map_unregister(&avermedia_dvbt_map); | ||
72 | } | ||
73 | |||
74 | module_init(init_rc_map_avermedia_dvbt) | ||
75 | module_exit(exit_rc_map_avermedia_dvbt) | ||
76 | |||
77 | MODULE_LICENSE("GPL"); | ||
78 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-avermedia-m135a.c b/drivers/media/rc/keymaps/rc-avermedia-m135a.c new file mode 100644 index 000000000000..357fea58a46e --- /dev/null +++ b/drivers/media/rc/keymaps/rc-avermedia-m135a.c | |||
@@ -0,0 +1,147 @@ | |||
1 | /* avermedia-m135a.c - Keytable for Avermedia M135A Remote Controllers | ||
2 | * | ||
3 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
4 | * Copyright (c) 2010 by Herton Ronaldo Krzesinski <herton@mandriva.com.br> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | */ | ||
11 | |||
12 | #include <media/rc-map.h> | ||
13 | |||
14 | /* | ||
15 | * Avermedia M135A with RM-JX and RM-K6 remote controls | ||
16 | * | ||
17 | * On Avermedia M135A with IR model RM-JX, the same codes exist on both | ||
18 | * Positivo (BR) and original IR, initial version and remote control codes | ||
19 | * added by Mauro Carvalho Chehab <mchehab@infradead.org> | ||
20 | * | ||
21 | * Positivo also ships Avermedia M135A with model RM-K6, extra control | ||
22 | * codes added by Herton Ronaldo Krzesinski <herton@mandriva.com.br> | ||
23 | */ | ||
24 | |||
25 | static struct rc_map_table avermedia_m135a[] = { | ||
26 | /* RM-JX */ | ||
27 | { 0x0200, KEY_POWER2 }, | ||
28 | { 0x022e, KEY_DOT }, /* '.' */ | ||
29 | { 0x0201, KEY_MODE }, /* TV/FM or SOURCE */ | ||
30 | |||
31 | { 0x0205, KEY_1 }, | ||
32 | { 0x0206, KEY_2 }, | ||
33 | { 0x0207, KEY_3 }, | ||
34 | { 0x0209, KEY_4 }, | ||
35 | { 0x020a, KEY_5 }, | ||
36 | { 0x020b, KEY_6 }, | ||
37 | { 0x020d, KEY_7 }, | ||
38 | { 0x020e, KEY_8 }, | ||
39 | { 0x020f, KEY_9 }, | ||
40 | { 0x0211, KEY_0 }, | ||
41 | |||
42 | { 0x0213, KEY_RIGHT }, /* -> or L */ | ||
43 | { 0x0212, KEY_LEFT }, /* <- or R */ | ||
44 | |||
45 | { 0x0217, KEY_SLEEP }, /* Capturar Imagem or Snapshot */ | ||
46 | { 0x0210, KEY_SHUFFLE }, /* Amostra or 16 chan prev */ | ||
47 | |||
48 | { 0x0303, KEY_CHANNELUP }, | ||
49 | { 0x0302, KEY_CHANNELDOWN }, | ||
50 | { 0x021f, KEY_VOLUMEUP }, | ||
51 | { 0x021e, KEY_VOLUMEDOWN }, | ||
52 | { 0x020c, KEY_ENTER }, /* Full Screen */ | ||
53 | |||
54 | { 0x0214, KEY_MUTE }, | ||
55 | { 0x0208, KEY_AUDIO }, | ||
56 | |||
57 | { 0x0203, KEY_TEXT }, /* Teletext */ | ||
58 | { 0x0204, KEY_EPG }, | ||
59 | { 0x022b, KEY_TV2 }, /* TV2 or PIP */ | ||
60 | |||
61 | { 0x021d, KEY_RED }, | ||
62 | { 0x021c, KEY_YELLOW }, | ||
63 | { 0x0301, KEY_GREEN }, | ||
64 | { 0x0300, KEY_BLUE }, | ||
65 | |||
66 | { 0x021a, KEY_PLAYPAUSE }, | ||
67 | { 0x0219, KEY_RECORD }, | ||
68 | { 0x0218, KEY_PLAY }, | ||
69 | { 0x021b, KEY_STOP }, | ||
70 | |||
71 | /* RM-K6 */ | ||
72 | { 0x0401, KEY_POWER2 }, | ||
73 | { 0x0406, KEY_MUTE }, | ||
74 | { 0x0408, KEY_MODE }, /* TV/FM */ | ||
75 | |||
76 | { 0x0409, KEY_1 }, | ||
77 | { 0x040a, KEY_2 }, | ||
78 | { 0x040b, KEY_3 }, | ||
79 | { 0x040c, KEY_4 }, | ||
80 | { 0x040d, KEY_5 }, | ||
81 | { 0x040e, KEY_6 }, | ||
82 | { 0x040f, KEY_7 }, | ||
83 | { 0x0410, KEY_8 }, | ||
84 | { 0x0411, KEY_9 }, | ||
85 | { 0x044c, KEY_DOT }, /* '.' */ | ||
86 | { 0x0412, KEY_0 }, | ||
87 | { 0x0407, KEY_REFRESH }, /* Refresh/Reload */ | ||
88 | |||
89 | { 0x0413, KEY_AUDIO }, | ||
90 | { 0x0440, KEY_SCREEN }, /* Full Screen toggle */ | ||
91 | { 0x0441, KEY_HOME }, | ||
92 | { 0x0442, KEY_BACK }, | ||
93 | { 0x0447, KEY_UP }, | ||
94 | { 0x0448, KEY_DOWN }, | ||
95 | { 0x0449, KEY_LEFT }, | ||
96 | { 0x044a, KEY_RIGHT }, | ||
97 | { 0x044b, KEY_OK }, | ||
98 | { 0x0404, KEY_VOLUMEUP }, | ||
99 | { 0x0405, KEY_VOLUMEDOWN }, | ||
100 | { 0x0402, KEY_CHANNELUP }, | ||
101 | { 0x0403, KEY_CHANNELDOWN }, | ||
102 | |||
103 | { 0x0443, KEY_RED }, | ||
104 | { 0x0444, KEY_GREEN }, | ||
105 | { 0x0445, KEY_YELLOW }, | ||
106 | { 0x0446, KEY_BLUE }, | ||
107 | |||
108 | { 0x0414, KEY_TEXT }, | ||
109 | { 0x0415, KEY_EPG }, | ||
110 | { 0x041a, KEY_TV2 }, /* PIP */ | ||
111 | { 0x041b, KEY_MHP }, /* Snapshot */ | ||
112 | |||
113 | { 0x0417, KEY_RECORD }, | ||
114 | { 0x0416, KEY_PLAYPAUSE }, | ||
115 | { 0x0418, KEY_STOP }, | ||
116 | { 0x0419, KEY_PAUSE }, | ||
117 | |||
118 | { 0x041f, KEY_PREVIOUS }, | ||
119 | { 0x041c, KEY_REWIND }, | ||
120 | { 0x041d, KEY_FORWARD }, | ||
121 | { 0x041e, KEY_NEXT }, | ||
122 | }; | ||
123 | |||
124 | static struct rc_map_list avermedia_m135a_map = { | ||
125 | .map = { | ||
126 | .scan = avermedia_m135a, | ||
127 | .size = ARRAY_SIZE(avermedia_m135a), | ||
128 | .rc_type = RC_TYPE_NEC, | ||
129 | .name = RC_MAP_AVERMEDIA_M135A, | ||
130 | } | ||
131 | }; | ||
132 | |||
133 | static int __init init_rc_map_avermedia_m135a(void) | ||
134 | { | ||
135 | return rc_map_register(&avermedia_m135a_map); | ||
136 | } | ||
137 | |||
138 | static void __exit exit_rc_map_avermedia_m135a(void) | ||
139 | { | ||
140 | rc_map_unregister(&avermedia_m135a_map); | ||
141 | } | ||
142 | |||
143 | module_init(init_rc_map_avermedia_m135a) | ||
144 | module_exit(exit_rc_map_avermedia_m135a) | ||
145 | |||
146 | MODULE_LICENSE("GPL"); | ||
147 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-avermedia-m733a-rm-k6.c b/drivers/media/rc/keymaps/rc-avermedia-m733a-rm-k6.c new file mode 100644 index 000000000000..e694e6eac37e --- /dev/null +++ b/drivers/media/rc/keymaps/rc-avermedia-m733a-rm-k6.c | |||
@@ -0,0 +1,95 @@ | |||
1 | /* avermedia-m733a-rm-k6.h - Keytable for avermedia_m733a_rm_k6 Remote Controller | ||
2 | * | ||
3 | * Copyright (c) 2010 by Herton Ronaldo Krzesinski <herton@mandriva.com.br> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | */ | ||
10 | |||
11 | #include <media/rc-map.h> | ||
12 | |||
13 | /* | ||
14 | * Avermedia M733A with IR model RM-K6 | ||
15 | * This is the stock remote controller used with Positivo machines with M733A | ||
16 | * Herton Ronaldo Krzesinski <herton@mandriva.com.br> | ||
17 | */ | ||
18 | |||
19 | static struct rc_map_table avermedia_m733a_rm_k6[] = { | ||
20 | { 0x0401, KEY_POWER2 }, | ||
21 | { 0x0406, KEY_MUTE }, | ||
22 | { 0x0408, KEY_MODE }, /* TV/FM */ | ||
23 | |||
24 | { 0x0409, KEY_1 }, | ||
25 | { 0x040a, KEY_2 }, | ||
26 | { 0x040b, KEY_3 }, | ||
27 | { 0x040c, KEY_4 }, | ||
28 | { 0x040d, KEY_5 }, | ||
29 | { 0x040e, KEY_6 }, | ||
30 | { 0x040f, KEY_7 }, | ||
31 | { 0x0410, KEY_8 }, | ||
32 | { 0x0411, KEY_9 }, | ||
33 | { 0x044c, KEY_DOT }, /* '.' */ | ||
34 | { 0x0412, KEY_0 }, | ||
35 | { 0x0407, KEY_REFRESH }, /* Refresh/Reload */ | ||
36 | |||
37 | { 0x0413, KEY_AUDIO }, | ||
38 | { 0x0440, KEY_SCREEN }, /* Full Screen toggle */ | ||
39 | { 0x0441, KEY_HOME }, | ||
40 | { 0x0442, KEY_BACK }, | ||
41 | { 0x0447, KEY_UP }, | ||
42 | { 0x0448, KEY_DOWN }, | ||
43 | { 0x0449, KEY_LEFT }, | ||
44 | { 0x044a, KEY_RIGHT }, | ||
45 | { 0x044b, KEY_OK }, | ||
46 | { 0x0404, KEY_VOLUMEUP }, | ||
47 | { 0x0405, KEY_VOLUMEDOWN }, | ||
48 | { 0x0402, KEY_CHANNELUP }, | ||
49 | { 0x0403, KEY_CHANNELDOWN }, | ||
50 | |||
51 | { 0x0443, KEY_RED }, | ||
52 | { 0x0444, KEY_GREEN }, | ||
53 | { 0x0445, KEY_YELLOW }, | ||
54 | { 0x0446, KEY_BLUE }, | ||
55 | |||
56 | { 0x0414, KEY_TEXT }, | ||
57 | { 0x0415, KEY_EPG }, | ||
58 | { 0x041a, KEY_TV2 }, /* PIP */ | ||
59 | { 0x041b, KEY_MHP }, /* Snapshot */ | ||
60 | |||
61 | { 0x0417, KEY_RECORD }, | ||
62 | { 0x0416, KEY_PLAYPAUSE }, | ||
63 | { 0x0418, KEY_STOP }, | ||
64 | { 0x0419, KEY_PAUSE }, | ||
65 | |||
66 | { 0x041f, KEY_PREVIOUS }, | ||
67 | { 0x041c, KEY_REWIND }, | ||
68 | { 0x041d, KEY_FORWARD }, | ||
69 | { 0x041e, KEY_NEXT }, | ||
70 | }; | ||
71 | |||
72 | static struct rc_map_list avermedia_m733a_rm_k6_map = { | ||
73 | .map = { | ||
74 | .scan = avermedia_m733a_rm_k6, | ||
75 | .size = ARRAY_SIZE(avermedia_m733a_rm_k6), | ||
76 | .rc_type = RC_TYPE_NEC, | ||
77 | .name = RC_MAP_AVERMEDIA_M733A_RM_K6, | ||
78 | } | ||
79 | }; | ||
80 | |||
81 | static int __init init_rc_map_avermedia_m733a_rm_k6(void) | ||
82 | { | ||
83 | return rc_map_register(&avermedia_m733a_rm_k6_map); | ||
84 | } | ||
85 | |||
86 | static void __exit exit_rc_map_avermedia_m733a_rm_k6(void) | ||
87 | { | ||
88 | rc_map_unregister(&avermedia_m733a_rm_k6_map); | ||
89 | } | ||
90 | |||
91 | module_init(init_rc_map_avermedia_m733a_rm_k6) | ||
92 | module_exit(exit_rc_map_avermedia_m733a_rm_k6) | ||
93 | |||
94 | MODULE_LICENSE("GPL"); | ||
95 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-avermedia-rm-ks.c b/drivers/media/rc/keymaps/rc-avermedia-rm-ks.c new file mode 100644 index 000000000000..f4ca1fff455d --- /dev/null +++ b/drivers/media/rc/keymaps/rc-avermedia-rm-ks.c | |||
@@ -0,0 +1,79 @@ | |||
1 | /* | ||
2 | * AverMedia RM-KS remote controller keytable | ||
3 | * | ||
4 | * Copyright (C) 2010 Antti Palosaari <crope@iki.fi> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License along | ||
17 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||
19 | */ | ||
20 | |||
21 | #include <media/rc-map.h> | ||
22 | |||
23 | /* Initial keytable is from Jose Alberto Reguero <jareguero@telefonica.net> | ||
24 | and Felipe Morales Moreno <felipe.morales.moreno@gmail.com> */ | ||
25 | /* FIXME: mappings are not 100% correct? */ | ||
26 | static struct rc_map_table avermedia_rm_ks[] = { | ||
27 | { 0x0501, KEY_POWER2 }, | ||
28 | { 0x0502, KEY_CHANNELUP }, | ||
29 | { 0x0503, KEY_CHANNELDOWN }, | ||
30 | { 0x0504, KEY_VOLUMEUP }, | ||
31 | { 0x0505, KEY_VOLUMEDOWN }, | ||
32 | { 0x0506, KEY_MUTE }, | ||
33 | { 0x0507, KEY_RIGHT }, | ||
34 | { 0x0508, KEY_PROG1 }, | ||
35 | { 0x0509, KEY_1 }, | ||
36 | { 0x050a, KEY_2 }, | ||
37 | { 0x050b, KEY_3 }, | ||
38 | { 0x050c, KEY_4 }, | ||
39 | { 0x050d, KEY_5 }, | ||
40 | { 0x050e, KEY_6 }, | ||
41 | { 0x050f, KEY_7 }, | ||
42 | { 0x0510, KEY_8 }, | ||
43 | { 0x0511, KEY_9 }, | ||
44 | { 0x0512, KEY_0 }, | ||
45 | { 0x0513, KEY_AUDIO }, | ||
46 | { 0x0515, KEY_EPG }, | ||
47 | { 0x0516, KEY_PLAY }, | ||
48 | { 0x0517, KEY_RECORD }, | ||
49 | { 0x0518, KEY_STOP }, | ||
50 | { 0x051c, KEY_BACK }, | ||
51 | { 0x051d, KEY_FORWARD }, | ||
52 | { 0x054d, KEY_LEFT }, | ||
53 | { 0x0556, KEY_ZOOM }, | ||
54 | }; | ||
55 | |||
56 | static struct rc_map_list avermedia_rm_ks_map = { | ||
57 | .map = { | ||
58 | .scan = avermedia_rm_ks, | ||
59 | .size = ARRAY_SIZE(avermedia_rm_ks), | ||
60 | .rc_type = RC_TYPE_NEC, | ||
61 | .name = RC_MAP_AVERMEDIA_RM_KS, | ||
62 | } | ||
63 | }; | ||
64 | |||
65 | static int __init init_rc_map_avermedia_rm_ks(void) | ||
66 | { | ||
67 | return rc_map_register(&avermedia_rm_ks_map); | ||
68 | } | ||
69 | |||
70 | static void __exit exit_rc_map_avermedia_rm_ks(void) | ||
71 | { | ||
72 | rc_map_unregister(&avermedia_rm_ks_map); | ||
73 | } | ||
74 | |||
75 | module_init(init_rc_map_avermedia_rm_ks) | ||
76 | module_exit(exit_rc_map_avermedia_rm_ks) | ||
77 | |||
78 | MODULE_LICENSE("GPL"); | ||
79 | MODULE_AUTHOR("Antti Palosaari <crope@iki.fi>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-avermedia.c b/drivers/media/rc/keymaps/rc-avermedia.c new file mode 100644 index 000000000000..edfa71506d3e --- /dev/null +++ b/drivers/media/rc/keymaps/rc-avermedia.c | |||
@@ -0,0 +1,86 @@ | |||
1 | /* avermedia.h - Keytable for avermedia Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* Alex Hermann <gaaf@gmx.net> */ | ||
16 | |||
17 | static struct rc_map_table avermedia[] = { | ||
18 | { 0x28, KEY_1 }, | ||
19 | { 0x18, KEY_2 }, | ||
20 | { 0x38, KEY_3 }, | ||
21 | { 0x24, KEY_4 }, | ||
22 | { 0x14, KEY_5 }, | ||
23 | { 0x34, KEY_6 }, | ||
24 | { 0x2c, KEY_7 }, | ||
25 | { 0x1c, KEY_8 }, | ||
26 | { 0x3c, KEY_9 }, | ||
27 | { 0x22, KEY_0 }, | ||
28 | |||
29 | { 0x20, KEY_TV }, /* TV/FM */ | ||
30 | { 0x10, KEY_CD }, /* CD */ | ||
31 | { 0x30, KEY_TEXT }, /* TELETEXT */ | ||
32 | { 0x00, KEY_POWER }, /* POWER */ | ||
33 | |||
34 | { 0x08, KEY_VIDEO }, /* VIDEO */ | ||
35 | { 0x04, KEY_AUDIO }, /* AUDIO */ | ||
36 | { 0x0c, KEY_ZOOM }, /* FULL SCREEN */ | ||
37 | |||
38 | { 0x12, KEY_SUBTITLE }, /* DISPLAY */ | ||
39 | { 0x32, KEY_REWIND }, /* LOOP */ | ||
40 | { 0x02, KEY_PRINT }, /* PREVIEW */ | ||
41 | |||
42 | { 0x2a, KEY_SEARCH }, /* AUTOSCAN */ | ||
43 | { 0x1a, KEY_SLEEP }, /* FREEZE */ | ||
44 | { 0x3a, KEY_CAMERA }, /* SNAPSHOT */ | ||
45 | { 0x0a, KEY_MUTE }, /* MUTE */ | ||
46 | |||
47 | { 0x26, KEY_RECORD }, /* RECORD */ | ||
48 | { 0x16, KEY_PAUSE }, /* PAUSE */ | ||
49 | { 0x36, KEY_STOP }, /* STOP */ | ||
50 | { 0x06, KEY_PLAY }, /* PLAY */ | ||
51 | |||
52 | { 0x2e, KEY_RED }, /* RED */ | ||
53 | { 0x21, KEY_GREEN }, /* GREEN */ | ||
54 | { 0x0e, KEY_YELLOW }, /* YELLOW */ | ||
55 | { 0x01, KEY_BLUE }, /* BLUE */ | ||
56 | |||
57 | { 0x1e, KEY_VOLUMEDOWN }, /* VOLUME- */ | ||
58 | { 0x3e, KEY_VOLUMEUP }, /* VOLUME+ */ | ||
59 | { 0x11, KEY_CHANNELDOWN }, /* CHANNEL/PAGE- */ | ||
60 | { 0x31, KEY_CHANNELUP } /* CHANNEL/PAGE+ */ | ||
61 | }; | ||
62 | |||
63 | static struct rc_map_list avermedia_map = { | ||
64 | .map = { | ||
65 | .scan = avermedia, | ||
66 | .size = ARRAY_SIZE(avermedia), | ||
67 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
68 | .name = RC_MAP_AVERMEDIA, | ||
69 | } | ||
70 | }; | ||
71 | |||
72 | static int __init init_rc_map_avermedia(void) | ||
73 | { | ||
74 | return rc_map_register(&avermedia_map); | ||
75 | } | ||
76 | |||
77 | static void __exit exit_rc_map_avermedia(void) | ||
78 | { | ||
79 | rc_map_unregister(&avermedia_map); | ||
80 | } | ||
81 | |||
82 | module_init(init_rc_map_avermedia) | ||
83 | module_exit(exit_rc_map_avermedia) | ||
84 | |||
85 | MODULE_LICENSE("GPL"); | ||
86 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-avertv-303.c b/drivers/media/rc/keymaps/rc-avertv-303.c new file mode 100644 index 000000000000..32e94988dc94 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-avertv-303.c | |||
@@ -0,0 +1,85 @@ | |||
1 | /* avertv-303.h - Keytable for avertv_303 Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* AVERTV STUDIO 303 Remote */ | ||
16 | |||
17 | static struct rc_map_table avertv_303[] = { | ||
18 | { 0x2a, KEY_1 }, | ||
19 | { 0x32, KEY_2 }, | ||
20 | { 0x3a, KEY_3 }, | ||
21 | { 0x4a, KEY_4 }, | ||
22 | { 0x52, KEY_5 }, | ||
23 | { 0x5a, KEY_6 }, | ||
24 | { 0x6a, KEY_7 }, | ||
25 | { 0x72, KEY_8 }, | ||
26 | { 0x7a, KEY_9 }, | ||
27 | { 0x0e, KEY_0 }, | ||
28 | |||
29 | { 0x02, KEY_POWER }, | ||
30 | { 0x22, KEY_VIDEO }, | ||
31 | { 0x42, KEY_AUDIO }, | ||
32 | { 0x62, KEY_ZOOM }, | ||
33 | { 0x0a, KEY_TV }, | ||
34 | { 0x12, KEY_CD }, | ||
35 | { 0x1a, KEY_TEXT }, | ||
36 | |||
37 | { 0x16, KEY_SUBTITLE }, | ||
38 | { 0x1e, KEY_REWIND }, | ||
39 | { 0x06, KEY_PRINT }, | ||
40 | |||
41 | { 0x2e, KEY_SEARCH }, | ||
42 | { 0x36, KEY_SLEEP }, | ||
43 | { 0x3e, KEY_SHUFFLE }, | ||
44 | { 0x26, KEY_MUTE }, | ||
45 | |||
46 | { 0x4e, KEY_RECORD }, | ||
47 | { 0x56, KEY_PAUSE }, | ||
48 | { 0x5e, KEY_STOP }, | ||
49 | { 0x46, KEY_PLAY }, | ||
50 | |||
51 | { 0x6e, KEY_RED }, | ||
52 | { 0x0b, KEY_GREEN }, | ||
53 | { 0x66, KEY_YELLOW }, | ||
54 | { 0x03, KEY_BLUE }, | ||
55 | |||
56 | { 0x76, KEY_LEFT }, | ||
57 | { 0x7e, KEY_RIGHT }, | ||
58 | { 0x13, KEY_DOWN }, | ||
59 | { 0x1b, KEY_UP }, | ||
60 | }; | ||
61 | |||
62 | static struct rc_map_list avertv_303_map = { | ||
63 | .map = { | ||
64 | .scan = avertv_303, | ||
65 | .size = ARRAY_SIZE(avertv_303), | ||
66 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
67 | .name = RC_MAP_AVERTV_303, | ||
68 | } | ||
69 | }; | ||
70 | |||
71 | static int __init init_rc_map_avertv_303(void) | ||
72 | { | ||
73 | return rc_map_register(&avertv_303_map); | ||
74 | } | ||
75 | |||
76 | static void __exit exit_rc_map_avertv_303(void) | ||
77 | { | ||
78 | rc_map_unregister(&avertv_303_map); | ||
79 | } | ||
80 | |||
81 | module_init(init_rc_map_avertv_303) | ||
82 | module_exit(exit_rc_map_avertv_303) | ||
83 | |||
84 | MODULE_LICENSE("GPL"); | ||
85 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-azurewave-ad-tu700.c b/drivers/media/rc/keymaps/rc-azurewave-ad-tu700.c new file mode 100644 index 000000000000..c3f6d62ac892 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-azurewave-ad-tu700.c | |||
@@ -0,0 +1,102 @@ | |||
1 | /* | ||
2 | * TwinHan AzureWave AD-TU700(704J) remote controller keytable | ||
3 | * | ||
4 | * Copyright (C) 2010 Antti Palosaari <crope@iki.fi> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License along | ||
17 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||
19 | */ | ||
20 | |||
21 | #include <media/rc-map.h> | ||
22 | |||
23 | static struct rc_map_table azurewave_ad_tu700[] = { | ||
24 | { 0x0000, KEY_TAB }, /* Tab */ | ||
25 | { 0x0001, KEY_2 }, | ||
26 | { 0x0002, KEY_CHANNELDOWN }, | ||
27 | { 0x0003, KEY_1 }, | ||
28 | { 0x0004, KEY_MENU }, /* Record List */ | ||
29 | { 0x0005, KEY_CHANNELUP }, | ||
30 | { 0x0006, KEY_3 }, | ||
31 | { 0x0007, KEY_SLEEP }, /* Hibernate */ | ||
32 | { 0x0008, KEY_VIDEO }, /* A/V */ | ||
33 | { 0x0009, KEY_4 }, | ||
34 | { 0x000a, KEY_VOLUMEDOWN }, | ||
35 | { 0x000c, KEY_CANCEL }, /* Cancel */ | ||
36 | { 0x000d, KEY_7 }, | ||
37 | { 0x000e, KEY_AGAIN }, /* Recall */ | ||
38 | { 0x000f, KEY_TEXT }, /* Teletext */ | ||
39 | { 0x0010, KEY_MUTE }, | ||
40 | { 0x0011, KEY_RECORD }, | ||
41 | { 0x0012, KEY_FASTFORWARD }, /* FF >> */ | ||
42 | { 0x0013, KEY_BACK }, /* Back */ | ||
43 | { 0x0014, KEY_PLAY }, | ||
44 | { 0x0015, KEY_0 }, | ||
45 | { 0x0016, KEY_POWER2 }, /* [red power button] */ | ||
46 | { 0x0017, KEY_FAVORITES }, /* Favorite List */ | ||
47 | { 0x0018, KEY_RED }, | ||
48 | { 0x0019, KEY_8 }, | ||
49 | { 0x001a, KEY_STOP }, | ||
50 | { 0x001b, KEY_9 }, | ||
51 | { 0x001c, KEY_EPG }, /* Info/EPG */ | ||
52 | { 0x001d, KEY_5 }, | ||
53 | { 0x001e, KEY_VOLUMEUP }, | ||
54 | { 0x001f, KEY_6 }, | ||
55 | { 0x0040, KEY_REWIND }, /* FR << */ | ||
56 | { 0x0041, KEY_PREVIOUS }, /* Replay */ | ||
57 | { 0x0042, KEY_NEXT }, /* Skip */ | ||
58 | { 0x0043, KEY_SUBTITLE }, /* Subtitle / CC */ | ||
59 | { 0x0045, KEY_KPPLUS }, /* Zoom+ */ | ||
60 | { 0x0046, KEY_KPMINUS }, /* Zoom- */ | ||
61 | { 0x0047, KEY_NEW }, /* PIP */ | ||
62 | { 0x0048, KEY_INFO }, /* Preview */ | ||
63 | { 0x0049, KEY_MODE }, /* L/R */ | ||
64 | { 0x004a, KEY_CLEAR }, /* Clear */ | ||
65 | { 0x004b, KEY_UP }, /* up arrow */ | ||
66 | { 0x004c, KEY_PAUSE }, | ||
67 | { 0x004d, KEY_ZOOM }, /* Full Screen */ | ||
68 | { 0x004e, KEY_LEFT }, /* left arrow */ | ||
69 | { 0x004f, KEY_OK }, /* Enter / ok */ | ||
70 | { 0x0050, KEY_LANGUAGE }, /* SAP */ | ||
71 | { 0x0051, KEY_DOWN }, /* down arrow */ | ||
72 | { 0x0052, KEY_RIGHT }, /* right arrow */ | ||
73 | { 0x0053, KEY_GREEN }, | ||
74 | { 0x0054, KEY_CAMERA }, /* Capture */ | ||
75 | { 0x005e, KEY_YELLOW }, | ||
76 | { 0x005f, KEY_BLUE }, | ||
77 | }; | ||
78 | |||
79 | static struct rc_map_list azurewave_ad_tu700_map = { | ||
80 | .map = { | ||
81 | .scan = azurewave_ad_tu700, | ||
82 | .size = ARRAY_SIZE(azurewave_ad_tu700), | ||
83 | .rc_type = RC_TYPE_NEC, | ||
84 | .name = RC_MAP_AZUREWAVE_AD_TU700, | ||
85 | } | ||
86 | }; | ||
87 | |||
88 | static int __init init_rc_map_azurewave_ad_tu700(void) | ||
89 | { | ||
90 | return rc_map_register(&azurewave_ad_tu700_map); | ||
91 | } | ||
92 | |||
93 | static void __exit exit_rc_map_azurewave_ad_tu700(void) | ||
94 | { | ||
95 | rc_map_unregister(&azurewave_ad_tu700_map); | ||
96 | } | ||
97 | |||
98 | module_init(init_rc_map_azurewave_ad_tu700) | ||
99 | module_exit(exit_rc_map_azurewave_ad_tu700) | ||
100 | |||
101 | MODULE_LICENSE("GPL"); | ||
102 | MODULE_AUTHOR("Antti Palosaari <crope@iki.fi>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-behold-columbus.c b/drivers/media/rc/keymaps/rc-behold-columbus.c new file mode 100644 index 000000000000..4b787fa94f08 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-behold-columbus.c | |||
@@ -0,0 +1,108 @@ | |||
1 | /* behold-columbus.h - Keytable for behold_columbus Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* Beholder Intl. Ltd. 2008 | ||
16 | * Dmitry Belimov d.belimov@google.com | ||
17 | * Keytable is used by BeholdTV Columbus | ||
18 | * The "ascii-art picture" below (in comments, first row | ||
19 | * is the keycode in hex, and subsequent row(s) shows | ||
20 | * the button labels (several variants when appropriate) | ||
21 | * helps to descide which keycodes to assign to the buttons. | ||
22 | */ | ||
23 | |||
24 | static struct rc_map_table behold_columbus[] = { | ||
25 | |||
26 | /* 0x13 0x11 0x1C 0x12 * | ||
27 | * Mute Source TV/FM Power * | ||
28 | * */ | ||
29 | |||
30 | { 0x13, KEY_MUTE }, | ||
31 | { 0x11, KEY_PROPS }, | ||
32 | { 0x1C, KEY_TUNER }, /* KEY_TV/KEY_RADIO */ | ||
33 | { 0x12, KEY_POWER }, | ||
34 | |||
35 | /* 0x01 0x02 0x03 0x0D * | ||
36 | * 1 2 3 Stereo * | ||
37 | * * | ||
38 | * 0x04 0x05 0x06 0x19 * | ||
39 | * 4 5 6 Snapshot * | ||
40 | * * | ||
41 | * 0x07 0x08 0x09 0x10 * | ||
42 | * 7 8 9 Zoom * | ||
43 | * */ | ||
44 | { 0x01, KEY_1 }, | ||
45 | { 0x02, KEY_2 }, | ||
46 | { 0x03, KEY_3 }, | ||
47 | { 0x0D, KEY_SETUP }, /* Setup key */ | ||
48 | { 0x04, KEY_4 }, | ||
49 | { 0x05, KEY_5 }, | ||
50 | { 0x06, KEY_6 }, | ||
51 | { 0x19, KEY_CAMERA }, /* Snapshot key */ | ||
52 | { 0x07, KEY_7 }, | ||
53 | { 0x08, KEY_8 }, | ||
54 | { 0x09, KEY_9 }, | ||
55 | { 0x10, KEY_ZOOM }, | ||
56 | |||
57 | /* 0x0A 0x00 0x0B 0x0C * | ||
58 | * RECALL 0 ChannelUp VolumeUp * | ||
59 | * */ | ||
60 | { 0x0A, KEY_AGAIN }, | ||
61 | { 0x00, KEY_0 }, | ||
62 | { 0x0B, KEY_CHANNELUP }, | ||
63 | { 0x0C, KEY_VOLUMEUP }, | ||
64 | |||
65 | /* 0x1B 0x1D 0x15 0x18 * | ||
66 | * Timeshift Record ChannelDown VolumeDown * | ||
67 | * */ | ||
68 | |||
69 | { 0x1B, KEY_TIME }, | ||
70 | { 0x1D, KEY_RECORD }, | ||
71 | { 0x15, KEY_CHANNELDOWN }, | ||
72 | { 0x18, KEY_VOLUMEDOWN }, | ||
73 | |||
74 | /* 0x0E 0x1E 0x0F 0x1A * | ||
75 | * Stop Pause Previouse Next * | ||
76 | * */ | ||
77 | |||
78 | { 0x0E, KEY_STOP }, | ||
79 | { 0x1E, KEY_PAUSE }, | ||
80 | { 0x0F, KEY_PREVIOUS }, | ||
81 | { 0x1A, KEY_NEXT }, | ||
82 | |||
83 | }; | ||
84 | |||
85 | static struct rc_map_list behold_columbus_map = { | ||
86 | .map = { | ||
87 | .scan = behold_columbus, | ||
88 | .size = ARRAY_SIZE(behold_columbus), | ||
89 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
90 | .name = RC_MAP_BEHOLD_COLUMBUS, | ||
91 | } | ||
92 | }; | ||
93 | |||
94 | static int __init init_rc_map_behold_columbus(void) | ||
95 | { | ||
96 | return rc_map_register(&behold_columbus_map); | ||
97 | } | ||
98 | |||
99 | static void __exit exit_rc_map_behold_columbus(void) | ||
100 | { | ||
101 | rc_map_unregister(&behold_columbus_map); | ||
102 | } | ||
103 | |||
104 | module_init(init_rc_map_behold_columbus) | ||
105 | module_exit(exit_rc_map_behold_columbus) | ||
106 | |||
107 | MODULE_LICENSE("GPL"); | ||
108 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-behold.c b/drivers/media/rc/keymaps/rc-behold.c new file mode 100644 index 000000000000..0ee1f149364c --- /dev/null +++ b/drivers/media/rc/keymaps/rc-behold.c | |||
@@ -0,0 +1,141 @@ | |||
1 | /* behold.h - Keytable for behold Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* | ||
16 | * Igor Kuznetsov <igk72@ya.ru> | ||
17 | * Andrey J. Melnikov <temnota@kmv.ru> | ||
18 | * | ||
19 | * Keytable is used by BeholdTV 60x series, M6 series at | ||
20 | * least, and probably other cards too. | ||
21 | * The "ascii-art picture" below (in comments, first row | ||
22 | * is the keycode in hex, and subsequent row(s) shows | ||
23 | * the button labels (several variants when appropriate) | ||
24 | * helps to descide which keycodes to assign to the buttons. | ||
25 | */ | ||
26 | |||
27 | static struct rc_map_table behold[] = { | ||
28 | |||
29 | /* 0x1c 0x12 * | ||
30 | * TV/FM POWER * | ||
31 | * */ | ||
32 | { 0x6b861c, KEY_TUNER }, /* XXX KEY_TV / KEY_RADIO */ | ||
33 | { 0x6b8612, KEY_POWER }, | ||
34 | |||
35 | /* 0x01 0x02 0x03 * | ||
36 | * 1 2 3 * | ||
37 | * * | ||
38 | * 0x04 0x05 0x06 * | ||
39 | * 4 5 6 * | ||
40 | * * | ||
41 | * 0x07 0x08 0x09 * | ||
42 | * 7 8 9 * | ||
43 | * */ | ||
44 | { 0x6b8601, KEY_1 }, | ||
45 | { 0x6b8602, KEY_2 }, | ||
46 | { 0x6b8603, KEY_3 }, | ||
47 | { 0x6b8604, KEY_4 }, | ||
48 | { 0x6b8605, KEY_5 }, | ||
49 | { 0x6b8606, KEY_6 }, | ||
50 | { 0x6b8607, KEY_7 }, | ||
51 | { 0x6b8608, KEY_8 }, | ||
52 | { 0x6b8609, KEY_9 }, | ||
53 | |||
54 | /* 0x0a 0x00 0x17 * | ||
55 | * RECALL 0 MODE * | ||
56 | * */ | ||
57 | { 0x6b860a, KEY_AGAIN }, | ||
58 | { 0x6b8600, KEY_0 }, | ||
59 | { 0x6b8617, KEY_MODE }, | ||
60 | |||
61 | /* 0x14 0x10 * | ||
62 | * ASPECT FULLSCREEN * | ||
63 | * */ | ||
64 | { 0x6b8614, KEY_SCREEN }, | ||
65 | { 0x6b8610, KEY_ZOOM }, | ||
66 | |||
67 | /* 0x0b * | ||
68 | * Up * | ||
69 | * * | ||
70 | * 0x18 0x16 0x0c * | ||
71 | * Left Ok Right * | ||
72 | * * | ||
73 | * 0x015 * | ||
74 | * Down * | ||
75 | * */ | ||
76 | { 0x6b860b, KEY_CHANNELUP }, | ||
77 | { 0x6b8618, KEY_VOLUMEDOWN }, | ||
78 | { 0x6b8616, KEY_OK }, /* XXX KEY_ENTER */ | ||
79 | { 0x6b860c, KEY_VOLUMEUP }, | ||
80 | { 0x6b8615, KEY_CHANNELDOWN }, | ||
81 | |||
82 | /* 0x11 0x0d * | ||
83 | * MUTE INFO * | ||
84 | * */ | ||
85 | { 0x6b8611, KEY_MUTE }, | ||
86 | { 0x6b860d, KEY_INFO }, | ||
87 | |||
88 | /* 0x0f 0x1b 0x1a * | ||
89 | * RECORD PLAY/PAUSE STOP * | ||
90 | * * | ||
91 | * 0x0e 0x1f 0x1e * | ||
92 | *TELETEXT AUDIO SOURCE * | ||
93 | * RED YELLOW * | ||
94 | * */ | ||
95 | { 0x6b860f, KEY_RECORD }, | ||
96 | { 0x6b861b, KEY_PLAYPAUSE }, | ||
97 | { 0x6b861a, KEY_STOP }, | ||
98 | { 0x6b860e, KEY_TEXT }, | ||
99 | { 0x6b861f, KEY_RED }, /*XXX KEY_AUDIO */ | ||
100 | { 0x6b861e, KEY_YELLOW }, /*XXX KEY_SOURCE */ | ||
101 | |||
102 | /* 0x1d 0x13 0x19 * | ||
103 | * SLEEP PREVIEW DVB * | ||
104 | * GREEN BLUE * | ||
105 | * */ | ||
106 | { 0x6b861d, KEY_SLEEP }, | ||
107 | { 0x6b8613, KEY_GREEN }, | ||
108 | { 0x6b8619, KEY_BLUE }, /* XXX KEY_SAT */ | ||
109 | |||
110 | /* 0x58 0x5c * | ||
111 | * FREEZE SNAPSHOT * | ||
112 | * */ | ||
113 | { 0x6b8658, KEY_SLOW }, | ||
114 | { 0x6b865c, KEY_CAMERA }, | ||
115 | |||
116 | }; | ||
117 | |||
118 | static struct rc_map_list behold_map = { | ||
119 | .map = { | ||
120 | .scan = behold, | ||
121 | .size = ARRAY_SIZE(behold), | ||
122 | .rc_type = RC_TYPE_NEC, | ||
123 | .name = RC_MAP_BEHOLD, | ||
124 | } | ||
125 | }; | ||
126 | |||
127 | static int __init init_rc_map_behold(void) | ||
128 | { | ||
129 | return rc_map_register(&behold_map); | ||
130 | } | ||
131 | |||
132 | static void __exit exit_rc_map_behold(void) | ||
133 | { | ||
134 | rc_map_unregister(&behold_map); | ||
135 | } | ||
136 | |||
137 | module_init(init_rc_map_behold) | ||
138 | module_exit(exit_rc_map_behold) | ||
139 | |||
140 | MODULE_LICENSE("GPL"); | ||
141 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-budget-ci-old.c b/drivers/media/rc/keymaps/rc-budget-ci-old.c new file mode 100644 index 000000000000..97fc3862f608 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-budget-ci-old.c | |||
@@ -0,0 +1,92 @@ | |||
1 | /* budget-ci-old.h - Keytable for budget_ci_old Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* From reading the following remotes: | ||
16 | * Zenith Universal 7 / TV Mode 807 / VCR Mode 837 | ||
17 | * Hauppauge (from NOVA-CI-s box product) | ||
18 | * This is a "middle of the road" approach, differences are noted | ||
19 | */ | ||
20 | |||
21 | static struct rc_map_table budget_ci_old[] = { | ||
22 | { 0x00, KEY_0 }, | ||
23 | { 0x01, KEY_1 }, | ||
24 | { 0x02, KEY_2 }, | ||
25 | { 0x03, KEY_3 }, | ||
26 | { 0x04, KEY_4 }, | ||
27 | { 0x05, KEY_5 }, | ||
28 | { 0x06, KEY_6 }, | ||
29 | { 0x07, KEY_7 }, | ||
30 | { 0x08, KEY_8 }, | ||
31 | { 0x09, KEY_9 }, | ||
32 | { 0x0a, KEY_ENTER }, | ||
33 | { 0x0b, KEY_RED }, | ||
34 | { 0x0c, KEY_POWER }, /* RADIO on Hauppauge */ | ||
35 | { 0x0d, KEY_MUTE }, | ||
36 | { 0x0f, KEY_A }, /* TV on Hauppauge */ | ||
37 | { 0x10, KEY_VOLUMEUP }, | ||
38 | { 0x11, KEY_VOLUMEDOWN }, | ||
39 | { 0x14, KEY_B }, | ||
40 | { 0x1c, KEY_UP }, | ||
41 | { 0x1d, KEY_DOWN }, | ||
42 | { 0x1e, KEY_OPTION }, /* RESERVED on Hauppauge */ | ||
43 | { 0x1f, KEY_BREAK }, | ||
44 | { 0x20, KEY_CHANNELUP }, | ||
45 | { 0x21, KEY_CHANNELDOWN }, | ||
46 | { 0x22, KEY_PREVIOUS }, /* Prev Ch on Zenith, SOURCE on Hauppauge */ | ||
47 | { 0x24, KEY_RESTART }, | ||
48 | { 0x25, KEY_OK }, | ||
49 | { 0x26, KEY_CYCLEWINDOWS }, /* MINIMIZE on Hauppauge */ | ||
50 | { 0x28, KEY_ENTER }, /* VCR mode on Zenith */ | ||
51 | { 0x29, KEY_PAUSE }, | ||
52 | { 0x2b, KEY_RIGHT }, | ||
53 | { 0x2c, KEY_LEFT }, | ||
54 | { 0x2e, KEY_MENU }, /* FULL SCREEN on Hauppauge */ | ||
55 | { 0x30, KEY_SLOW }, | ||
56 | { 0x31, KEY_PREVIOUS }, /* VCR mode on Zenith */ | ||
57 | { 0x32, KEY_REWIND }, | ||
58 | { 0x34, KEY_FASTFORWARD }, | ||
59 | { 0x35, KEY_PLAY }, | ||
60 | { 0x36, KEY_STOP }, | ||
61 | { 0x37, KEY_RECORD }, | ||
62 | { 0x38, KEY_TUNER }, /* TV/VCR on Zenith */ | ||
63 | { 0x3a, KEY_C }, | ||
64 | { 0x3c, KEY_EXIT }, | ||
65 | { 0x3d, KEY_POWER2 }, | ||
66 | { 0x3e, KEY_TUNER }, | ||
67 | }; | ||
68 | |||
69 | static struct rc_map_list budget_ci_old_map = { | ||
70 | .map = { | ||
71 | .scan = budget_ci_old, | ||
72 | .size = ARRAY_SIZE(budget_ci_old), | ||
73 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
74 | .name = RC_MAP_BUDGET_CI_OLD, | ||
75 | } | ||
76 | }; | ||
77 | |||
78 | static int __init init_rc_map_budget_ci_old(void) | ||
79 | { | ||
80 | return rc_map_register(&budget_ci_old_map); | ||
81 | } | ||
82 | |||
83 | static void __exit exit_rc_map_budget_ci_old(void) | ||
84 | { | ||
85 | rc_map_unregister(&budget_ci_old_map); | ||
86 | } | ||
87 | |||
88 | module_init(init_rc_map_budget_ci_old) | ||
89 | module_exit(exit_rc_map_budget_ci_old) | ||
90 | |||
91 | MODULE_LICENSE("GPL"); | ||
92 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-cinergy-1400.c b/drivers/media/rc/keymaps/rc-cinergy-1400.c new file mode 100644 index 000000000000..284534b67e7d --- /dev/null +++ b/drivers/media/rc/keymaps/rc-cinergy-1400.c | |||
@@ -0,0 +1,84 @@ | |||
1 | /* cinergy-1400.h - Keytable for cinergy_1400 Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* Cinergy 1400 DVB-T */ | ||
16 | |||
17 | static struct rc_map_table cinergy_1400[] = { | ||
18 | { 0x01, KEY_POWER }, | ||
19 | { 0x02, KEY_1 }, | ||
20 | { 0x03, KEY_2 }, | ||
21 | { 0x04, KEY_3 }, | ||
22 | { 0x05, KEY_4 }, | ||
23 | { 0x06, KEY_5 }, | ||
24 | { 0x07, KEY_6 }, | ||
25 | { 0x08, KEY_7 }, | ||
26 | { 0x09, KEY_8 }, | ||
27 | { 0x0a, KEY_9 }, | ||
28 | { 0x0c, KEY_0 }, | ||
29 | |||
30 | { 0x0b, KEY_VIDEO }, | ||
31 | { 0x0d, KEY_REFRESH }, | ||
32 | { 0x0e, KEY_SELECT }, | ||
33 | { 0x0f, KEY_EPG }, | ||
34 | { 0x10, KEY_UP }, | ||
35 | { 0x11, KEY_LEFT }, | ||
36 | { 0x12, KEY_OK }, | ||
37 | { 0x13, KEY_RIGHT }, | ||
38 | { 0x14, KEY_DOWN }, | ||
39 | { 0x15, KEY_TEXT }, | ||
40 | { 0x16, KEY_INFO }, | ||
41 | |||
42 | { 0x17, KEY_RED }, | ||
43 | { 0x18, KEY_GREEN }, | ||
44 | { 0x19, KEY_YELLOW }, | ||
45 | { 0x1a, KEY_BLUE }, | ||
46 | |||
47 | { 0x1b, KEY_CHANNELUP }, | ||
48 | { 0x1c, KEY_VOLUMEUP }, | ||
49 | { 0x1d, KEY_MUTE }, | ||
50 | { 0x1e, KEY_VOLUMEDOWN }, | ||
51 | { 0x1f, KEY_CHANNELDOWN }, | ||
52 | |||
53 | { 0x40, KEY_PAUSE }, | ||
54 | { 0x4c, KEY_PLAY }, | ||
55 | { 0x58, KEY_RECORD }, | ||
56 | { 0x54, KEY_PREVIOUS }, | ||
57 | { 0x48, KEY_STOP }, | ||
58 | { 0x5c, KEY_NEXT }, | ||
59 | }; | ||
60 | |||
61 | static struct rc_map_list cinergy_1400_map = { | ||
62 | .map = { | ||
63 | .scan = cinergy_1400, | ||
64 | .size = ARRAY_SIZE(cinergy_1400), | ||
65 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
66 | .name = RC_MAP_CINERGY_1400, | ||
67 | } | ||
68 | }; | ||
69 | |||
70 | static int __init init_rc_map_cinergy_1400(void) | ||
71 | { | ||
72 | return rc_map_register(&cinergy_1400_map); | ||
73 | } | ||
74 | |||
75 | static void __exit exit_rc_map_cinergy_1400(void) | ||
76 | { | ||
77 | rc_map_unregister(&cinergy_1400_map); | ||
78 | } | ||
79 | |||
80 | module_init(init_rc_map_cinergy_1400) | ||
81 | module_exit(exit_rc_map_cinergy_1400) | ||
82 | |||
83 | MODULE_LICENSE("GPL"); | ||
84 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-cinergy.c b/drivers/media/rc/keymaps/rc-cinergy.c new file mode 100644 index 000000000000..99520ff65b61 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-cinergy.c | |||
@@ -0,0 +1,78 @@ | |||
1 | /* cinergy.h - Keytable for cinergy Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | static struct rc_map_table cinergy[] = { | ||
16 | { 0x00, KEY_0 }, | ||
17 | { 0x01, KEY_1 }, | ||
18 | { 0x02, KEY_2 }, | ||
19 | { 0x03, KEY_3 }, | ||
20 | { 0x04, KEY_4 }, | ||
21 | { 0x05, KEY_5 }, | ||
22 | { 0x06, KEY_6 }, | ||
23 | { 0x07, KEY_7 }, | ||
24 | { 0x08, KEY_8 }, | ||
25 | { 0x09, KEY_9 }, | ||
26 | |||
27 | { 0x0a, KEY_POWER }, | ||
28 | { 0x0b, KEY_PROG1 }, /* app */ | ||
29 | { 0x0c, KEY_ZOOM }, /* zoom/fullscreen */ | ||
30 | { 0x0d, KEY_CHANNELUP }, /* channel */ | ||
31 | { 0x0e, KEY_CHANNELDOWN }, /* channel- */ | ||
32 | { 0x0f, KEY_VOLUMEUP }, | ||
33 | { 0x10, KEY_VOLUMEDOWN }, | ||
34 | { 0x11, KEY_TUNER }, /* AV */ | ||
35 | { 0x12, KEY_NUMLOCK }, /* -/-- */ | ||
36 | { 0x13, KEY_AUDIO }, /* audio */ | ||
37 | { 0x14, KEY_MUTE }, | ||
38 | { 0x15, KEY_UP }, | ||
39 | { 0x16, KEY_DOWN }, | ||
40 | { 0x17, KEY_LEFT }, | ||
41 | { 0x18, KEY_RIGHT }, | ||
42 | { 0x19, BTN_LEFT, }, | ||
43 | { 0x1a, BTN_RIGHT, }, | ||
44 | { 0x1b, KEY_WWW }, /* text */ | ||
45 | { 0x1c, KEY_REWIND }, | ||
46 | { 0x1d, KEY_FORWARD }, | ||
47 | { 0x1e, KEY_RECORD }, | ||
48 | { 0x1f, KEY_PLAY }, | ||
49 | { 0x20, KEY_PREVIOUSSONG }, | ||
50 | { 0x21, KEY_NEXTSONG }, | ||
51 | { 0x22, KEY_PAUSE }, | ||
52 | { 0x23, KEY_STOP }, | ||
53 | }; | ||
54 | |||
55 | static struct rc_map_list cinergy_map = { | ||
56 | .map = { | ||
57 | .scan = cinergy, | ||
58 | .size = ARRAY_SIZE(cinergy), | ||
59 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
60 | .name = RC_MAP_CINERGY, | ||
61 | } | ||
62 | }; | ||
63 | |||
64 | static int __init init_rc_map_cinergy(void) | ||
65 | { | ||
66 | return rc_map_register(&cinergy_map); | ||
67 | } | ||
68 | |||
69 | static void __exit exit_rc_map_cinergy(void) | ||
70 | { | ||
71 | rc_map_unregister(&cinergy_map); | ||
72 | } | ||
73 | |||
74 | module_init(init_rc_map_cinergy) | ||
75 | module_exit(exit_rc_map_cinergy) | ||
76 | |||
77 | MODULE_LICENSE("GPL"); | ||
78 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-dib0700-nec.c b/drivers/media/rc/keymaps/rc-dib0700-nec.c new file mode 100644 index 000000000000..c59851b203da --- /dev/null +++ b/drivers/media/rc/keymaps/rc-dib0700-nec.c | |||
@@ -0,0 +1,124 @@ | |||
1 | /* rc-dvb0700-big.c - Keytable for devices in dvb0700 | ||
2 | * | ||
3 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
4 | * | ||
5 | * TODO: This table is a real mess, as it merges RC codes from several | ||
6 | * devices into a big table. It also has both RC-5 and NEC codes inside. | ||
7 | * It should be broken into small tables, and the protocols should properly | ||
8 | * be indentificated. | ||
9 | * | ||
10 | * The table were imported from dib0700_devices.c. | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or modify | ||
13 | * it under the terms of the GNU General Public License as published by | ||
14 | * the Free Software Foundation; either version 2 of the License, or | ||
15 | * (at your option) any later version. | ||
16 | */ | ||
17 | |||
18 | #include <media/rc-map.h> | ||
19 | |||
20 | static struct rc_map_table dib0700_nec_table[] = { | ||
21 | /* Key codes for the Pixelview SBTVD remote */ | ||
22 | { 0x8613, KEY_MUTE }, | ||
23 | { 0x8612, KEY_POWER }, | ||
24 | { 0x8601, KEY_1 }, | ||
25 | { 0x8602, KEY_2 }, | ||
26 | { 0x8603, KEY_3 }, | ||
27 | { 0x8604, KEY_4 }, | ||
28 | { 0x8605, KEY_5 }, | ||
29 | { 0x8606, KEY_6 }, | ||
30 | { 0x8607, KEY_7 }, | ||
31 | { 0x8608, KEY_8 }, | ||
32 | { 0x8609, KEY_9 }, | ||
33 | { 0x8600, KEY_0 }, | ||
34 | { 0x860d, KEY_CHANNELUP }, | ||
35 | { 0x8619, KEY_CHANNELDOWN }, | ||
36 | { 0x8610, KEY_VOLUMEUP }, | ||
37 | { 0x860c, KEY_VOLUMEDOWN }, | ||
38 | |||
39 | { 0x860a, KEY_CAMERA }, | ||
40 | { 0x860b, KEY_ZOOM }, | ||
41 | { 0x861b, KEY_BACKSPACE }, | ||
42 | { 0x8615, KEY_ENTER }, | ||
43 | |||
44 | { 0x861d, KEY_UP }, | ||
45 | { 0x861e, KEY_DOWN }, | ||
46 | { 0x860e, KEY_LEFT }, | ||
47 | { 0x860f, KEY_RIGHT }, | ||
48 | |||
49 | { 0x8618, KEY_RECORD }, | ||
50 | { 0x861a, KEY_STOP }, | ||
51 | |||
52 | /* Key codes for the EvolutePC TVWay+ remote */ | ||
53 | { 0x7a00, KEY_MENU }, | ||
54 | { 0x7a01, KEY_RECORD }, | ||
55 | { 0x7a02, KEY_PLAY }, | ||
56 | { 0x7a03, KEY_STOP }, | ||
57 | { 0x7a10, KEY_CHANNELUP }, | ||
58 | { 0x7a11, KEY_CHANNELDOWN }, | ||
59 | { 0x7a12, KEY_VOLUMEUP }, | ||
60 | { 0x7a13, KEY_VOLUMEDOWN }, | ||
61 | { 0x7a40, KEY_POWER }, | ||
62 | { 0x7a41, KEY_MUTE }, | ||
63 | |||
64 | /* Key codes for the Elgato EyeTV Diversity silver remote */ | ||
65 | { 0x4501, KEY_POWER }, | ||
66 | { 0x4502, KEY_MUTE }, | ||
67 | { 0x4503, KEY_1 }, | ||
68 | { 0x4504, KEY_2 }, | ||
69 | { 0x4505, KEY_3 }, | ||
70 | { 0x4506, KEY_4 }, | ||
71 | { 0x4507, KEY_5 }, | ||
72 | { 0x4508, KEY_6 }, | ||
73 | { 0x4509, KEY_7 }, | ||
74 | { 0x450a, KEY_8 }, | ||
75 | { 0x450b, KEY_9 }, | ||
76 | { 0x450c, KEY_LAST }, | ||
77 | { 0x450d, KEY_0 }, | ||
78 | { 0x450e, KEY_ENTER }, | ||
79 | { 0x450f, KEY_RED }, | ||
80 | { 0x4510, KEY_CHANNELUP }, | ||
81 | { 0x4511, KEY_GREEN }, | ||
82 | { 0x4512, KEY_VOLUMEDOWN }, | ||
83 | { 0x4513, KEY_OK }, | ||
84 | { 0x4514, KEY_VOLUMEUP }, | ||
85 | { 0x4515, KEY_YELLOW }, | ||
86 | { 0x4516, KEY_CHANNELDOWN }, | ||
87 | { 0x4517, KEY_BLUE }, | ||
88 | { 0x4518, KEY_LEFT }, /* Skip backwards */ | ||
89 | { 0x4519, KEY_PLAYPAUSE }, | ||
90 | { 0x451a, KEY_RIGHT }, /* Skip forward */ | ||
91 | { 0x451b, KEY_REWIND }, | ||
92 | { 0x451c, KEY_L }, /* Live */ | ||
93 | { 0x451d, KEY_FASTFORWARD }, | ||
94 | { 0x451e, KEY_STOP }, /* 'Reveal' for Teletext */ | ||
95 | { 0x451f, KEY_MENU }, /* KEY_TEXT for Teletext */ | ||
96 | { 0x4540, KEY_RECORD }, /* Font 'Size' for Teletext */ | ||
97 | { 0x4541, KEY_SCREEN }, /* Full screen toggle, 'Hold' for Teletext */ | ||
98 | { 0x4542, KEY_SELECT }, /* Select video input, 'Select' for Teletext */ | ||
99 | }; | ||
100 | |||
101 | static struct rc_map_list dib0700_nec_map = { | ||
102 | .map = { | ||
103 | .scan = dib0700_nec_table, | ||
104 | .size = ARRAY_SIZE(dib0700_nec_table), | ||
105 | .rc_type = RC_TYPE_NEC, | ||
106 | .name = RC_MAP_DIB0700_NEC_TABLE, | ||
107 | } | ||
108 | }; | ||
109 | |||
110 | static int __init init_rc_map(void) | ||
111 | { | ||
112 | return rc_map_register(&dib0700_nec_map); | ||
113 | } | ||
114 | |||
115 | static void __exit exit_rc_map(void) | ||
116 | { | ||
117 | rc_map_unregister(&dib0700_nec_map); | ||
118 | } | ||
119 | |||
120 | module_init(init_rc_map) | ||
121 | module_exit(exit_rc_map) | ||
122 | |||
123 | MODULE_LICENSE("GPL"); | ||
124 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-dib0700-rc5.c b/drivers/media/rc/keymaps/rc-dib0700-rc5.c new file mode 100644 index 000000000000..4af12e45dfba --- /dev/null +++ b/drivers/media/rc/keymaps/rc-dib0700-rc5.c | |||
@@ -0,0 +1,235 @@ | |||
1 | /* rc-dvb0700-big.c - Keytable for devices in dvb0700 | ||
2 | * | ||
3 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
4 | * | ||
5 | * TODO: This table is a real mess, as it merges RC codes from several | ||
6 | * devices into a big table. It also has both RC-5 and NEC codes inside. | ||
7 | * It should be broken into small tables, and the protocols should properly | ||
8 | * be indentificated. | ||
9 | * | ||
10 | * The table were imported from dib0700_devices.c. | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or modify | ||
13 | * it under the terms of the GNU General Public License as published by | ||
14 | * the Free Software Foundation; either version 2 of the License, or | ||
15 | * (at your option) any later version. | ||
16 | */ | ||
17 | |||
18 | #include <media/rc-map.h> | ||
19 | |||
20 | static struct rc_map_table dib0700_rc5_table[] = { | ||
21 | /* Key codes for the tiny Pinnacle remote*/ | ||
22 | { 0x0700, KEY_MUTE }, | ||
23 | { 0x0701, KEY_MENU }, /* Pinnacle logo */ | ||
24 | { 0x0739, KEY_POWER }, | ||
25 | { 0x0703, KEY_VOLUMEUP }, | ||
26 | { 0x0709, KEY_VOLUMEDOWN }, | ||
27 | { 0x0706, KEY_CHANNELUP }, | ||
28 | { 0x070c, KEY_CHANNELDOWN }, | ||
29 | { 0x070f, KEY_1 }, | ||
30 | { 0x0715, KEY_2 }, | ||
31 | { 0x0710, KEY_3 }, | ||
32 | { 0x0718, KEY_4 }, | ||
33 | { 0x071b, KEY_5 }, | ||
34 | { 0x071e, KEY_6 }, | ||
35 | { 0x0711, KEY_7 }, | ||
36 | { 0x0721, KEY_8 }, | ||
37 | { 0x0712, KEY_9 }, | ||
38 | { 0x0727, KEY_0 }, | ||
39 | { 0x0724, KEY_SCREEN }, /* 'Square' key */ | ||
40 | { 0x072a, KEY_TEXT }, /* 'T' key */ | ||
41 | { 0x072d, KEY_REWIND }, | ||
42 | { 0x0730, KEY_PLAY }, | ||
43 | { 0x0733, KEY_FASTFORWARD }, | ||
44 | { 0x0736, KEY_RECORD }, | ||
45 | { 0x073c, KEY_STOP }, | ||
46 | { 0x073f, KEY_CANCEL }, /* '?' key */ | ||
47 | |||
48 | /* Key codes for the Terratec Cinergy DT XS Diversity, similar to cinergyT2.c */ | ||
49 | { 0xeb01, KEY_POWER }, | ||
50 | { 0xeb02, KEY_1 }, | ||
51 | { 0xeb03, KEY_2 }, | ||
52 | { 0xeb04, KEY_3 }, | ||
53 | { 0xeb05, KEY_4 }, | ||
54 | { 0xeb06, KEY_5 }, | ||
55 | { 0xeb07, KEY_6 }, | ||
56 | { 0xeb08, KEY_7 }, | ||
57 | { 0xeb09, KEY_8 }, | ||
58 | { 0xeb0a, KEY_9 }, | ||
59 | { 0xeb0b, KEY_VIDEO }, | ||
60 | { 0xeb0c, KEY_0 }, | ||
61 | { 0xeb0d, KEY_REFRESH }, | ||
62 | { 0xeb0f, KEY_EPG }, | ||
63 | { 0xeb10, KEY_UP }, | ||
64 | { 0xeb11, KEY_LEFT }, | ||
65 | { 0xeb12, KEY_OK }, | ||
66 | { 0xeb13, KEY_RIGHT }, | ||
67 | { 0xeb14, KEY_DOWN }, | ||
68 | { 0xeb16, KEY_INFO }, | ||
69 | { 0xeb17, KEY_RED }, | ||
70 | { 0xeb18, KEY_GREEN }, | ||
71 | { 0xeb19, KEY_YELLOW }, | ||
72 | { 0xeb1a, KEY_BLUE }, | ||
73 | { 0xeb1b, KEY_CHANNELUP }, | ||
74 | { 0xeb1c, KEY_VOLUMEUP }, | ||
75 | { 0xeb1d, KEY_MUTE }, | ||
76 | { 0xeb1e, KEY_VOLUMEDOWN }, | ||
77 | { 0xeb1f, KEY_CHANNELDOWN }, | ||
78 | { 0xeb40, KEY_PAUSE }, | ||
79 | { 0xeb41, KEY_HOME }, | ||
80 | { 0xeb42, KEY_MENU }, /* DVD Menu */ | ||
81 | { 0xeb43, KEY_SUBTITLE }, | ||
82 | { 0xeb44, KEY_TEXT }, /* Teletext */ | ||
83 | { 0xeb45, KEY_DELETE }, | ||
84 | { 0xeb46, KEY_TV }, | ||
85 | { 0xeb47, KEY_DVD }, | ||
86 | { 0xeb48, KEY_STOP }, | ||
87 | { 0xeb49, KEY_VIDEO }, | ||
88 | { 0xeb4a, KEY_AUDIO }, /* Music */ | ||
89 | { 0xeb4b, KEY_SCREEN }, /* Pic */ | ||
90 | { 0xeb4c, KEY_PLAY }, | ||
91 | { 0xeb4d, KEY_BACK }, | ||
92 | { 0xeb4e, KEY_REWIND }, | ||
93 | { 0xeb4f, KEY_FASTFORWARD }, | ||
94 | { 0xeb54, KEY_PREVIOUS }, | ||
95 | { 0xeb58, KEY_RECORD }, | ||
96 | { 0xeb5c, KEY_NEXT }, | ||
97 | |||
98 | /* Key codes for the Haupauge WinTV Nova-TD, copied from nova-t-usb2.c (Nova-T USB2) */ | ||
99 | { 0x1e00, KEY_0 }, | ||
100 | { 0x1e01, KEY_1 }, | ||
101 | { 0x1e02, KEY_2 }, | ||
102 | { 0x1e03, KEY_3 }, | ||
103 | { 0x1e04, KEY_4 }, | ||
104 | { 0x1e05, KEY_5 }, | ||
105 | { 0x1e06, KEY_6 }, | ||
106 | { 0x1e07, KEY_7 }, | ||
107 | { 0x1e08, KEY_8 }, | ||
108 | { 0x1e09, KEY_9 }, | ||
109 | { 0x1e0a, KEY_KPASTERISK }, | ||
110 | { 0x1e0b, KEY_RED }, | ||
111 | { 0x1e0c, KEY_RADIO }, | ||
112 | { 0x1e0d, KEY_MENU }, | ||
113 | { 0x1e0e, KEY_GRAVE }, /* # */ | ||
114 | { 0x1e0f, KEY_MUTE }, | ||
115 | { 0x1e10, KEY_VOLUMEUP }, | ||
116 | { 0x1e11, KEY_VOLUMEDOWN }, | ||
117 | { 0x1e12, KEY_CHANNEL }, | ||
118 | { 0x1e14, KEY_UP }, | ||
119 | { 0x1e15, KEY_DOWN }, | ||
120 | { 0x1e16, KEY_LEFT }, | ||
121 | { 0x1e17, KEY_RIGHT }, | ||
122 | { 0x1e18, KEY_VIDEO }, | ||
123 | { 0x1e19, KEY_AUDIO }, | ||
124 | { 0x1e1a, KEY_MEDIA }, | ||
125 | { 0x1e1b, KEY_EPG }, | ||
126 | { 0x1e1c, KEY_TV }, | ||
127 | { 0x1e1e, KEY_NEXT }, | ||
128 | { 0x1e1f, KEY_BACK }, | ||
129 | { 0x1e20, KEY_CHANNELUP }, | ||
130 | { 0x1e21, KEY_CHANNELDOWN }, | ||
131 | { 0x1e24, KEY_LAST }, /* Skip backwards */ | ||
132 | { 0x1e25, KEY_OK }, | ||
133 | { 0x1e29, KEY_BLUE}, | ||
134 | { 0x1e2e, KEY_GREEN }, | ||
135 | { 0x1e30, KEY_PAUSE }, | ||
136 | { 0x1e32, KEY_REWIND }, | ||
137 | { 0x1e34, KEY_FASTFORWARD }, | ||
138 | { 0x1e35, KEY_PLAY }, | ||
139 | { 0x1e36, KEY_STOP }, | ||
140 | { 0x1e37, KEY_RECORD }, | ||
141 | { 0x1e38, KEY_YELLOW }, | ||
142 | { 0x1e3b, KEY_GOTO }, | ||
143 | { 0x1e3d, KEY_POWER }, | ||
144 | |||
145 | /* Key codes for the Leadtek Winfast DTV Dongle */ | ||
146 | { 0x0042, KEY_POWER }, | ||
147 | { 0x077c, KEY_TUNER }, | ||
148 | { 0x0f4e, KEY_PRINT }, /* PREVIEW */ | ||
149 | { 0x0840, KEY_SCREEN }, /* full screen toggle*/ | ||
150 | { 0x0f71, KEY_DOT }, /* frequency */ | ||
151 | { 0x0743, KEY_0 }, | ||
152 | { 0x0c41, KEY_1 }, | ||
153 | { 0x0443, KEY_2 }, | ||
154 | { 0x0b7f, KEY_3 }, | ||
155 | { 0x0e41, KEY_4 }, | ||
156 | { 0x0643, KEY_5 }, | ||
157 | { 0x097f, KEY_6 }, | ||
158 | { 0x0d7e, KEY_7 }, | ||
159 | { 0x057c, KEY_8 }, | ||
160 | { 0x0a40, KEY_9 }, | ||
161 | { 0x0e4e, KEY_CLEAR }, | ||
162 | { 0x047c, KEY_CHANNEL }, /* show channel number */ | ||
163 | { 0x0f41, KEY_LAST }, /* recall */ | ||
164 | { 0x0342, KEY_MUTE }, | ||
165 | { 0x064c, KEY_RESERVED }, /* PIP button*/ | ||
166 | { 0x0172, KEY_SHUFFLE }, /* SNAPSHOT */ | ||
167 | { 0x0c4e, KEY_PLAYPAUSE }, /* TIMESHIFT */ | ||
168 | { 0x0b70, KEY_RECORD }, | ||
169 | { 0x037d, KEY_VOLUMEUP }, | ||
170 | { 0x017d, KEY_VOLUMEDOWN }, | ||
171 | { 0x0242, KEY_CHANNELUP }, | ||
172 | { 0x007d, KEY_CHANNELDOWN }, | ||
173 | |||
174 | /* Key codes for Nova-TD "credit card" remote control. */ | ||
175 | { 0x1d00, KEY_0 }, | ||
176 | { 0x1d01, KEY_1 }, | ||
177 | { 0x1d02, KEY_2 }, | ||
178 | { 0x1d03, KEY_3 }, | ||
179 | { 0x1d04, KEY_4 }, | ||
180 | { 0x1d05, KEY_5 }, | ||
181 | { 0x1d06, KEY_6 }, | ||
182 | { 0x1d07, KEY_7 }, | ||
183 | { 0x1d08, KEY_8 }, | ||
184 | { 0x1d09, KEY_9 }, | ||
185 | { 0x1d0a, KEY_TEXT }, | ||
186 | { 0x1d0d, KEY_MENU }, | ||
187 | { 0x1d0f, KEY_MUTE }, | ||
188 | { 0x1d10, KEY_VOLUMEUP }, | ||
189 | { 0x1d11, KEY_VOLUMEDOWN }, | ||
190 | { 0x1d12, KEY_CHANNEL }, | ||
191 | { 0x1d14, KEY_UP }, | ||
192 | { 0x1d15, KEY_DOWN }, | ||
193 | { 0x1d16, KEY_LEFT }, | ||
194 | { 0x1d17, KEY_RIGHT }, | ||
195 | { 0x1d1c, KEY_TV }, | ||
196 | { 0x1d1e, KEY_NEXT }, | ||
197 | { 0x1d1f, KEY_BACK }, | ||
198 | { 0x1d20, KEY_CHANNELUP }, | ||
199 | { 0x1d21, KEY_CHANNELDOWN }, | ||
200 | { 0x1d24, KEY_LAST }, | ||
201 | { 0x1d25, KEY_OK }, | ||
202 | { 0x1d30, KEY_PAUSE }, | ||
203 | { 0x1d32, KEY_REWIND }, | ||
204 | { 0x1d34, KEY_FASTFORWARD }, | ||
205 | { 0x1d35, KEY_PLAY }, | ||
206 | { 0x1d36, KEY_STOP }, | ||
207 | { 0x1d37, KEY_RECORD }, | ||
208 | { 0x1d3b, KEY_GOTO }, | ||
209 | { 0x1d3d, KEY_POWER }, | ||
210 | }; | ||
211 | |||
212 | static struct rc_map_list dib0700_rc5_map = { | ||
213 | .map = { | ||
214 | .scan = dib0700_rc5_table, | ||
215 | .size = ARRAY_SIZE(dib0700_rc5_table), | ||
216 | .rc_type = RC_TYPE_RC5, | ||
217 | .name = RC_MAP_DIB0700_RC5_TABLE, | ||
218 | } | ||
219 | }; | ||
220 | |||
221 | static int __init init_rc_map(void) | ||
222 | { | ||
223 | return rc_map_register(&dib0700_rc5_map); | ||
224 | } | ||
225 | |||
226 | static void __exit exit_rc_map(void) | ||
227 | { | ||
228 | rc_map_unregister(&dib0700_rc5_map); | ||
229 | } | ||
230 | |||
231 | module_init(init_rc_map) | ||
232 | module_exit(exit_rc_map) | ||
233 | |||
234 | MODULE_LICENSE("GPL"); | ||
235 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-digitalnow-tinytwin.c b/drivers/media/rc/keymaps/rc-digitalnow-tinytwin.c new file mode 100644 index 000000000000..f68b450f5593 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-digitalnow-tinytwin.c | |||
@@ -0,0 +1,98 @@ | |||
1 | /* | ||
2 | * DigitalNow TinyTwin remote controller keytable | ||
3 | * | ||
4 | * Copyright (C) 2010 Antti Palosaari <crope@iki.fi> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License along | ||
17 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||
19 | */ | ||
20 | |||
21 | #include <media/rc-map.h> | ||
22 | |||
23 | static struct rc_map_table digitalnow_tinytwin[] = { | ||
24 | { 0x0000, KEY_MUTE }, /* [symbol speaker] */ | ||
25 | { 0x0001, KEY_VOLUMEUP }, | ||
26 | { 0x0002, KEY_POWER2 }, /* TV [power button] */ | ||
27 | { 0x0003, KEY_2 }, | ||
28 | { 0x0004, KEY_3 }, | ||
29 | { 0x0005, KEY_4 }, | ||
30 | { 0x0006, KEY_6 }, | ||
31 | { 0x0007, KEY_7 }, | ||
32 | { 0x0008, KEY_8 }, | ||
33 | { 0x0009, KEY_NUMERIC_STAR }, /* [*] */ | ||
34 | { 0x000a, KEY_0 }, | ||
35 | { 0x000b, KEY_NUMERIC_POUND }, /* [#] */ | ||
36 | { 0x000c, KEY_RIGHT }, /* [right arrow] */ | ||
37 | { 0x000d, KEY_HOMEPAGE }, /* [symbol home] Start */ | ||
38 | { 0x000e, KEY_RED }, /* [red] Videos */ | ||
39 | { 0x0010, KEY_POWER }, /* PC [power button] */ | ||
40 | { 0x0011, KEY_YELLOW }, /* [yellow] Pictures */ | ||
41 | { 0x0012, KEY_DOWN }, /* [down arrow] */ | ||
42 | { 0x0013, KEY_GREEN }, /* [green] Music */ | ||
43 | { 0x0014, KEY_CYCLEWINDOWS }, /* BACK */ | ||
44 | { 0x0015, KEY_FAVORITES }, /* MORE */ | ||
45 | { 0x0016, KEY_UP }, /* [up arrow] */ | ||
46 | { 0x0017, KEY_LEFT }, /* [left arrow] */ | ||
47 | { 0x0018, KEY_OK }, /* OK */ | ||
48 | { 0x0019, KEY_BLUE }, /* [blue] MyTV */ | ||
49 | { 0x001a, KEY_REWIND }, /* REW [<<] */ | ||
50 | { 0x001b, KEY_PLAY }, /* PLAY */ | ||
51 | { 0x001c, KEY_5 }, | ||
52 | { 0x001d, KEY_9 }, | ||
53 | { 0x001e, KEY_VOLUMEDOWN }, | ||
54 | { 0x001f, KEY_1 }, | ||
55 | { 0x0040, KEY_STOP }, /* STOP */ | ||
56 | { 0x0042, KEY_PAUSE }, /* PAUSE */ | ||
57 | { 0x0043, KEY_SCREEN }, /* Aspect */ | ||
58 | { 0x0044, KEY_FORWARD }, /* FWD [>>] */ | ||
59 | { 0x0045, KEY_NEXT }, /* SKIP */ | ||
60 | { 0x0048, KEY_RECORD }, /* RECORD */ | ||
61 | { 0x0049, KEY_VIDEO }, /* RTV */ | ||
62 | { 0x004a, KEY_EPG }, /* Guide */ | ||
63 | { 0x004b, KEY_CHANNELUP }, | ||
64 | { 0x004c, KEY_HELP }, /* Help */ | ||
65 | { 0x004d, KEY_RADIO }, /* Radio */ | ||
66 | { 0x004f, KEY_CHANNELDOWN }, | ||
67 | { 0x0050, KEY_DVD }, /* DVD */ | ||
68 | { 0x0051, KEY_AUDIO }, /* Audio */ | ||
69 | { 0x0052, KEY_TITLE }, /* Title */ | ||
70 | { 0x0053, KEY_NEW }, /* [symbol PIP?] */ | ||
71 | { 0x0057, KEY_MENU }, /* Mouse */ | ||
72 | { 0x005a, KEY_PREVIOUS }, /* REPLAY */ | ||
73 | }; | ||
74 | |||
75 | static struct rc_map_list digitalnow_tinytwin_map = { | ||
76 | .map = { | ||
77 | .scan = digitalnow_tinytwin, | ||
78 | .size = ARRAY_SIZE(digitalnow_tinytwin), | ||
79 | .rc_type = RC_TYPE_NEC, | ||
80 | .name = RC_MAP_DIGITALNOW_TINYTWIN, | ||
81 | } | ||
82 | }; | ||
83 | |||
84 | static int __init init_rc_map_digitalnow_tinytwin(void) | ||
85 | { | ||
86 | return rc_map_register(&digitalnow_tinytwin_map); | ||
87 | } | ||
88 | |||
89 | static void __exit exit_rc_map_digitalnow_tinytwin(void) | ||
90 | { | ||
91 | rc_map_unregister(&digitalnow_tinytwin_map); | ||
92 | } | ||
93 | |||
94 | module_init(init_rc_map_digitalnow_tinytwin) | ||
95 | module_exit(exit_rc_map_digitalnow_tinytwin) | ||
96 | |||
97 | MODULE_LICENSE("GPL"); | ||
98 | MODULE_AUTHOR("Antti Palosaari <crope@iki.fi>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-digittrade.c b/drivers/media/rc/keymaps/rc-digittrade.c new file mode 100644 index 000000000000..21d49871f2a3 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-digittrade.c | |||
@@ -0,0 +1,82 @@ | |||
1 | /* | ||
2 | * Digittrade DVB-T USB Stick remote controller keytable | ||
3 | * | ||
4 | * Copyright (C) 2010 Antti Palosaari <crope@iki.fi> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License along | ||
17 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||
19 | */ | ||
20 | |||
21 | #include <media/rc-map.h> | ||
22 | |||
23 | /* Digittrade DVB-T USB Stick remote controller. */ | ||
24 | /* Imported from af9015.h. | ||
25 | Initial keytable was from Alain Kalker <miki@dds.nl> */ | ||
26 | |||
27 | /* Digittrade DVB-T USB Stick */ | ||
28 | static struct rc_map_table digittrade[] = { | ||
29 | { 0x0000, KEY_9 }, | ||
30 | { 0x0001, KEY_EPG }, /* EPG */ | ||
31 | { 0x0002, KEY_VOLUMEDOWN }, /* Vol Dn */ | ||
32 | { 0x0003, KEY_TEXT }, /* TELETEXT */ | ||
33 | { 0x0004, KEY_8 }, | ||
34 | { 0x0005, KEY_MUTE }, /* MUTE */ | ||
35 | { 0x0006, KEY_POWER2 }, /* POWER */ | ||
36 | { 0x0009, KEY_ZOOM }, /* FULLSCREEN */ | ||
37 | { 0x000a, KEY_RECORD }, /* RECORD */ | ||
38 | { 0x000d, KEY_SUBTITLE }, /* SUBTITLE */ | ||
39 | { 0x000e, KEY_STOP }, /* STOP */ | ||
40 | { 0x0010, KEY_OK }, /* RETURN */ | ||
41 | { 0x0011, KEY_2 }, | ||
42 | { 0x0012, KEY_4 }, | ||
43 | { 0x0015, KEY_3 }, | ||
44 | { 0x0016, KEY_5 }, | ||
45 | { 0x0017, KEY_CHANNELDOWN }, /* Ch Dn */ | ||
46 | { 0x0019, KEY_CHANNELUP }, /* CH Up */ | ||
47 | { 0x001a, KEY_PAUSE }, /* PAUSE */ | ||
48 | { 0x001b, KEY_1 }, | ||
49 | { 0x001d, KEY_AUDIO }, /* DUAL SOUND */ | ||
50 | { 0x001e, KEY_PLAY }, /* PLAY */ | ||
51 | { 0x001f, KEY_CAMERA }, /* SNAPSHOT */ | ||
52 | { 0x0040, KEY_VOLUMEUP }, /* Vol Up */ | ||
53 | { 0x0048, KEY_7 }, | ||
54 | { 0x004c, KEY_6 }, | ||
55 | { 0x004d, KEY_PLAYPAUSE }, /* TIMESHIFT */ | ||
56 | { 0x0054, KEY_0 }, | ||
57 | }; | ||
58 | |||
59 | static struct rc_map_list digittrade_map = { | ||
60 | .map = { | ||
61 | .scan = digittrade, | ||
62 | .size = ARRAY_SIZE(digittrade), | ||
63 | .rc_type = RC_TYPE_NEC, | ||
64 | .name = RC_MAP_DIGITTRADE, | ||
65 | } | ||
66 | }; | ||
67 | |||
68 | static int __init init_rc_map_digittrade(void) | ||
69 | { | ||
70 | return rc_map_register(&digittrade_map); | ||
71 | } | ||
72 | |||
73 | static void __exit exit_rc_map_digittrade(void) | ||
74 | { | ||
75 | rc_map_unregister(&digittrade_map); | ||
76 | } | ||
77 | |||
78 | module_init(init_rc_map_digittrade) | ||
79 | module_exit(exit_rc_map_digittrade) | ||
80 | |||
81 | MODULE_LICENSE("GPL"); | ||
82 | MODULE_AUTHOR("Antti Palosaari <crope@iki.fi>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-dm1105-nec.c b/drivers/media/rc/keymaps/rc-dm1105-nec.c new file mode 100644 index 000000000000..d024fbf88bc4 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-dm1105-nec.c | |||
@@ -0,0 +1,76 @@ | |||
1 | /* dm1105-nec.h - Keytable for dm1105_nec Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* DVBWorld remotes | ||
16 | Igor M. Liplianin <liplianin@me.by> | ||
17 | */ | ||
18 | |||
19 | static struct rc_map_table dm1105_nec[] = { | ||
20 | { 0x0a, KEY_POWER2}, /* power */ | ||
21 | { 0x0c, KEY_MUTE}, /* mute */ | ||
22 | { 0x11, KEY_1}, | ||
23 | { 0x12, KEY_2}, | ||
24 | { 0x13, KEY_3}, | ||
25 | { 0x14, KEY_4}, | ||
26 | { 0x15, KEY_5}, | ||
27 | { 0x16, KEY_6}, | ||
28 | { 0x17, KEY_7}, | ||
29 | { 0x18, KEY_8}, | ||
30 | { 0x19, KEY_9}, | ||
31 | { 0x10, KEY_0}, | ||
32 | { 0x1c, KEY_CHANNELUP}, /* ch+ */ | ||
33 | { 0x0f, KEY_CHANNELDOWN}, /* ch- */ | ||
34 | { 0x1a, KEY_VOLUMEUP}, /* vol+ */ | ||
35 | { 0x0e, KEY_VOLUMEDOWN}, /* vol- */ | ||
36 | { 0x04, KEY_RECORD}, /* rec */ | ||
37 | { 0x09, KEY_CHANNEL}, /* fav */ | ||
38 | { 0x08, KEY_BACKSPACE}, /* rewind */ | ||
39 | { 0x07, KEY_FASTFORWARD}, /* fast */ | ||
40 | { 0x0b, KEY_PAUSE}, /* pause */ | ||
41 | { 0x02, KEY_ESC}, /* cancel */ | ||
42 | { 0x03, KEY_TAB}, /* tab */ | ||
43 | { 0x00, KEY_UP}, /* up */ | ||
44 | { 0x1f, KEY_ENTER}, /* ok */ | ||
45 | { 0x01, KEY_DOWN}, /* down */ | ||
46 | { 0x05, KEY_RECORD}, /* cap */ | ||
47 | { 0x06, KEY_STOP}, /* stop */ | ||
48 | { 0x40, KEY_ZOOM}, /* full */ | ||
49 | { 0x1e, KEY_TV}, /* tvmode */ | ||
50 | { 0x1b, KEY_B}, /* recall */ | ||
51 | }; | ||
52 | |||
53 | static struct rc_map_list dm1105_nec_map = { | ||
54 | .map = { | ||
55 | .scan = dm1105_nec, | ||
56 | .size = ARRAY_SIZE(dm1105_nec), | ||
57 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
58 | .name = RC_MAP_DM1105_NEC, | ||
59 | } | ||
60 | }; | ||
61 | |||
62 | static int __init init_rc_map_dm1105_nec(void) | ||
63 | { | ||
64 | return rc_map_register(&dm1105_nec_map); | ||
65 | } | ||
66 | |||
67 | static void __exit exit_rc_map_dm1105_nec(void) | ||
68 | { | ||
69 | rc_map_unregister(&dm1105_nec_map); | ||
70 | } | ||
71 | |||
72 | module_init(init_rc_map_dm1105_nec) | ||
73 | module_exit(exit_rc_map_dm1105_nec) | ||
74 | |||
75 | MODULE_LICENSE("GPL"); | ||
76 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-dntv-live-dvb-t.c b/drivers/media/rc/keymaps/rc-dntv-live-dvb-t.c new file mode 100644 index 000000000000..43912bd02a9e --- /dev/null +++ b/drivers/media/rc/keymaps/rc-dntv-live-dvb-t.c | |||
@@ -0,0 +1,78 @@ | |||
1 | /* dntv-live-dvb-t.h - Keytable for dntv_live_dvb_t Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* DigitalNow DNTV Live DVB-T Remote */ | ||
16 | |||
17 | static struct rc_map_table dntv_live_dvb_t[] = { | ||
18 | { 0x00, KEY_ESC }, /* 'go up a level?' */ | ||
19 | /* Keys 0 to 9 */ | ||
20 | { 0x0a, KEY_0 }, | ||
21 | { 0x01, KEY_1 }, | ||
22 | { 0x02, KEY_2 }, | ||
23 | { 0x03, KEY_3 }, | ||
24 | { 0x04, KEY_4 }, | ||
25 | { 0x05, KEY_5 }, | ||
26 | { 0x06, KEY_6 }, | ||
27 | { 0x07, KEY_7 }, | ||
28 | { 0x08, KEY_8 }, | ||
29 | { 0x09, KEY_9 }, | ||
30 | |||
31 | { 0x0b, KEY_TUNER }, /* tv/fm */ | ||
32 | { 0x0c, KEY_SEARCH }, /* scan */ | ||
33 | { 0x0d, KEY_STOP }, | ||
34 | { 0x0e, KEY_PAUSE }, | ||
35 | { 0x0f, KEY_LIST }, /* source */ | ||
36 | |||
37 | { 0x10, KEY_MUTE }, | ||
38 | { 0x11, KEY_REWIND }, /* backward << */ | ||
39 | { 0x12, KEY_POWER }, | ||
40 | { 0x13, KEY_CAMERA }, /* snap */ | ||
41 | { 0x14, KEY_AUDIO }, /* stereo */ | ||
42 | { 0x15, KEY_CLEAR }, /* reset */ | ||
43 | { 0x16, KEY_PLAY }, | ||
44 | { 0x17, KEY_ENTER }, | ||
45 | { 0x18, KEY_ZOOM }, /* full screen */ | ||
46 | { 0x19, KEY_FASTFORWARD }, /* forward >> */ | ||
47 | { 0x1a, KEY_CHANNELUP }, | ||
48 | { 0x1b, KEY_VOLUMEUP }, | ||
49 | { 0x1c, KEY_INFO }, /* preview */ | ||
50 | { 0x1d, KEY_RECORD }, /* record */ | ||
51 | { 0x1e, KEY_CHANNELDOWN }, | ||
52 | { 0x1f, KEY_VOLUMEDOWN }, | ||
53 | }; | ||
54 | |||
55 | static struct rc_map_list dntv_live_dvb_t_map = { | ||
56 | .map = { | ||
57 | .scan = dntv_live_dvb_t, | ||
58 | .size = ARRAY_SIZE(dntv_live_dvb_t), | ||
59 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
60 | .name = RC_MAP_DNTV_LIVE_DVB_T, | ||
61 | } | ||
62 | }; | ||
63 | |||
64 | static int __init init_rc_map_dntv_live_dvb_t(void) | ||
65 | { | ||
66 | return rc_map_register(&dntv_live_dvb_t_map); | ||
67 | } | ||
68 | |||
69 | static void __exit exit_rc_map_dntv_live_dvb_t(void) | ||
70 | { | ||
71 | rc_map_unregister(&dntv_live_dvb_t_map); | ||
72 | } | ||
73 | |||
74 | module_init(init_rc_map_dntv_live_dvb_t) | ||
75 | module_exit(exit_rc_map_dntv_live_dvb_t) | ||
76 | |||
77 | MODULE_LICENSE("GPL"); | ||
78 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-dntv-live-dvbt-pro.c b/drivers/media/rc/keymaps/rc-dntv-live-dvbt-pro.c new file mode 100644 index 000000000000..015e99de06de --- /dev/null +++ b/drivers/media/rc/keymaps/rc-dntv-live-dvbt-pro.c | |||
@@ -0,0 +1,97 @@ | |||
1 | /* dntv-live-dvbt-pro.h - Keytable for dntv_live_dvbt_pro Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* DigitalNow DNTV Live! DVB-T Pro Remote */ | ||
16 | |||
17 | static struct rc_map_table dntv_live_dvbt_pro[] = { | ||
18 | { 0x16, KEY_POWER }, | ||
19 | { 0x5b, KEY_HOME }, | ||
20 | |||
21 | { 0x55, KEY_TV }, /* live tv */ | ||
22 | { 0x58, KEY_TUNER }, /* digital Radio */ | ||
23 | { 0x5a, KEY_RADIO }, /* FM radio */ | ||
24 | { 0x59, KEY_DVD }, /* dvd menu */ | ||
25 | { 0x03, KEY_1 }, | ||
26 | { 0x01, KEY_2 }, | ||
27 | { 0x06, KEY_3 }, | ||
28 | { 0x09, KEY_4 }, | ||
29 | { 0x1d, KEY_5 }, | ||
30 | { 0x1f, KEY_6 }, | ||
31 | { 0x0d, KEY_7 }, | ||
32 | { 0x19, KEY_8 }, | ||
33 | { 0x1b, KEY_9 }, | ||
34 | { 0x0c, KEY_CANCEL }, | ||
35 | { 0x15, KEY_0 }, | ||
36 | { 0x4a, KEY_CLEAR }, | ||
37 | { 0x13, KEY_BACK }, | ||
38 | { 0x00, KEY_TAB }, | ||
39 | { 0x4b, KEY_UP }, | ||
40 | { 0x4e, KEY_LEFT }, | ||
41 | { 0x4f, KEY_OK }, | ||
42 | { 0x52, KEY_RIGHT }, | ||
43 | { 0x51, KEY_DOWN }, | ||
44 | { 0x1e, KEY_VOLUMEUP }, | ||
45 | { 0x0a, KEY_VOLUMEDOWN }, | ||
46 | { 0x02, KEY_CHANNELDOWN }, | ||
47 | { 0x05, KEY_CHANNELUP }, | ||
48 | { 0x11, KEY_RECORD }, | ||
49 | { 0x14, KEY_PLAY }, | ||
50 | { 0x4c, KEY_PAUSE }, | ||
51 | { 0x1a, KEY_STOP }, | ||
52 | { 0x40, KEY_REWIND }, | ||
53 | { 0x12, KEY_FASTFORWARD }, | ||
54 | { 0x41, KEY_PREVIOUSSONG }, /* replay |< */ | ||
55 | { 0x42, KEY_NEXTSONG }, /* skip >| */ | ||
56 | { 0x54, KEY_CAMERA }, /* capture */ | ||
57 | { 0x50, KEY_LANGUAGE }, /* sap */ | ||
58 | { 0x47, KEY_TV2 }, /* pip */ | ||
59 | { 0x4d, KEY_SCREEN }, | ||
60 | { 0x43, KEY_SUBTITLE }, | ||
61 | { 0x10, KEY_MUTE }, | ||
62 | { 0x49, KEY_AUDIO }, /* l/r */ | ||
63 | { 0x07, KEY_SLEEP }, | ||
64 | { 0x08, KEY_VIDEO }, /* a/v */ | ||
65 | { 0x0e, KEY_PREVIOUS }, /* recall */ | ||
66 | { 0x45, KEY_ZOOM }, /* zoom + */ | ||
67 | { 0x46, KEY_ANGLE }, /* zoom - */ | ||
68 | { 0x56, KEY_RED }, | ||
69 | { 0x57, KEY_GREEN }, | ||
70 | { 0x5c, KEY_YELLOW }, | ||
71 | { 0x5d, KEY_BLUE }, | ||
72 | }; | ||
73 | |||
74 | static struct rc_map_list dntv_live_dvbt_pro_map = { | ||
75 | .map = { | ||
76 | .scan = dntv_live_dvbt_pro, | ||
77 | .size = ARRAY_SIZE(dntv_live_dvbt_pro), | ||
78 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
79 | .name = RC_MAP_DNTV_LIVE_DVBT_PRO, | ||
80 | } | ||
81 | }; | ||
82 | |||
83 | static int __init init_rc_map_dntv_live_dvbt_pro(void) | ||
84 | { | ||
85 | return rc_map_register(&dntv_live_dvbt_pro_map); | ||
86 | } | ||
87 | |||
88 | static void __exit exit_rc_map_dntv_live_dvbt_pro(void) | ||
89 | { | ||
90 | rc_map_unregister(&dntv_live_dvbt_pro_map); | ||
91 | } | ||
92 | |||
93 | module_init(init_rc_map_dntv_live_dvbt_pro) | ||
94 | module_exit(exit_rc_map_dntv_live_dvbt_pro) | ||
95 | |||
96 | MODULE_LICENSE("GPL"); | ||
97 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-em-terratec.c b/drivers/media/rc/keymaps/rc-em-terratec.c new file mode 100644 index 000000000000..269d4299da34 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-em-terratec.c | |||
@@ -0,0 +1,69 @@ | |||
1 | /* em-terratec.h - Keytable for em_terratec Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | static struct rc_map_table em_terratec[] = { | ||
16 | { 0x01, KEY_CHANNEL }, | ||
17 | { 0x02, KEY_SELECT }, | ||
18 | { 0x03, KEY_MUTE }, | ||
19 | { 0x04, KEY_POWER }, | ||
20 | { 0x05, KEY_1 }, | ||
21 | { 0x06, KEY_2 }, | ||
22 | { 0x07, KEY_3 }, | ||
23 | { 0x08, KEY_CHANNELUP }, | ||
24 | { 0x09, KEY_4 }, | ||
25 | { 0x0a, KEY_5 }, | ||
26 | { 0x0b, KEY_6 }, | ||
27 | { 0x0c, KEY_CHANNELDOWN }, | ||
28 | { 0x0d, KEY_7 }, | ||
29 | { 0x0e, KEY_8 }, | ||
30 | { 0x0f, KEY_9 }, | ||
31 | { 0x10, KEY_VOLUMEUP }, | ||
32 | { 0x11, KEY_0 }, | ||
33 | { 0x12, KEY_MENU }, | ||
34 | { 0x13, KEY_PRINT }, | ||
35 | { 0x14, KEY_VOLUMEDOWN }, | ||
36 | { 0x16, KEY_PAUSE }, | ||
37 | { 0x18, KEY_RECORD }, | ||
38 | { 0x19, KEY_REWIND }, | ||
39 | { 0x1a, KEY_PLAY }, | ||
40 | { 0x1b, KEY_FORWARD }, | ||
41 | { 0x1c, KEY_BACKSPACE }, | ||
42 | { 0x1e, KEY_STOP }, | ||
43 | { 0x40, KEY_ZOOM }, | ||
44 | }; | ||
45 | |||
46 | static struct rc_map_list em_terratec_map = { | ||
47 | .map = { | ||
48 | .scan = em_terratec, | ||
49 | .size = ARRAY_SIZE(em_terratec), | ||
50 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
51 | .name = RC_MAP_EM_TERRATEC, | ||
52 | } | ||
53 | }; | ||
54 | |||
55 | static int __init init_rc_map_em_terratec(void) | ||
56 | { | ||
57 | return rc_map_register(&em_terratec_map); | ||
58 | } | ||
59 | |||
60 | static void __exit exit_rc_map_em_terratec(void) | ||
61 | { | ||
62 | rc_map_unregister(&em_terratec_map); | ||
63 | } | ||
64 | |||
65 | module_init(init_rc_map_em_terratec) | ||
66 | module_exit(exit_rc_map_em_terratec) | ||
67 | |||
68 | MODULE_LICENSE("GPL"); | ||
69 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-encore-enltv-fm53.c b/drivers/media/rc/keymaps/rc-encore-enltv-fm53.c new file mode 100644 index 000000000000..e388698a0697 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-encore-enltv-fm53.c | |||
@@ -0,0 +1,81 @@ | |||
1 | /* encore-enltv-fm53.h - Keytable for encore_enltv_fm53 Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* Encore ENLTV-FM v5.3 | ||
16 | Mauro Carvalho Chehab <mchehab@infradead.org> | ||
17 | */ | ||
18 | |||
19 | static struct rc_map_table encore_enltv_fm53[] = { | ||
20 | { 0x10, KEY_POWER2}, | ||
21 | { 0x06, KEY_MUTE}, | ||
22 | |||
23 | { 0x09, KEY_1}, | ||
24 | { 0x1d, KEY_2}, | ||
25 | { 0x1f, KEY_3}, | ||
26 | { 0x19, KEY_4}, | ||
27 | { 0x1b, KEY_5}, | ||
28 | { 0x11, KEY_6}, | ||
29 | { 0x17, KEY_7}, | ||
30 | { 0x12, KEY_8}, | ||
31 | { 0x16, KEY_9}, | ||
32 | { 0x48, KEY_0}, | ||
33 | |||
34 | { 0x04, KEY_LIST}, /* -/-- */ | ||
35 | { 0x40, KEY_LAST}, /* recall */ | ||
36 | |||
37 | { 0x02, KEY_MODE}, /* TV/AV */ | ||
38 | { 0x05, KEY_CAMERA}, /* SNAPSHOT */ | ||
39 | |||
40 | { 0x4c, KEY_CHANNELUP}, /* UP */ | ||
41 | { 0x00, KEY_CHANNELDOWN}, /* DOWN */ | ||
42 | { 0x0d, KEY_VOLUMEUP}, /* RIGHT */ | ||
43 | { 0x15, KEY_VOLUMEDOWN}, /* LEFT */ | ||
44 | { 0x49, KEY_ENTER}, /* OK */ | ||
45 | |||
46 | { 0x54, KEY_RECORD}, | ||
47 | { 0x4d, KEY_PLAY}, /* pause */ | ||
48 | |||
49 | { 0x1e, KEY_MENU}, /* video setting */ | ||
50 | { 0x0e, KEY_RIGHT}, /* <- */ | ||
51 | { 0x1a, KEY_LEFT}, /* -> */ | ||
52 | |||
53 | { 0x0a, KEY_CLEAR}, /* video default */ | ||
54 | { 0x0c, KEY_ZOOM}, /* hide pannel */ | ||
55 | { 0x47, KEY_SLEEP}, /* shutdown */ | ||
56 | }; | ||
57 | |||
58 | static struct rc_map_list encore_enltv_fm53_map = { | ||
59 | .map = { | ||
60 | .scan = encore_enltv_fm53, | ||
61 | .size = ARRAY_SIZE(encore_enltv_fm53), | ||
62 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
63 | .name = RC_MAP_ENCORE_ENLTV_FM53, | ||
64 | } | ||
65 | }; | ||
66 | |||
67 | static int __init init_rc_map_encore_enltv_fm53(void) | ||
68 | { | ||
69 | return rc_map_register(&encore_enltv_fm53_map); | ||
70 | } | ||
71 | |||
72 | static void __exit exit_rc_map_encore_enltv_fm53(void) | ||
73 | { | ||
74 | rc_map_unregister(&encore_enltv_fm53_map); | ||
75 | } | ||
76 | |||
77 | module_init(init_rc_map_encore_enltv_fm53) | ||
78 | module_exit(exit_rc_map_encore_enltv_fm53) | ||
79 | |||
80 | MODULE_LICENSE("GPL"); | ||
81 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-encore-enltv.c b/drivers/media/rc/keymaps/rc-encore-enltv.c new file mode 100644 index 000000000000..afa4e92284ef --- /dev/null +++ b/drivers/media/rc/keymaps/rc-encore-enltv.c | |||
@@ -0,0 +1,112 @@ | |||
1 | /* encore-enltv.h - Keytable for encore_enltv Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* Encore ENLTV-FM - black plastic, white front cover with white glowing buttons | ||
16 | Juan Pablo Sormani <sorman@gmail.com> */ | ||
17 | |||
18 | static struct rc_map_table encore_enltv[] = { | ||
19 | |||
20 | /* Power button does nothing, neither in Windows app, | ||
21 | although it sends data (used for BIOS wakeup?) */ | ||
22 | { 0x0d, KEY_MUTE }, | ||
23 | |||
24 | { 0x1e, KEY_TV }, | ||
25 | { 0x00, KEY_VIDEO }, | ||
26 | { 0x01, KEY_AUDIO }, /* music */ | ||
27 | { 0x02, KEY_MHP }, /* picture */ | ||
28 | |||
29 | { 0x1f, KEY_1 }, | ||
30 | { 0x03, KEY_2 }, | ||
31 | { 0x04, KEY_3 }, | ||
32 | { 0x05, KEY_4 }, | ||
33 | { 0x1c, KEY_5 }, | ||
34 | { 0x06, KEY_6 }, | ||
35 | { 0x07, KEY_7 }, | ||
36 | { 0x08, KEY_8 }, | ||
37 | { 0x1d, KEY_9 }, | ||
38 | { 0x0a, KEY_0 }, | ||
39 | |||
40 | { 0x09, KEY_LIST }, /* -/-- */ | ||
41 | { 0x0b, KEY_LAST }, /* recall */ | ||
42 | |||
43 | { 0x14, KEY_HOME }, /* win start menu */ | ||
44 | { 0x15, KEY_EXIT }, /* exit */ | ||
45 | { 0x16, KEY_CHANNELUP }, /* UP */ | ||
46 | { 0x12, KEY_CHANNELDOWN }, /* DOWN */ | ||
47 | { 0x0c, KEY_VOLUMEUP }, /* RIGHT */ | ||
48 | { 0x17, KEY_VOLUMEDOWN }, /* LEFT */ | ||
49 | |||
50 | { 0x18, KEY_ENTER }, /* OK */ | ||
51 | |||
52 | { 0x0e, KEY_ESC }, | ||
53 | { 0x13, KEY_CYCLEWINDOWS }, /* desktop */ | ||
54 | { 0x11, KEY_TAB }, | ||
55 | { 0x19, KEY_SWITCHVIDEOMODE }, /* switch */ | ||
56 | |||
57 | { 0x1a, KEY_MENU }, | ||
58 | { 0x1b, KEY_ZOOM }, /* fullscreen */ | ||
59 | { 0x44, KEY_TIME }, /* time shift */ | ||
60 | { 0x40, KEY_MODE }, /* source */ | ||
61 | |||
62 | { 0x5a, KEY_RECORD }, | ||
63 | { 0x42, KEY_PLAY }, /* play/pause */ | ||
64 | { 0x45, KEY_STOP }, | ||
65 | { 0x43, KEY_CAMERA }, /* camera icon */ | ||
66 | |||
67 | { 0x48, KEY_REWIND }, | ||
68 | { 0x4a, KEY_FASTFORWARD }, | ||
69 | { 0x49, KEY_PREVIOUS }, | ||
70 | { 0x4b, KEY_NEXT }, | ||
71 | |||
72 | { 0x4c, KEY_FAVORITES }, /* tv wall */ | ||
73 | { 0x4d, KEY_SOUND }, /* DVD sound */ | ||
74 | { 0x4e, KEY_LANGUAGE }, /* DVD lang */ | ||
75 | { 0x4f, KEY_TEXT }, /* DVD text */ | ||
76 | |||
77 | { 0x50, KEY_SLEEP }, /* shutdown */ | ||
78 | { 0x51, KEY_MODE }, /* stereo > main */ | ||
79 | { 0x52, KEY_SELECT }, /* stereo > sap */ | ||
80 | { 0x53, KEY_PROG1 }, /* teletext */ | ||
81 | |||
82 | |||
83 | { 0x59, KEY_RED }, /* AP1 */ | ||
84 | { 0x41, KEY_GREEN }, /* AP2 */ | ||
85 | { 0x47, KEY_YELLOW }, /* AP3 */ | ||
86 | { 0x57, KEY_BLUE }, /* AP4 */ | ||
87 | }; | ||
88 | |||
89 | static struct rc_map_list encore_enltv_map = { | ||
90 | .map = { | ||
91 | .scan = encore_enltv, | ||
92 | .size = ARRAY_SIZE(encore_enltv), | ||
93 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
94 | .name = RC_MAP_ENCORE_ENLTV, | ||
95 | } | ||
96 | }; | ||
97 | |||
98 | static int __init init_rc_map_encore_enltv(void) | ||
99 | { | ||
100 | return rc_map_register(&encore_enltv_map); | ||
101 | } | ||
102 | |||
103 | static void __exit exit_rc_map_encore_enltv(void) | ||
104 | { | ||
105 | rc_map_unregister(&encore_enltv_map); | ||
106 | } | ||
107 | |||
108 | module_init(init_rc_map_encore_enltv) | ||
109 | module_exit(exit_rc_map_encore_enltv) | ||
110 | |||
111 | MODULE_LICENSE("GPL"); | ||
112 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-encore-enltv2.c b/drivers/media/rc/keymaps/rc-encore-enltv2.c new file mode 100644 index 000000000000..7d5b00ed4ff2 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-encore-enltv2.c | |||
@@ -0,0 +1,90 @@ | |||
1 | /* encore-enltv2.h - Keytable for encore_enltv2 Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* Encore ENLTV2-FM - silver plastic - "Wand Media" written at the botton | ||
16 | Mauro Carvalho Chehab <mchehab@infradead.org> */ | ||
17 | |||
18 | static struct rc_map_table encore_enltv2[] = { | ||
19 | { 0x4c, KEY_POWER2 }, | ||
20 | { 0x4a, KEY_TUNER }, | ||
21 | { 0x40, KEY_1 }, | ||
22 | { 0x60, KEY_2 }, | ||
23 | { 0x50, KEY_3 }, | ||
24 | { 0x70, KEY_4 }, | ||
25 | { 0x48, KEY_5 }, | ||
26 | { 0x68, KEY_6 }, | ||
27 | { 0x58, KEY_7 }, | ||
28 | { 0x78, KEY_8 }, | ||
29 | { 0x44, KEY_9 }, | ||
30 | { 0x54, KEY_0 }, | ||
31 | |||
32 | { 0x64, KEY_LAST }, /* +100 */ | ||
33 | { 0x4e, KEY_AGAIN }, /* Recall */ | ||
34 | |||
35 | { 0x6c, KEY_SWITCHVIDEOMODE }, /* Video Source */ | ||
36 | { 0x5e, KEY_MENU }, | ||
37 | { 0x56, KEY_SCREEN }, | ||
38 | { 0x7a, KEY_SETUP }, | ||
39 | |||
40 | { 0x46, KEY_MUTE }, | ||
41 | { 0x5c, KEY_MODE }, /* Stereo */ | ||
42 | { 0x74, KEY_INFO }, | ||
43 | { 0x7c, KEY_CLEAR }, | ||
44 | |||
45 | { 0x55, KEY_UP }, | ||
46 | { 0x49, KEY_DOWN }, | ||
47 | { 0x7e, KEY_LEFT }, | ||
48 | { 0x59, KEY_RIGHT }, | ||
49 | { 0x6a, KEY_ENTER }, | ||
50 | |||
51 | { 0x42, KEY_VOLUMEUP }, | ||
52 | { 0x62, KEY_VOLUMEDOWN }, | ||
53 | { 0x52, KEY_CHANNELUP }, | ||
54 | { 0x72, KEY_CHANNELDOWN }, | ||
55 | |||
56 | { 0x41, KEY_RECORD }, | ||
57 | { 0x51, KEY_CAMERA }, /* Snapshot */ | ||
58 | { 0x75, KEY_TIME }, /* Timeshift */ | ||
59 | { 0x71, KEY_TV2 }, /* PIP */ | ||
60 | |||
61 | { 0x45, KEY_REWIND }, | ||
62 | { 0x6f, KEY_PAUSE }, | ||
63 | { 0x7d, KEY_FORWARD }, | ||
64 | { 0x79, KEY_STOP }, | ||
65 | }; | ||
66 | |||
67 | static struct rc_map_list encore_enltv2_map = { | ||
68 | .map = { | ||
69 | .scan = encore_enltv2, | ||
70 | .size = ARRAY_SIZE(encore_enltv2), | ||
71 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
72 | .name = RC_MAP_ENCORE_ENLTV2, | ||
73 | } | ||
74 | }; | ||
75 | |||
76 | static int __init init_rc_map_encore_enltv2(void) | ||
77 | { | ||
78 | return rc_map_register(&encore_enltv2_map); | ||
79 | } | ||
80 | |||
81 | static void __exit exit_rc_map_encore_enltv2(void) | ||
82 | { | ||
83 | rc_map_unregister(&encore_enltv2_map); | ||
84 | } | ||
85 | |||
86 | module_init(init_rc_map_encore_enltv2) | ||
87 | module_exit(exit_rc_map_encore_enltv2) | ||
88 | |||
89 | MODULE_LICENSE("GPL"); | ||
90 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-evga-indtube.c b/drivers/media/rc/keymaps/rc-evga-indtube.c new file mode 100644 index 000000000000..a2bf24f6dfbb --- /dev/null +++ b/drivers/media/rc/keymaps/rc-evga-indtube.c | |||
@@ -0,0 +1,61 @@ | |||
1 | /* evga-indtube.h - Keytable for evga_indtube Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* EVGA inDtube | ||
16 | Devin Heitmueller <devin.heitmueller@gmail.com> | ||
17 | */ | ||
18 | |||
19 | static struct rc_map_table evga_indtube[] = { | ||
20 | { 0x12, KEY_POWER}, | ||
21 | { 0x02, KEY_MODE}, /* TV */ | ||
22 | { 0x14, KEY_MUTE}, | ||
23 | { 0x1a, KEY_CHANNELUP}, | ||
24 | { 0x16, KEY_TV2}, /* PIP */ | ||
25 | { 0x1d, KEY_VOLUMEUP}, | ||
26 | { 0x05, KEY_CHANNELDOWN}, | ||
27 | { 0x0f, KEY_PLAYPAUSE}, | ||
28 | { 0x19, KEY_VOLUMEDOWN}, | ||
29 | { 0x1c, KEY_REWIND}, | ||
30 | { 0x0d, KEY_RECORD}, | ||
31 | { 0x18, KEY_FORWARD}, | ||
32 | { 0x1e, KEY_PREVIOUS}, | ||
33 | { 0x1b, KEY_STOP}, | ||
34 | { 0x1f, KEY_NEXT}, | ||
35 | { 0x13, KEY_CAMERA}, | ||
36 | }; | ||
37 | |||
38 | static struct rc_map_list evga_indtube_map = { | ||
39 | .map = { | ||
40 | .scan = evga_indtube, | ||
41 | .size = ARRAY_SIZE(evga_indtube), | ||
42 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
43 | .name = RC_MAP_EVGA_INDTUBE, | ||
44 | } | ||
45 | }; | ||
46 | |||
47 | static int __init init_rc_map_evga_indtube(void) | ||
48 | { | ||
49 | return rc_map_register(&evga_indtube_map); | ||
50 | } | ||
51 | |||
52 | static void __exit exit_rc_map_evga_indtube(void) | ||
53 | { | ||
54 | rc_map_unregister(&evga_indtube_map); | ||
55 | } | ||
56 | |||
57 | module_init(init_rc_map_evga_indtube) | ||
58 | module_exit(exit_rc_map_evga_indtube) | ||
59 | |||
60 | MODULE_LICENSE("GPL"); | ||
61 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-eztv.c b/drivers/media/rc/keymaps/rc-eztv.c new file mode 100644 index 000000000000..1e8e5b2d6e36 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-eztv.c | |||
@@ -0,0 +1,96 @@ | |||
1 | /* eztv.h - Keytable for eztv Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* Alfons Geser <a.geser@cox.net> | ||
16 | * updates from Job D. R. Borges <jobdrb@ig.com.br> */ | ||
17 | |||
18 | static struct rc_map_table eztv[] = { | ||
19 | { 0x12, KEY_POWER }, | ||
20 | { 0x01, KEY_TV }, /* DVR */ | ||
21 | { 0x15, KEY_DVD }, /* DVD */ | ||
22 | { 0x17, KEY_AUDIO }, /* music */ | ||
23 | /* DVR mode / DVD mode / music mode */ | ||
24 | |||
25 | { 0x1b, KEY_MUTE }, /* mute */ | ||
26 | { 0x02, KEY_LANGUAGE }, /* MTS/SAP / audio / autoseek */ | ||
27 | { 0x1e, KEY_SUBTITLE }, /* closed captioning / subtitle / seek */ | ||
28 | { 0x16, KEY_ZOOM }, /* full screen */ | ||
29 | { 0x1c, KEY_VIDEO }, /* video source / eject / delall */ | ||
30 | { 0x1d, KEY_RESTART }, /* playback / angle / del */ | ||
31 | { 0x2f, KEY_SEARCH }, /* scan / menu / playlist */ | ||
32 | { 0x30, KEY_CHANNEL }, /* CH surfing / bookmark / memo */ | ||
33 | |||
34 | { 0x31, KEY_HELP }, /* help */ | ||
35 | { 0x32, KEY_MODE }, /* num/memo */ | ||
36 | { 0x33, KEY_ESC }, /* cancel */ | ||
37 | |||
38 | { 0x0c, KEY_UP }, /* up */ | ||
39 | { 0x10, KEY_DOWN }, /* down */ | ||
40 | { 0x08, KEY_LEFT }, /* left */ | ||
41 | { 0x04, KEY_RIGHT }, /* right */ | ||
42 | { 0x03, KEY_SELECT }, /* select */ | ||
43 | |||
44 | { 0x1f, KEY_REWIND }, /* rewind */ | ||
45 | { 0x20, KEY_PLAYPAUSE },/* play/pause */ | ||
46 | { 0x29, KEY_FORWARD }, /* forward */ | ||
47 | { 0x14, KEY_AGAIN }, /* repeat */ | ||
48 | { 0x2b, KEY_RECORD }, /* recording */ | ||
49 | { 0x2c, KEY_STOP }, /* stop */ | ||
50 | { 0x2d, KEY_PLAY }, /* play */ | ||
51 | { 0x2e, KEY_CAMERA }, /* snapshot / shuffle */ | ||
52 | |||
53 | { 0x00, KEY_0 }, | ||
54 | { 0x05, KEY_1 }, | ||
55 | { 0x06, KEY_2 }, | ||
56 | { 0x07, KEY_3 }, | ||
57 | { 0x09, KEY_4 }, | ||
58 | { 0x0a, KEY_5 }, | ||
59 | { 0x0b, KEY_6 }, | ||
60 | { 0x0d, KEY_7 }, | ||
61 | { 0x0e, KEY_8 }, | ||
62 | { 0x0f, KEY_9 }, | ||
63 | |||
64 | { 0x2a, KEY_VOLUMEUP }, | ||
65 | { 0x11, KEY_VOLUMEDOWN }, | ||
66 | { 0x18, KEY_CHANNELUP },/* CH.tracking up */ | ||
67 | { 0x19, KEY_CHANNELDOWN },/* CH.tracking down */ | ||
68 | |||
69 | { 0x13, KEY_ENTER }, /* enter */ | ||
70 | { 0x21, KEY_DOT }, /* . (decimal dot) */ | ||
71 | }; | ||
72 | |||
73 | static struct rc_map_list eztv_map = { | ||
74 | .map = { | ||
75 | .scan = eztv, | ||
76 | .size = ARRAY_SIZE(eztv), | ||
77 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
78 | .name = RC_MAP_EZTV, | ||
79 | } | ||
80 | }; | ||
81 | |||
82 | static int __init init_rc_map_eztv(void) | ||
83 | { | ||
84 | return rc_map_register(&eztv_map); | ||
85 | } | ||
86 | |||
87 | static void __exit exit_rc_map_eztv(void) | ||
88 | { | ||
89 | rc_map_unregister(&eztv_map); | ||
90 | } | ||
91 | |||
92 | module_init(init_rc_map_eztv) | ||
93 | module_exit(exit_rc_map_eztv) | ||
94 | |||
95 | MODULE_LICENSE("GPL"); | ||
96 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-flydvb.c b/drivers/media/rc/keymaps/rc-flydvb.c new file mode 100644 index 000000000000..aea2f4acf7d8 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-flydvb.c | |||
@@ -0,0 +1,77 @@ | |||
1 | /* flydvb.h - Keytable for flydvb Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | static struct rc_map_table flydvb[] = { | ||
16 | { 0x01, KEY_ZOOM }, /* Full Screen */ | ||
17 | { 0x00, KEY_POWER }, /* Power */ | ||
18 | |||
19 | { 0x03, KEY_1 }, | ||
20 | { 0x04, KEY_2 }, | ||
21 | { 0x05, KEY_3 }, | ||
22 | { 0x07, KEY_4 }, | ||
23 | { 0x08, KEY_5 }, | ||
24 | { 0x09, KEY_6 }, | ||
25 | { 0x0b, KEY_7 }, | ||
26 | { 0x0c, KEY_8 }, | ||
27 | { 0x0d, KEY_9 }, | ||
28 | { 0x06, KEY_AGAIN }, /* Recall */ | ||
29 | { 0x0f, KEY_0 }, | ||
30 | { 0x10, KEY_MUTE }, /* Mute */ | ||
31 | { 0x02, KEY_RADIO }, /* TV/Radio */ | ||
32 | { 0x1b, KEY_LANGUAGE }, /* SAP (Second Audio Program) */ | ||
33 | |||
34 | { 0x14, KEY_VOLUMEUP }, /* VOL+ */ | ||
35 | { 0x17, KEY_VOLUMEDOWN }, /* VOL- */ | ||
36 | { 0x12, KEY_CHANNELUP }, /* CH+ */ | ||
37 | { 0x13, KEY_CHANNELDOWN }, /* CH- */ | ||
38 | { 0x1d, KEY_ENTER }, /* Enter */ | ||
39 | |||
40 | { 0x1a, KEY_MODE }, /* PIP */ | ||
41 | { 0x18, KEY_TUNER }, /* Source */ | ||
42 | |||
43 | { 0x1e, KEY_RECORD }, /* Record/Pause */ | ||
44 | { 0x15, KEY_ANGLE }, /* Swap (no label on key) */ | ||
45 | { 0x1c, KEY_PAUSE }, /* Timeshift/Pause */ | ||
46 | { 0x19, KEY_BACK }, /* Rewind << */ | ||
47 | { 0x0a, KEY_PLAYPAUSE }, /* Play/Pause */ | ||
48 | { 0x1f, KEY_FORWARD }, /* Forward >> */ | ||
49 | { 0x16, KEY_PREVIOUS }, /* Back |<< */ | ||
50 | { 0x11, KEY_STOP }, /* Stop */ | ||
51 | { 0x0e, KEY_NEXT }, /* End >>| */ | ||
52 | }; | ||
53 | |||
54 | static struct rc_map_list flydvb_map = { | ||
55 | .map = { | ||
56 | .scan = flydvb, | ||
57 | .size = ARRAY_SIZE(flydvb), | ||
58 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
59 | .name = RC_MAP_FLYDVB, | ||
60 | } | ||
61 | }; | ||
62 | |||
63 | static int __init init_rc_map_flydvb(void) | ||
64 | { | ||
65 | return rc_map_register(&flydvb_map); | ||
66 | } | ||
67 | |||
68 | static void __exit exit_rc_map_flydvb(void) | ||
69 | { | ||
70 | rc_map_unregister(&flydvb_map); | ||
71 | } | ||
72 | |||
73 | module_init(init_rc_map_flydvb) | ||
74 | module_exit(exit_rc_map_flydvb) | ||
75 | |||
76 | MODULE_LICENSE("GPL"); | ||
77 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-flyvideo.c b/drivers/media/rc/keymaps/rc-flyvideo.c new file mode 100644 index 000000000000..5bbe68371756 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-flyvideo.c | |||
@@ -0,0 +1,70 @@ | |||
1 | /* flyvideo.h - Keytable for flyvideo Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | static struct rc_map_table flyvideo[] = { | ||
16 | { 0x0f, KEY_0 }, | ||
17 | { 0x03, KEY_1 }, | ||
18 | { 0x04, KEY_2 }, | ||
19 | { 0x05, KEY_3 }, | ||
20 | { 0x07, KEY_4 }, | ||
21 | { 0x08, KEY_5 }, | ||
22 | { 0x09, KEY_6 }, | ||
23 | { 0x0b, KEY_7 }, | ||
24 | { 0x0c, KEY_8 }, | ||
25 | { 0x0d, KEY_9 }, | ||
26 | |||
27 | { 0x0e, KEY_MODE }, /* Air/Cable */ | ||
28 | { 0x11, KEY_VIDEO }, /* Video */ | ||
29 | { 0x15, KEY_AUDIO }, /* Audio */ | ||
30 | { 0x00, KEY_POWER }, /* Power */ | ||
31 | { 0x18, KEY_TUNER }, /* AV Source */ | ||
32 | { 0x02, KEY_ZOOM }, /* Fullscreen */ | ||
33 | { 0x1a, KEY_LANGUAGE }, /* Stereo */ | ||
34 | { 0x1b, KEY_MUTE }, /* Mute */ | ||
35 | { 0x14, KEY_VOLUMEUP }, /* Volume + */ | ||
36 | { 0x17, KEY_VOLUMEDOWN },/* Volume - */ | ||
37 | { 0x12, KEY_CHANNELUP },/* Channel + */ | ||
38 | { 0x13, KEY_CHANNELDOWN },/* Channel - */ | ||
39 | { 0x06, KEY_AGAIN }, /* Recall */ | ||
40 | { 0x10, KEY_ENTER }, /* Enter */ | ||
41 | |||
42 | { 0x19, KEY_BACK }, /* Rewind ( <<< ) */ | ||
43 | { 0x1f, KEY_FORWARD }, /* Forward ( >>> ) */ | ||
44 | { 0x0a, KEY_ANGLE }, /* no label, may be used as the PAUSE button */ | ||
45 | }; | ||
46 | |||
47 | static struct rc_map_list flyvideo_map = { | ||
48 | .map = { | ||
49 | .scan = flyvideo, | ||
50 | .size = ARRAY_SIZE(flyvideo), | ||
51 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
52 | .name = RC_MAP_FLYVIDEO, | ||
53 | } | ||
54 | }; | ||
55 | |||
56 | static int __init init_rc_map_flyvideo(void) | ||
57 | { | ||
58 | return rc_map_register(&flyvideo_map); | ||
59 | } | ||
60 | |||
61 | static void __exit exit_rc_map_flyvideo(void) | ||
62 | { | ||
63 | rc_map_unregister(&flyvideo_map); | ||
64 | } | ||
65 | |||
66 | module_init(init_rc_map_flyvideo) | ||
67 | module_exit(exit_rc_map_flyvideo) | ||
68 | |||
69 | MODULE_LICENSE("GPL"); | ||
70 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-fusionhdtv-mce.c b/drivers/media/rc/keymaps/rc-fusionhdtv-mce.c new file mode 100644 index 000000000000..c80b25c65b57 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-fusionhdtv-mce.c | |||
@@ -0,0 +1,98 @@ | |||
1 | /* fusionhdtv-mce.h - Keytable for fusionhdtv_mce Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* DViCO FUSION HDTV MCE remote */ | ||
16 | |||
17 | static struct rc_map_table fusionhdtv_mce[] = { | ||
18 | |||
19 | { 0x0b, KEY_1 }, | ||
20 | { 0x17, KEY_2 }, | ||
21 | { 0x1b, KEY_3 }, | ||
22 | { 0x07, KEY_4 }, | ||
23 | { 0x50, KEY_5 }, | ||
24 | { 0x54, KEY_6 }, | ||
25 | { 0x48, KEY_7 }, | ||
26 | { 0x4c, KEY_8 }, | ||
27 | { 0x58, KEY_9 }, | ||
28 | { 0x03, KEY_0 }, | ||
29 | |||
30 | { 0x5e, KEY_OK }, | ||
31 | { 0x51, KEY_UP }, | ||
32 | { 0x53, KEY_DOWN }, | ||
33 | { 0x5b, KEY_LEFT }, | ||
34 | { 0x5f, KEY_RIGHT }, | ||
35 | |||
36 | { 0x02, KEY_TV }, /* Labeled DTV on remote */ | ||
37 | { 0x0e, KEY_MP3 }, | ||
38 | { 0x1a, KEY_DVD }, | ||
39 | { 0x1e, KEY_FAVORITES }, /* Labeled CPF on remote */ | ||
40 | { 0x16, KEY_SETUP }, | ||
41 | { 0x46, KEY_POWER2 }, /* TV On/Off button on remote */ | ||
42 | { 0x0a, KEY_EPG }, /* Labeled Guide on remote */ | ||
43 | |||
44 | { 0x49, KEY_BACK }, | ||
45 | { 0x59, KEY_INFO }, /* Labeled MORE on remote */ | ||
46 | { 0x4d, KEY_MENU }, /* Labeled DVDMENU on remote */ | ||
47 | { 0x55, KEY_CYCLEWINDOWS }, /* Labeled ALT-TAB on remote */ | ||
48 | |||
49 | { 0x0f, KEY_PREVIOUSSONG }, /* Labeled |<< REPLAY on remote */ | ||
50 | { 0x12, KEY_NEXTSONG }, /* Labeled >>| SKIP on remote */ | ||
51 | { 0x42, KEY_ENTER }, /* Labeled START with a green | ||
52 | MS windows logo on remote */ | ||
53 | |||
54 | { 0x15, KEY_VOLUMEUP }, | ||
55 | { 0x05, KEY_VOLUMEDOWN }, | ||
56 | { 0x11, KEY_CHANNELUP }, | ||
57 | { 0x09, KEY_CHANNELDOWN }, | ||
58 | |||
59 | { 0x52, KEY_CAMERA }, | ||
60 | { 0x5a, KEY_TUNER }, | ||
61 | { 0x19, KEY_OPEN }, | ||
62 | |||
63 | { 0x13, KEY_MODE }, /* 4:3 16:9 select */ | ||
64 | { 0x1f, KEY_ZOOM }, | ||
65 | |||
66 | { 0x43, KEY_REWIND }, | ||
67 | { 0x47, KEY_PLAYPAUSE }, | ||
68 | { 0x4f, KEY_FASTFORWARD }, | ||
69 | { 0x57, KEY_MUTE }, | ||
70 | { 0x0d, KEY_STOP }, | ||
71 | { 0x01, KEY_RECORD }, | ||
72 | { 0x4e, KEY_POWER }, | ||
73 | }; | ||
74 | |||
75 | static struct rc_map_list fusionhdtv_mce_map = { | ||
76 | .map = { | ||
77 | .scan = fusionhdtv_mce, | ||
78 | .size = ARRAY_SIZE(fusionhdtv_mce), | ||
79 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
80 | .name = RC_MAP_FUSIONHDTV_MCE, | ||
81 | } | ||
82 | }; | ||
83 | |||
84 | static int __init init_rc_map_fusionhdtv_mce(void) | ||
85 | { | ||
86 | return rc_map_register(&fusionhdtv_mce_map); | ||
87 | } | ||
88 | |||
89 | static void __exit exit_rc_map_fusionhdtv_mce(void) | ||
90 | { | ||
91 | rc_map_unregister(&fusionhdtv_mce_map); | ||
92 | } | ||
93 | |||
94 | module_init(init_rc_map_fusionhdtv_mce) | ||
95 | module_exit(exit_rc_map_fusionhdtv_mce) | ||
96 | |||
97 | MODULE_LICENSE("GPL"); | ||
98 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-gadmei-rm008z.c b/drivers/media/rc/keymaps/rc-gadmei-rm008z.c new file mode 100644 index 000000000000..068c9ead98dd --- /dev/null +++ b/drivers/media/rc/keymaps/rc-gadmei-rm008z.c | |||
@@ -0,0 +1,81 @@ | |||
1 | /* gadmei-rm008z.h - Keytable for gadmei_rm008z Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* GADMEI UTV330+ RM008Z remote | ||
16 | Shine Liu <shinel@foxmail.com> | ||
17 | */ | ||
18 | |||
19 | static struct rc_map_table gadmei_rm008z[] = { | ||
20 | { 0x14, KEY_POWER2}, /* POWER OFF */ | ||
21 | { 0x0c, KEY_MUTE}, /* MUTE */ | ||
22 | |||
23 | { 0x18, KEY_TV}, /* TV */ | ||
24 | { 0x0e, KEY_VIDEO}, /* AV */ | ||
25 | { 0x0b, KEY_AUDIO}, /* SV */ | ||
26 | { 0x0f, KEY_RADIO}, /* FM */ | ||
27 | |||
28 | { 0x00, KEY_1}, | ||
29 | { 0x01, KEY_2}, | ||
30 | { 0x02, KEY_3}, | ||
31 | { 0x03, KEY_4}, | ||
32 | { 0x04, KEY_5}, | ||
33 | { 0x05, KEY_6}, | ||
34 | { 0x06, KEY_7}, | ||
35 | { 0x07, KEY_8}, | ||
36 | { 0x08, KEY_9}, | ||
37 | { 0x09, KEY_0}, | ||
38 | { 0x0a, KEY_INFO}, /* OSD */ | ||
39 | { 0x1c, KEY_BACKSPACE}, /* LAST */ | ||
40 | |||
41 | { 0x0d, KEY_PLAY}, /* PLAY */ | ||
42 | { 0x1e, KEY_CAMERA}, /* SNAPSHOT */ | ||
43 | { 0x1a, KEY_RECORD}, /* RECORD */ | ||
44 | { 0x17, KEY_STOP}, /* STOP */ | ||
45 | |||
46 | { 0x1f, KEY_UP}, /* UP */ | ||
47 | { 0x44, KEY_DOWN}, /* DOWN */ | ||
48 | { 0x46, KEY_TAB}, /* BACK */ | ||
49 | { 0x4a, KEY_ZOOM}, /* FULLSECREEN */ | ||
50 | |||
51 | { 0x10, KEY_VOLUMEUP}, /* VOLUMEUP */ | ||
52 | { 0x11, KEY_VOLUMEDOWN}, /* VOLUMEDOWN */ | ||
53 | { 0x12, KEY_CHANNELUP}, /* CHANNELUP */ | ||
54 | { 0x13, KEY_CHANNELDOWN}, /* CHANNELDOWN */ | ||
55 | { 0x15, KEY_ENTER}, /* OK */ | ||
56 | }; | ||
57 | |||
58 | static struct rc_map_list gadmei_rm008z_map = { | ||
59 | .map = { | ||
60 | .scan = gadmei_rm008z, | ||
61 | .size = ARRAY_SIZE(gadmei_rm008z), | ||
62 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
63 | .name = RC_MAP_GADMEI_RM008Z, | ||
64 | } | ||
65 | }; | ||
66 | |||
67 | static int __init init_rc_map_gadmei_rm008z(void) | ||
68 | { | ||
69 | return rc_map_register(&gadmei_rm008z_map); | ||
70 | } | ||
71 | |||
72 | static void __exit exit_rc_map_gadmei_rm008z(void) | ||
73 | { | ||
74 | rc_map_unregister(&gadmei_rm008z_map); | ||
75 | } | ||
76 | |||
77 | module_init(init_rc_map_gadmei_rm008z) | ||
78 | module_exit(exit_rc_map_gadmei_rm008z) | ||
79 | |||
80 | MODULE_LICENSE("GPL"); | ||
81 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-genius-tvgo-a11mce.c b/drivers/media/rc/keymaps/rc-genius-tvgo-a11mce.c new file mode 100644 index 000000000000..cdbbed467926 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-genius-tvgo-a11mce.c | |||
@@ -0,0 +1,84 @@ | |||
1 | /* genius-tvgo-a11mce.h - Keytable for genius_tvgo_a11mce Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* | ||
16 | * Remote control for the Genius TVGO A11MCE | ||
17 | * Adrian Pardini <pardo.bsso@gmail.com> | ||
18 | */ | ||
19 | |||
20 | static struct rc_map_table genius_tvgo_a11mce[] = { | ||
21 | /* Keys 0 to 9 */ | ||
22 | { 0x48, KEY_0 }, | ||
23 | { 0x09, KEY_1 }, | ||
24 | { 0x1d, KEY_2 }, | ||
25 | { 0x1f, KEY_3 }, | ||
26 | { 0x19, KEY_4 }, | ||
27 | { 0x1b, KEY_5 }, | ||
28 | { 0x11, KEY_6 }, | ||
29 | { 0x17, KEY_7 }, | ||
30 | { 0x12, KEY_8 }, | ||
31 | { 0x16, KEY_9 }, | ||
32 | |||
33 | { 0x54, KEY_RECORD }, /* recording */ | ||
34 | { 0x06, KEY_MUTE }, /* mute */ | ||
35 | { 0x10, KEY_POWER }, | ||
36 | { 0x40, KEY_LAST }, /* recall */ | ||
37 | { 0x4c, KEY_CHANNELUP }, /* channel / program + */ | ||
38 | { 0x00, KEY_CHANNELDOWN }, /* channel / program - */ | ||
39 | { 0x0d, KEY_VOLUMEUP }, | ||
40 | { 0x15, KEY_VOLUMEDOWN }, | ||
41 | { 0x4d, KEY_OK }, /* also labeled as Pause */ | ||
42 | { 0x1c, KEY_ZOOM }, /* full screen and Stop*/ | ||
43 | { 0x02, KEY_MODE }, /* AV Source or Rewind*/ | ||
44 | { 0x04, KEY_LIST }, /* -/-- */ | ||
45 | /* small arrows above numbers */ | ||
46 | { 0x1a, KEY_NEXT }, /* also Fast Forward */ | ||
47 | { 0x0e, KEY_PREVIOUS }, /* also Rewind */ | ||
48 | /* these are in a rather non standard layout and have | ||
49 | an alternate name written */ | ||
50 | { 0x1e, KEY_UP }, /* Video Setting */ | ||
51 | { 0x0a, KEY_DOWN }, /* Video Default */ | ||
52 | { 0x05, KEY_CAMERA }, /* Snapshot */ | ||
53 | { 0x0c, KEY_RIGHT }, /* Hide Panel */ | ||
54 | /* Four buttons without label */ | ||
55 | { 0x49, KEY_RED }, | ||
56 | { 0x0b, KEY_GREEN }, | ||
57 | { 0x13, KEY_YELLOW }, | ||
58 | { 0x50, KEY_BLUE }, | ||
59 | }; | ||
60 | |||
61 | static struct rc_map_list genius_tvgo_a11mce_map = { | ||
62 | .map = { | ||
63 | .scan = genius_tvgo_a11mce, | ||
64 | .size = ARRAY_SIZE(genius_tvgo_a11mce), | ||
65 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
66 | .name = RC_MAP_GENIUS_TVGO_A11MCE, | ||
67 | } | ||
68 | }; | ||
69 | |||
70 | static int __init init_rc_map_genius_tvgo_a11mce(void) | ||
71 | { | ||
72 | return rc_map_register(&genius_tvgo_a11mce_map); | ||
73 | } | ||
74 | |||
75 | static void __exit exit_rc_map_genius_tvgo_a11mce(void) | ||
76 | { | ||
77 | rc_map_unregister(&genius_tvgo_a11mce_map); | ||
78 | } | ||
79 | |||
80 | module_init(init_rc_map_genius_tvgo_a11mce) | ||
81 | module_exit(exit_rc_map_genius_tvgo_a11mce) | ||
82 | |||
83 | MODULE_LICENSE("GPL"); | ||
84 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-gotview7135.c b/drivers/media/rc/keymaps/rc-gotview7135.c new file mode 100644 index 000000000000..a38bdde8c140 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-gotview7135.c | |||
@@ -0,0 +1,79 @@ | |||
1 | /* gotview7135.h - Keytable for gotview7135 Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* Mike Baikov <mike@baikov.com> */ | ||
16 | |||
17 | static struct rc_map_table gotview7135[] = { | ||
18 | |||
19 | { 0x11, KEY_POWER }, | ||
20 | { 0x35, KEY_TV }, | ||
21 | { 0x1b, KEY_0 }, | ||
22 | { 0x29, KEY_1 }, | ||
23 | { 0x19, KEY_2 }, | ||
24 | { 0x39, KEY_3 }, | ||
25 | { 0x1f, KEY_4 }, | ||
26 | { 0x2c, KEY_5 }, | ||
27 | { 0x21, KEY_6 }, | ||
28 | { 0x24, KEY_7 }, | ||
29 | { 0x18, KEY_8 }, | ||
30 | { 0x2b, KEY_9 }, | ||
31 | { 0x3b, KEY_AGAIN }, /* LOOP */ | ||
32 | { 0x06, KEY_AUDIO }, | ||
33 | { 0x31, KEY_PRINT }, /* PREVIEW */ | ||
34 | { 0x3e, KEY_VIDEO }, | ||
35 | { 0x10, KEY_CHANNELUP }, | ||
36 | { 0x20, KEY_CHANNELDOWN }, | ||
37 | { 0x0c, KEY_VOLUMEDOWN }, | ||
38 | { 0x28, KEY_VOLUMEUP }, | ||
39 | { 0x08, KEY_MUTE }, | ||
40 | { 0x26, KEY_SEARCH }, /* SCAN */ | ||
41 | { 0x3f, KEY_CAMERA }, /* SNAPSHOT */ | ||
42 | { 0x12, KEY_RECORD }, | ||
43 | { 0x32, KEY_STOP }, | ||
44 | { 0x3c, KEY_PLAY }, | ||
45 | { 0x1d, KEY_REWIND }, | ||
46 | { 0x2d, KEY_PAUSE }, | ||
47 | { 0x0d, KEY_FORWARD }, | ||
48 | { 0x05, KEY_ZOOM }, /*FULL*/ | ||
49 | |||
50 | { 0x2a, KEY_F21 }, /* LIVE TIMESHIFT */ | ||
51 | { 0x0e, KEY_F22 }, /* MIN TIMESHIFT */ | ||
52 | { 0x1e, KEY_TIME }, /* TIMESHIFT */ | ||
53 | { 0x38, KEY_F24 }, /* NORMAL TIMESHIFT */ | ||
54 | }; | ||
55 | |||
56 | static struct rc_map_list gotview7135_map = { | ||
57 | .map = { | ||
58 | .scan = gotview7135, | ||
59 | .size = ARRAY_SIZE(gotview7135), | ||
60 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
61 | .name = RC_MAP_GOTVIEW7135, | ||
62 | } | ||
63 | }; | ||
64 | |||
65 | static int __init init_rc_map_gotview7135(void) | ||
66 | { | ||
67 | return rc_map_register(&gotview7135_map); | ||
68 | } | ||
69 | |||
70 | static void __exit exit_rc_map_gotview7135(void) | ||
71 | { | ||
72 | rc_map_unregister(&gotview7135_map); | ||
73 | } | ||
74 | |||
75 | module_init(init_rc_map_gotview7135) | ||
76 | module_exit(exit_rc_map_gotview7135) | ||
77 | |||
78 | MODULE_LICENSE("GPL"); | ||
79 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-hauppauge-new.c b/drivers/media/rc/keymaps/rc-hauppauge-new.c new file mode 100644 index 000000000000..bd11da46e56a --- /dev/null +++ b/drivers/media/rc/keymaps/rc-hauppauge-new.c | |||
@@ -0,0 +1,100 @@ | |||
1 | /* hauppauge-new.h - Keytable for hauppauge_new Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* Hauppauge: the newer, gray remotes (seems there are multiple | ||
16 | * slightly different versions), shipped with cx88+ivtv cards. | ||
17 | * almost rc5 coding, but some non-standard keys */ | ||
18 | |||
19 | static struct rc_map_table hauppauge_new[] = { | ||
20 | /* Keys 0 to 9 */ | ||
21 | { 0x00, KEY_0 }, | ||
22 | { 0x01, KEY_1 }, | ||
23 | { 0x02, KEY_2 }, | ||
24 | { 0x03, KEY_3 }, | ||
25 | { 0x04, KEY_4 }, | ||
26 | { 0x05, KEY_5 }, | ||
27 | { 0x06, KEY_6 }, | ||
28 | { 0x07, KEY_7 }, | ||
29 | { 0x08, KEY_8 }, | ||
30 | { 0x09, KEY_9 }, | ||
31 | |||
32 | { 0x0a, KEY_TEXT }, /* keypad asterisk as well */ | ||
33 | { 0x0b, KEY_RED }, /* red button */ | ||
34 | { 0x0c, KEY_RADIO }, | ||
35 | { 0x0d, KEY_MENU }, | ||
36 | { 0x0e, KEY_SUBTITLE }, /* also the # key */ | ||
37 | { 0x0f, KEY_MUTE }, | ||
38 | { 0x10, KEY_VOLUMEUP }, | ||
39 | { 0x11, KEY_VOLUMEDOWN }, | ||
40 | { 0x12, KEY_PREVIOUS }, /* previous channel */ | ||
41 | { 0x14, KEY_UP }, | ||
42 | { 0x15, KEY_DOWN }, | ||
43 | { 0x16, KEY_LEFT }, | ||
44 | { 0x17, KEY_RIGHT }, | ||
45 | { 0x18, KEY_VIDEO }, /* Videos */ | ||
46 | { 0x19, KEY_AUDIO }, /* Music */ | ||
47 | /* 0x1a: Pictures - presume this means | ||
48 | "Multimedia Home Platform" - | ||
49 | no "PICTURES" key in input.h | ||
50 | */ | ||
51 | { 0x1a, KEY_MHP }, | ||
52 | |||
53 | { 0x1b, KEY_EPG }, /* Guide */ | ||
54 | { 0x1c, KEY_TV }, | ||
55 | { 0x1e, KEY_NEXTSONG }, /* skip >| */ | ||
56 | { 0x1f, KEY_EXIT }, /* back/exit */ | ||
57 | { 0x20, KEY_CHANNELUP }, /* channel / program + */ | ||
58 | { 0x21, KEY_CHANNELDOWN }, /* channel / program - */ | ||
59 | { 0x22, KEY_CHANNEL }, /* source (old black remote) */ | ||
60 | { 0x24, KEY_PREVIOUSSONG }, /* replay |< */ | ||
61 | { 0x25, KEY_ENTER }, /* OK */ | ||
62 | { 0x26, KEY_SLEEP }, /* minimize (old black remote) */ | ||
63 | { 0x29, KEY_BLUE }, /* blue key */ | ||
64 | { 0x2e, KEY_GREEN }, /* green button */ | ||
65 | { 0x30, KEY_PAUSE }, /* pause */ | ||
66 | { 0x32, KEY_REWIND }, /* backward << */ | ||
67 | { 0x34, KEY_FASTFORWARD }, /* forward >> */ | ||
68 | { 0x35, KEY_PLAY }, | ||
69 | { 0x36, KEY_STOP }, | ||
70 | { 0x37, KEY_RECORD }, /* recording */ | ||
71 | { 0x38, KEY_YELLOW }, /* yellow key */ | ||
72 | { 0x3b, KEY_SELECT }, /* top right button */ | ||
73 | { 0x3c, KEY_ZOOM }, /* full */ | ||
74 | { 0x3d, KEY_POWER }, /* system power (green button) */ | ||
75 | }; | ||
76 | |||
77 | static struct rc_map_list hauppauge_new_map = { | ||
78 | .map = { | ||
79 | .scan = hauppauge_new, | ||
80 | .size = ARRAY_SIZE(hauppauge_new), | ||
81 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
82 | .name = RC_MAP_HAUPPAUGE_NEW, | ||
83 | } | ||
84 | }; | ||
85 | |||
86 | static int __init init_rc_map_hauppauge_new(void) | ||
87 | { | ||
88 | return rc_map_register(&hauppauge_new_map); | ||
89 | } | ||
90 | |||
91 | static void __exit exit_rc_map_hauppauge_new(void) | ||
92 | { | ||
93 | rc_map_unregister(&hauppauge_new_map); | ||
94 | } | ||
95 | |||
96 | module_init(init_rc_map_hauppauge_new) | ||
97 | module_exit(exit_rc_map_hauppauge_new) | ||
98 | |||
99 | MODULE_LICENSE("GPL"); | ||
100 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-imon-mce.c b/drivers/media/rc/keymaps/rc-imon-mce.c new file mode 100644 index 000000000000..cb67184e015c --- /dev/null +++ b/drivers/media/rc/keymaps/rc-imon-mce.c | |||
@@ -0,0 +1,142 @@ | |||
1 | /* rc5-imon-mce.c - Keytable for Windows Media Center RC-6 remotes for use | ||
2 | * with the SoundGraph iMON/Antec Veris hardware IR decoder | ||
3 | * | ||
4 | * Copyright (c) 2010 by Jarod Wilson <jarod@redhat.com> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | */ | ||
11 | |||
12 | #include <media/rc-map.h> | ||
13 | |||
14 | /* mce-mode imon mce remote key table */ | ||
15 | static struct rc_map_table imon_mce[] = { | ||
16 | /* keys sorted mostly by frequency of use to optimize lookups */ | ||
17 | { 0x800ff415, KEY_REWIND }, | ||
18 | { 0x800ff414, KEY_FASTFORWARD }, | ||
19 | { 0x800ff41b, KEY_PREVIOUS }, | ||
20 | { 0x800ff41a, KEY_NEXT }, | ||
21 | |||
22 | { 0x800ff416, KEY_PLAY }, | ||
23 | { 0x800ff418, KEY_PAUSE }, | ||
24 | { 0x800ff419, KEY_STOP }, | ||
25 | { 0x800ff417, KEY_RECORD }, | ||
26 | |||
27 | { 0x02000052, KEY_UP }, | ||
28 | { 0x02000051, KEY_DOWN }, | ||
29 | { 0x02000050, KEY_LEFT }, | ||
30 | { 0x0200004f, KEY_RIGHT }, | ||
31 | |||
32 | { 0x800ff41e, KEY_UP }, | ||
33 | { 0x800ff41f, KEY_DOWN }, | ||
34 | { 0x800ff420, KEY_LEFT }, | ||
35 | { 0x800ff421, KEY_RIGHT }, | ||
36 | |||
37 | /* 0x800ff40b also KEY_NUMERIC_POUND on some receivers */ | ||
38 | { 0x800ff40b, KEY_ENTER }, | ||
39 | { 0x02000028, KEY_ENTER }, | ||
40 | /* the OK and Enter buttons decode to the same value on some remotes | ||
41 | { 0x02000028, KEY_OK }, */ | ||
42 | { 0x800ff422, KEY_OK }, | ||
43 | { 0x0200002a, KEY_EXIT }, | ||
44 | { 0x800ff423, KEY_EXIT }, | ||
45 | { 0x02000029, KEY_DELETE }, | ||
46 | /* 0x800ff40a also KEY_NUMERIC_STAR on some receivers */ | ||
47 | { 0x800ff40a, KEY_DELETE }, | ||
48 | |||
49 | { 0x800ff40e, KEY_MUTE }, | ||
50 | { 0x800ff410, KEY_VOLUMEUP }, | ||
51 | { 0x800ff411, KEY_VOLUMEDOWN }, | ||
52 | { 0x800ff412, KEY_CHANNELUP }, | ||
53 | { 0x800ff413, KEY_CHANNELDOWN }, | ||
54 | |||
55 | { 0x0200001e, KEY_NUMERIC_1 }, | ||
56 | { 0x0200001f, KEY_NUMERIC_2 }, | ||
57 | { 0x02000020, KEY_NUMERIC_3 }, | ||
58 | { 0x02000021, KEY_NUMERIC_4 }, | ||
59 | { 0x02000022, KEY_NUMERIC_5 }, | ||
60 | { 0x02000023, KEY_NUMERIC_6 }, | ||
61 | { 0x02000024, KEY_NUMERIC_7 }, | ||
62 | { 0x02000025, KEY_NUMERIC_8 }, | ||
63 | { 0x02000026, KEY_NUMERIC_9 }, | ||
64 | { 0x02000027, KEY_NUMERIC_0 }, | ||
65 | |||
66 | { 0x800ff401, KEY_NUMERIC_1 }, | ||
67 | { 0x800ff402, KEY_NUMERIC_2 }, | ||
68 | { 0x800ff403, KEY_NUMERIC_3 }, | ||
69 | { 0x800ff404, KEY_NUMERIC_4 }, | ||
70 | { 0x800ff405, KEY_NUMERIC_5 }, | ||
71 | { 0x800ff406, KEY_NUMERIC_6 }, | ||
72 | { 0x800ff407, KEY_NUMERIC_7 }, | ||
73 | { 0x800ff408, KEY_NUMERIC_8 }, | ||
74 | { 0x800ff409, KEY_NUMERIC_9 }, | ||
75 | { 0x800ff400, KEY_NUMERIC_0 }, | ||
76 | |||
77 | { 0x02200025, KEY_NUMERIC_STAR }, | ||
78 | { 0x02200020, KEY_NUMERIC_POUND }, | ||
79 | /* 0x800ff41d also KEY_BLUE on some receivers */ | ||
80 | { 0x800ff41d, KEY_NUMERIC_STAR }, | ||
81 | /* 0x800ff41c also KEY_PREVIOUS on some receivers */ | ||
82 | { 0x800ff41c, KEY_NUMERIC_POUND }, | ||
83 | |||
84 | { 0x800ff446, KEY_TV }, | ||
85 | { 0x800ff447, KEY_AUDIO }, /* My Music */ | ||
86 | { 0x800ff448, KEY_PVR }, /* RecordedTV */ | ||
87 | { 0x800ff449, KEY_CAMERA }, | ||
88 | { 0x800ff44a, KEY_VIDEO }, | ||
89 | /* 0x800ff424 also KEY_MENU on some receivers */ | ||
90 | { 0x800ff424, KEY_DVD }, | ||
91 | /* 0x800ff425 also KEY_GREEN on some receivers */ | ||
92 | { 0x800ff425, KEY_TUNER }, /* LiveTV */ | ||
93 | { 0x800ff450, KEY_RADIO }, | ||
94 | |||
95 | { 0x800ff44c, KEY_LANGUAGE }, | ||
96 | { 0x800ff427, KEY_ZOOM }, /* Aspect */ | ||
97 | |||
98 | { 0x800ff45b, KEY_RED }, | ||
99 | { 0x800ff45c, KEY_GREEN }, | ||
100 | { 0x800ff45d, KEY_YELLOW }, | ||
101 | { 0x800ff45e, KEY_BLUE }, | ||
102 | |||
103 | { 0x800ff466, KEY_RED }, | ||
104 | /* { 0x800ff425, KEY_GREEN }, */ | ||
105 | { 0x800ff468, KEY_YELLOW }, | ||
106 | /* { 0x800ff41d, KEY_BLUE }, */ | ||
107 | |||
108 | { 0x800ff40f, KEY_INFO }, | ||
109 | { 0x800ff426, KEY_EPG }, /* Guide */ | ||
110 | { 0x800ff45a, KEY_SUBTITLE }, /* Caption/Teletext */ | ||
111 | { 0x800ff44d, KEY_TITLE }, | ||
112 | |||
113 | { 0x800ff40c, KEY_POWER }, | ||
114 | { 0x800ff40d, KEY_PROG1 }, /* Windows MCE button */ | ||
115 | |||
116 | }; | ||
117 | |||
118 | static struct rc_map_list imon_mce_map = { | ||
119 | .map = { | ||
120 | .scan = imon_mce, | ||
121 | .size = ARRAY_SIZE(imon_mce), | ||
122 | /* its RC6, but w/a hardware decoder */ | ||
123 | .rc_type = RC_TYPE_RC6, | ||
124 | .name = RC_MAP_IMON_MCE, | ||
125 | } | ||
126 | }; | ||
127 | |||
128 | static int __init init_rc_map_imon_mce(void) | ||
129 | { | ||
130 | return rc_map_register(&imon_mce_map); | ||
131 | } | ||
132 | |||
133 | static void __exit exit_rc_map_imon_mce(void) | ||
134 | { | ||
135 | rc_map_unregister(&imon_mce_map); | ||
136 | } | ||
137 | |||
138 | module_init(init_rc_map_imon_mce) | ||
139 | module_exit(exit_rc_map_imon_mce) | ||
140 | |||
141 | MODULE_LICENSE("GPL"); | ||
142 | MODULE_AUTHOR("Jarod Wilson <jarod@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-imon-pad.c b/drivers/media/rc/keymaps/rc-imon-pad.c new file mode 100644 index 000000000000..eef46b73ca7b --- /dev/null +++ b/drivers/media/rc/keymaps/rc-imon-pad.c | |||
@@ -0,0 +1,156 @@ | |||
1 | /* rc5-imon-pad.c - Keytable for SoundGraph iMON PAD and Antec Veris | ||
2 | * RM-200 Remote Control | ||
3 | * | ||
4 | * Copyright (c) 2010 by Jarod Wilson <jarod@redhat.com> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | */ | ||
11 | |||
12 | #include <media/rc-map.h> | ||
13 | |||
14 | /* | ||
15 | * standard imon remote key table, which isn't really entirely | ||
16 | * "standard", as different receivers decode the same key on the | ||
17 | * same remote to different hex codes, and the silkscreened names | ||
18 | * vary a bit between the SoundGraph and Antec remotes... ugh. | ||
19 | */ | ||
20 | static struct rc_map_table imon_pad[] = { | ||
21 | /* keys sorted mostly by frequency of use to optimize lookups */ | ||
22 | { 0x2a8195b7, KEY_REWIND }, | ||
23 | { 0x298315b7, KEY_REWIND }, | ||
24 | { 0x2b8115b7, KEY_FASTFORWARD }, | ||
25 | { 0x2b8315b7, KEY_FASTFORWARD }, | ||
26 | { 0x2b9115b7, KEY_PREVIOUS }, | ||
27 | { 0x298195b7, KEY_NEXT }, | ||
28 | |||
29 | { 0x2a8115b7, KEY_PLAY }, | ||
30 | { 0x2a8315b7, KEY_PLAY }, | ||
31 | { 0x2a9115b7, KEY_PAUSE }, | ||
32 | { 0x2b9715b7, KEY_STOP }, | ||
33 | { 0x298115b7, KEY_RECORD }, | ||
34 | |||
35 | { 0x01008000, KEY_UP }, | ||
36 | { 0x01007f00, KEY_DOWN }, | ||
37 | { 0x01000080, KEY_LEFT }, | ||
38 | { 0x0100007f, KEY_RIGHT }, | ||
39 | |||
40 | { 0x2aa515b7, KEY_UP }, | ||
41 | { 0x289515b7, KEY_DOWN }, | ||
42 | { 0x29a515b7, KEY_LEFT }, | ||
43 | { 0x2ba515b7, KEY_RIGHT }, | ||
44 | |||
45 | { 0x0200002c, KEY_SPACE }, /* Select/Space */ | ||
46 | { 0x2a9315b7, KEY_SPACE }, /* Select/Space */ | ||
47 | { 0x02000028, KEY_ENTER }, | ||
48 | { 0x28a195b7, KEY_ENTER }, | ||
49 | { 0x288195b7, KEY_EXIT }, | ||
50 | { 0x02000029, KEY_ESC }, | ||
51 | { 0x2bb715b7, KEY_ESC }, | ||
52 | { 0x0200002a, KEY_BACKSPACE }, | ||
53 | { 0x28a115b7, KEY_BACKSPACE }, | ||
54 | |||
55 | { 0x2b9595b7, KEY_MUTE }, | ||
56 | { 0x28a395b7, KEY_VOLUMEUP }, | ||
57 | { 0x28a595b7, KEY_VOLUMEDOWN }, | ||
58 | { 0x289395b7, KEY_CHANNELUP }, | ||
59 | { 0x288795b7, KEY_CHANNELDOWN }, | ||
60 | |||
61 | { 0x0200001e, KEY_NUMERIC_1 }, | ||
62 | { 0x0200001f, KEY_NUMERIC_2 }, | ||
63 | { 0x02000020, KEY_NUMERIC_3 }, | ||
64 | { 0x02000021, KEY_NUMERIC_4 }, | ||
65 | { 0x02000022, KEY_NUMERIC_5 }, | ||
66 | { 0x02000023, KEY_NUMERIC_6 }, | ||
67 | { 0x02000024, KEY_NUMERIC_7 }, | ||
68 | { 0x02000025, KEY_NUMERIC_8 }, | ||
69 | { 0x02000026, KEY_NUMERIC_9 }, | ||
70 | { 0x02000027, KEY_NUMERIC_0 }, | ||
71 | |||
72 | { 0x28b595b7, KEY_NUMERIC_1 }, | ||
73 | { 0x2bb195b7, KEY_NUMERIC_2 }, | ||
74 | { 0x28b195b7, KEY_NUMERIC_3 }, | ||
75 | { 0x2a8595b7, KEY_NUMERIC_4 }, | ||
76 | { 0x299595b7, KEY_NUMERIC_5 }, | ||
77 | { 0x2aa595b7, KEY_NUMERIC_6 }, | ||
78 | { 0x2b9395b7, KEY_NUMERIC_7 }, | ||
79 | { 0x2a8515b7, KEY_NUMERIC_8 }, | ||
80 | { 0x2aa115b7, KEY_NUMERIC_9 }, | ||
81 | { 0x2ba595b7, KEY_NUMERIC_0 }, | ||
82 | |||
83 | { 0x02200025, KEY_NUMERIC_STAR }, | ||
84 | { 0x28b515b7, KEY_NUMERIC_STAR }, | ||
85 | { 0x02200020, KEY_NUMERIC_POUND }, | ||
86 | { 0x29a115b7, KEY_NUMERIC_POUND }, | ||
87 | |||
88 | { 0x2b8515b7, KEY_VIDEO }, | ||
89 | { 0x299195b7, KEY_AUDIO }, | ||
90 | { 0x2ba115b7, KEY_CAMERA }, | ||
91 | { 0x28a515b7, KEY_TV }, | ||
92 | { 0x29a395b7, KEY_DVD }, | ||
93 | { 0x29a295b7, KEY_DVD }, | ||
94 | |||
95 | /* the Menu key between DVD and Subtitle on the RM-200... */ | ||
96 | { 0x2ba385b7, KEY_MENU }, | ||
97 | { 0x2ba395b7, KEY_MENU }, | ||
98 | |||
99 | { 0x288515b7, KEY_BOOKMARKS }, | ||
100 | { 0x2ab715b7, KEY_MEDIA }, /* Thumbnail */ | ||
101 | { 0x298595b7, KEY_SUBTITLE }, | ||
102 | { 0x2b8595b7, KEY_LANGUAGE }, | ||
103 | |||
104 | { 0x29a595b7, KEY_ZOOM }, | ||
105 | { 0x2aa395b7, KEY_SCREEN }, /* FullScreen */ | ||
106 | |||
107 | { 0x299115b7, KEY_KEYBOARD }, | ||
108 | { 0x299135b7, KEY_KEYBOARD }, | ||
109 | |||
110 | { 0x01010000, BTN_LEFT }, | ||
111 | { 0x01020000, BTN_RIGHT }, | ||
112 | { 0x01010080, BTN_LEFT }, | ||
113 | { 0x01020080, BTN_RIGHT }, | ||
114 | { 0x688301b7, BTN_LEFT }, | ||
115 | { 0x688481b7, BTN_RIGHT }, | ||
116 | |||
117 | { 0x2a9395b7, KEY_CYCLEWINDOWS }, /* TaskSwitcher */ | ||
118 | { 0x2b8395b7, KEY_TIME }, /* Timer */ | ||
119 | |||
120 | { 0x289115b7, KEY_POWER }, | ||
121 | { 0x29b195b7, KEY_EJECTCD }, /* the one next to play */ | ||
122 | { 0x299395b7, KEY_EJECTCLOSECD }, /* eject (by TaskSw) */ | ||
123 | |||
124 | { 0x02800000, KEY_CONTEXT_MENU }, /* Left Menu */ | ||
125 | { 0x2b8195b7, KEY_CONTEXT_MENU }, /* Left Menu*/ | ||
126 | { 0x02000065, KEY_COMPOSE }, /* RightMenu */ | ||
127 | { 0x28b715b7, KEY_COMPOSE }, /* RightMenu */ | ||
128 | { 0x2ab195b7, KEY_PROG1 }, /* Go or MultiMon */ | ||
129 | { 0x29b715b7, KEY_DASHBOARD }, /* AppLauncher */ | ||
130 | }; | ||
131 | |||
132 | static struct rc_map_list imon_pad_map = { | ||
133 | .map = { | ||
134 | .scan = imon_pad, | ||
135 | .size = ARRAY_SIZE(imon_pad), | ||
136 | /* actual protocol details unknown, hardware decoder */ | ||
137 | .rc_type = RC_TYPE_OTHER, | ||
138 | .name = RC_MAP_IMON_PAD, | ||
139 | } | ||
140 | }; | ||
141 | |||
142 | static int __init init_rc_map_imon_pad(void) | ||
143 | { | ||
144 | return rc_map_register(&imon_pad_map); | ||
145 | } | ||
146 | |||
147 | static void __exit exit_rc_map_imon_pad(void) | ||
148 | { | ||
149 | rc_map_unregister(&imon_pad_map); | ||
150 | } | ||
151 | |||
152 | module_init(init_rc_map_imon_pad) | ||
153 | module_exit(exit_rc_map_imon_pad) | ||
154 | |||
155 | MODULE_LICENSE("GPL"); | ||
156 | MODULE_AUTHOR("Jarod Wilson <jarod@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-iodata-bctv7e.c b/drivers/media/rc/keymaps/rc-iodata-bctv7e.c new file mode 100644 index 000000000000..1f59e163f75d --- /dev/null +++ b/drivers/media/rc/keymaps/rc-iodata-bctv7e.c | |||
@@ -0,0 +1,88 @@ | |||
1 | /* iodata-bctv7e.h - Keytable for iodata_bctv7e Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* IO-DATA BCTV7E Remote */ | ||
16 | |||
17 | static struct rc_map_table iodata_bctv7e[] = { | ||
18 | { 0x40, KEY_TV }, | ||
19 | { 0x20, KEY_RADIO }, /* FM */ | ||
20 | { 0x60, KEY_EPG }, | ||
21 | { 0x00, KEY_POWER }, | ||
22 | |||
23 | /* Keys 0 to 9 */ | ||
24 | { 0x44, KEY_0 }, /* 10 */ | ||
25 | { 0x50, KEY_1 }, | ||
26 | { 0x30, KEY_2 }, | ||
27 | { 0x70, KEY_3 }, | ||
28 | { 0x48, KEY_4 }, | ||
29 | { 0x28, KEY_5 }, | ||
30 | { 0x68, KEY_6 }, | ||
31 | { 0x58, KEY_7 }, | ||
32 | { 0x38, KEY_8 }, | ||
33 | { 0x78, KEY_9 }, | ||
34 | |||
35 | { 0x10, KEY_L }, /* Live */ | ||
36 | { 0x08, KEY_TIME }, /* Time Shift */ | ||
37 | |||
38 | { 0x18, KEY_PLAYPAUSE }, /* Play */ | ||
39 | |||
40 | { 0x24, KEY_ENTER }, /* 11 */ | ||
41 | { 0x64, KEY_ESC }, /* 12 */ | ||
42 | { 0x04, KEY_M }, /* Multi */ | ||
43 | |||
44 | { 0x54, KEY_VIDEO }, | ||
45 | { 0x34, KEY_CHANNELUP }, | ||
46 | { 0x74, KEY_VOLUMEUP }, | ||
47 | { 0x14, KEY_MUTE }, | ||
48 | |||
49 | { 0x4c, KEY_VCR }, /* SVIDEO */ | ||
50 | { 0x2c, KEY_CHANNELDOWN }, | ||
51 | { 0x6c, KEY_VOLUMEDOWN }, | ||
52 | { 0x0c, KEY_ZOOM }, | ||
53 | |||
54 | { 0x5c, KEY_PAUSE }, | ||
55 | { 0x3c, KEY_RED }, /* || (red) */ | ||
56 | { 0x7c, KEY_RECORD }, /* recording */ | ||
57 | { 0x1c, KEY_STOP }, | ||
58 | |||
59 | { 0x41, KEY_REWIND }, /* backward << */ | ||
60 | { 0x21, KEY_PLAY }, | ||
61 | { 0x61, KEY_FASTFORWARD }, /* forward >> */ | ||
62 | { 0x01, KEY_NEXT }, /* skip >| */ | ||
63 | }; | ||
64 | |||
65 | static struct rc_map_list iodata_bctv7e_map = { | ||
66 | .map = { | ||
67 | .scan = iodata_bctv7e, | ||
68 | .size = ARRAY_SIZE(iodata_bctv7e), | ||
69 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
70 | .name = RC_MAP_IODATA_BCTV7E, | ||
71 | } | ||
72 | }; | ||
73 | |||
74 | static int __init init_rc_map_iodata_bctv7e(void) | ||
75 | { | ||
76 | return rc_map_register(&iodata_bctv7e_map); | ||
77 | } | ||
78 | |||
79 | static void __exit exit_rc_map_iodata_bctv7e(void) | ||
80 | { | ||
81 | rc_map_unregister(&iodata_bctv7e_map); | ||
82 | } | ||
83 | |||
84 | module_init(init_rc_map_iodata_bctv7e) | ||
85 | module_exit(exit_rc_map_iodata_bctv7e) | ||
86 | |||
87 | MODULE_LICENSE("GPL"); | ||
88 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-kaiomy.c b/drivers/media/rc/keymaps/rc-kaiomy.c new file mode 100644 index 000000000000..f31dc5c1ad9c --- /dev/null +++ b/drivers/media/rc/keymaps/rc-kaiomy.c | |||
@@ -0,0 +1,87 @@ | |||
1 | /* kaiomy.h - Keytable for kaiomy Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* Kaiomy TVnPC U2 | ||
16 | Mauro Carvalho Chehab <mchehab@infradead.org> | ||
17 | */ | ||
18 | |||
19 | static struct rc_map_table kaiomy[] = { | ||
20 | { 0x43, KEY_POWER2}, | ||
21 | { 0x01, KEY_LIST}, | ||
22 | { 0x0b, KEY_ZOOM}, | ||
23 | { 0x03, KEY_POWER}, | ||
24 | |||
25 | { 0x04, KEY_1}, | ||
26 | { 0x08, KEY_2}, | ||
27 | { 0x02, KEY_3}, | ||
28 | |||
29 | { 0x0f, KEY_4}, | ||
30 | { 0x05, KEY_5}, | ||
31 | { 0x06, KEY_6}, | ||
32 | |||
33 | { 0x0c, KEY_7}, | ||
34 | { 0x0d, KEY_8}, | ||
35 | { 0x0a, KEY_9}, | ||
36 | |||
37 | { 0x11, KEY_0}, | ||
38 | |||
39 | { 0x09, KEY_CHANNELUP}, | ||
40 | { 0x07, KEY_CHANNELDOWN}, | ||
41 | |||
42 | { 0x0e, KEY_VOLUMEUP}, | ||
43 | { 0x13, KEY_VOLUMEDOWN}, | ||
44 | |||
45 | { 0x10, KEY_HOME}, | ||
46 | { 0x12, KEY_ENTER}, | ||
47 | |||
48 | { 0x14, KEY_RECORD}, | ||
49 | { 0x15, KEY_STOP}, | ||
50 | { 0x16, KEY_PLAY}, | ||
51 | { 0x17, KEY_MUTE}, | ||
52 | |||
53 | { 0x18, KEY_UP}, | ||
54 | { 0x19, KEY_DOWN}, | ||
55 | { 0x1a, KEY_LEFT}, | ||
56 | { 0x1b, KEY_RIGHT}, | ||
57 | |||
58 | { 0x1c, KEY_RED}, | ||
59 | { 0x1d, KEY_GREEN}, | ||
60 | { 0x1e, KEY_YELLOW}, | ||
61 | { 0x1f, KEY_BLUE}, | ||
62 | }; | ||
63 | |||
64 | static struct rc_map_list kaiomy_map = { | ||
65 | .map = { | ||
66 | .scan = kaiomy, | ||
67 | .size = ARRAY_SIZE(kaiomy), | ||
68 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
69 | .name = RC_MAP_KAIOMY, | ||
70 | } | ||
71 | }; | ||
72 | |||
73 | static int __init init_rc_map_kaiomy(void) | ||
74 | { | ||
75 | return rc_map_register(&kaiomy_map); | ||
76 | } | ||
77 | |||
78 | static void __exit exit_rc_map_kaiomy(void) | ||
79 | { | ||
80 | rc_map_unregister(&kaiomy_map); | ||
81 | } | ||
82 | |||
83 | module_init(init_rc_map_kaiomy) | ||
84 | module_exit(exit_rc_map_kaiomy) | ||
85 | |||
86 | MODULE_LICENSE("GPL"); | ||
87 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-kworld-315u.c b/drivers/media/rc/keymaps/rc-kworld-315u.c new file mode 100644 index 000000000000..3ce6ef79fc34 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-kworld-315u.c | |||
@@ -0,0 +1,83 @@ | |||
1 | /* kworld-315u.h - Keytable for kworld_315u Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* Kworld 315U | ||
16 | */ | ||
17 | |||
18 | static struct rc_map_table kworld_315u[] = { | ||
19 | { 0x6143, KEY_POWER }, | ||
20 | { 0x6101, KEY_TUNER }, /* source */ | ||
21 | { 0x610b, KEY_ZOOM }, | ||
22 | { 0x6103, KEY_POWER2 }, /* shutdown */ | ||
23 | |||
24 | { 0x6104, KEY_1 }, | ||
25 | { 0x6108, KEY_2 }, | ||
26 | { 0x6102, KEY_3 }, | ||
27 | { 0x6109, KEY_CHANNELUP }, | ||
28 | |||
29 | { 0x610f, KEY_4 }, | ||
30 | { 0x6105, KEY_5 }, | ||
31 | { 0x6106, KEY_6 }, | ||
32 | { 0x6107, KEY_CHANNELDOWN }, | ||
33 | |||
34 | { 0x610c, KEY_7 }, | ||
35 | { 0x610d, KEY_8 }, | ||
36 | { 0x610a, KEY_9 }, | ||
37 | { 0x610e, KEY_VOLUMEUP }, | ||
38 | |||
39 | { 0x6110, KEY_LAST }, | ||
40 | { 0x6111, KEY_0 }, | ||
41 | { 0x6112, KEY_ENTER }, | ||
42 | { 0x6113, KEY_VOLUMEDOWN }, | ||
43 | |||
44 | { 0x6114, KEY_RECORD }, | ||
45 | { 0x6115, KEY_STOP }, | ||
46 | { 0x6116, KEY_PLAY }, | ||
47 | { 0x6117, KEY_MUTE }, | ||
48 | |||
49 | { 0x6118, KEY_UP }, | ||
50 | { 0x6119, KEY_DOWN }, | ||
51 | { 0x611a, KEY_LEFT }, | ||
52 | { 0x611b, KEY_RIGHT }, | ||
53 | |||
54 | { 0x611c, KEY_RED }, | ||
55 | { 0x611d, KEY_GREEN }, | ||
56 | { 0x611e, KEY_YELLOW }, | ||
57 | { 0x611f, KEY_BLUE }, | ||
58 | }; | ||
59 | |||
60 | static struct rc_map_list kworld_315u_map = { | ||
61 | .map = { | ||
62 | .scan = kworld_315u, | ||
63 | .size = ARRAY_SIZE(kworld_315u), | ||
64 | .rc_type = RC_TYPE_NEC, | ||
65 | .name = RC_MAP_KWORLD_315U, | ||
66 | } | ||
67 | }; | ||
68 | |||
69 | static int __init init_rc_map_kworld_315u(void) | ||
70 | { | ||
71 | return rc_map_register(&kworld_315u_map); | ||
72 | } | ||
73 | |||
74 | static void __exit exit_rc_map_kworld_315u(void) | ||
75 | { | ||
76 | rc_map_unregister(&kworld_315u_map); | ||
77 | } | ||
78 | |||
79 | module_init(init_rc_map_kworld_315u) | ||
80 | module_exit(exit_rc_map_kworld_315u) | ||
81 | |||
82 | MODULE_LICENSE("GPL"); | ||
83 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-kworld-plus-tv-analog.c b/drivers/media/rc/keymaps/rc-kworld-plus-tv-analog.c new file mode 100644 index 000000000000..e45f0b8759d0 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-kworld-plus-tv-analog.c | |||
@@ -0,0 +1,99 @@ | |||
1 | /* kworld-plus-tv-analog.h - Keytable for kworld_plus_tv_analog Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* Kworld Plus TV Analog Lite PCI IR | ||
16 | Mauro Carvalho Chehab <mchehab@infradead.org> | ||
17 | */ | ||
18 | |||
19 | static struct rc_map_table kworld_plus_tv_analog[] = { | ||
20 | { 0x0c, KEY_PROG1 }, /* Kworld key */ | ||
21 | { 0x16, KEY_CLOSECD }, /* -> ) */ | ||
22 | { 0x1d, KEY_POWER2 }, | ||
23 | |||
24 | { 0x00, KEY_1 }, | ||
25 | { 0x01, KEY_2 }, | ||
26 | { 0x02, KEY_3 }, /* Two keys have the same code: 3 and left */ | ||
27 | { 0x03, KEY_4 }, /* Two keys have the same code: 3 and right */ | ||
28 | { 0x04, KEY_5 }, | ||
29 | { 0x05, KEY_6 }, | ||
30 | { 0x06, KEY_7 }, | ||
31 | { 0x07, KEY_8 }, | ||
32 | { 0x08, KEY_9 }, | ||
33 | { 0x0a, KEY_0 }, | ||
34 | |||
35 | { 0x09, KEY_AGAIN }, | ||
36 | { 0x14, KEY_MUTE }, | ||
37 | |||
38 | { 0x20, KEY_UP }, | ||
39 | { 0x21, KEY_DOWN }, | ||
40 | { 0x0b, KEY_ENTER }, | ||
41 | |||
42 | { 0x10, KEY_CHANNELUP }, | ||
43 | { 0x11, KEY_CHANNELDOWN }, | ||
44 | |||
45 | /* Couldn't map key left/key right since those | ||
46 | conflict with '3' and '4' scancodes | ||
47 | I dunno what the original driver does | ||
48 | */ | ||
49 | |||
50 | { 0x13, KEY_VOLUMEUP }, | ||
51 | { 0x12, KEY_VOLUMEDOWN }, | ||
52 | |||
53 | /* The lower part of the IR | ||
54 | There are several duplicated keycodes there. | ||
55 | Most of them conflict with digits. | ||
56 | Add mappings just to the unused scancodes. | ||
57 | Somehow, the original driver has a way to know, | ||
58 | but this doesn't seem to be on some GPIO. | ||
59 | Also, it is not related to the time between keyup | ||
60 | and keydown. | ||
61 | */ | ||
62 | { 0x19, KEY_TIME}, /* Timeshift */ | ||
63 | { 0x1a, KEY_STOP}, | ||
64 | { 0x1b, KEY_RECORD}, | ||
65 | |||
66 | { 0x22, KEY_TEXT}, | ||
67 | |||
68 | { 0x15, KEY_AUDIO}, /* ((*)) */ | ||
69 | { 0x0f, KEY_ZOOM}, | ||
70 | { 0x1c, KEY_CAMERA}, /* snapshot */ | ||
71 | |||
72 | { 0x18, KEY_RED}, /* B */ | ||
73 | { 0x23, KEY_GREEN}, /* C */ | ||
74 | }; | ||
75 | |||
76 | static struct rc_map_list kworld_plus_tv_analog_map = { | ||
77 | .map = { | ||
78 | .scan = kworld_plus_tv_analog, | ||
79 | .size = ARRAY_SIZE(kworld_plus_tv_analog), | ||
80 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
81 | .name = RC_MAP_KWORLD_PLUS_TV_ANALOG, | ||
82 | } | ||
83 | }; | ||
84 | |||
85 | static int __init init_rc_map_kworld_plus_tv_analog(void) | ||
86 | { | ||
87 | return rc_map_register(&kworld_plus_tv_analog_map); | ||
88 | } | ||
89 | |||
90 | static void __exit exit_rc_map_kworld_plus_tv_analog(void) | ||
91 | { | ||
92 | rc_map_unregister(&kworld_plus_tv_analog_map); | ||
93 | } | ||
94 | |||
95 | module_init(init_rc_map_kworld_plus_tv_analog) | ||
96 | module_exit(exit_rc_map_kworld_plus_tv_analog) | ||
97 | |||
98 | MODULE_LICENSE("GPL"); | ||
99 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-leadtek-y04g0051.c b/drivers/media/rc/keymaps/rc-leadtek-y04g0051.c new file mode 100644 index 000000000000..8faa54ff16e6 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-leadtek-y04g0051.c | |||
@@ -0,0 +1,99 @@ | |||
1 | /* | ||
2 | * LeadTek Y04G0051 remote controller keytable | ||
3 | * | ||
4 | * Copyright (C) 2010 Antti Palosaari <crope@iki.fi> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License along | ||
17 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||
19 | */ | ||
20 | |||
21 | #include <media/rc-map.h> | ||
22 | |||
23 | static struct rc_map_table leadtek_y04g0051[] = { | ||
24 | { 0x0300, KEY_POWER2 }, | ||
25 | { 0x0303, KEY_SCREEN }, | ||
26 | { 0x0304, KEY_RIGHT }, | ||
27 | { 0x0305, KEY_1 }, | ||
28 | { 0x0306, KEY_2 }, | ||
29 | { 0x0307, KEY_3 }, | ||
30 | { 0x0308, KEY_LEFT }, | ||
31 | { 0x0309, KEY_4 }, | ||
32 | { 0x030a, KEY_5 }, | ||
33 | { 0x030b, KEY_6 }, | ||
34 | { 0x030c, KEY_UP }, | ||
35 | { 0x030d, KEY_7 }, | ||
36 | { 0x030e, KEY_8 }, | ||
37 | { 0x030f, KEY_9 }, | ||
38 | { 0x0310, KEY_DOWN }, | ||
39 | { 0x0311, KEY_AGAIN }, | ||
40 | { 0x0312, KEY_0 }, | ||
41 | { 0x0313, KEY_OK }, /* 1st ok */ | ||
42 | { 0x0314, KEY_MUTE }, | ||
43 | { 0x0316, KEY_OK }, /* 2nd ok */ | ||
44 | { 0x031e, KEY_VIDEO }, /* 2nd video */ | ||
45 | { 0x031b, KEY_AUDIO }, | ||
46 | { 0x031f, KEY_TEXT }, | ||
47 | { 0x0340, KEY_SLEEP }, | ||
48 | { 0x0341, KEY_DOT }, | ||
49 | { 0x0342, KEY_REWIND }, | ||
50 | { 0x0343, KEY_PLAY }, | ||
51 | { 0x0344, KEY_FASTFORWARD }, | ||
52 | { 0x0345, KEY_TIME }, | ||
53 | { 0x0346, KEY_STOP }, /* 2nd stop */ | ||
54 | { 0x0347, KEY_RECORD }, | ||
55 | { 0x0348, KEY_CAMERA }, | ||
56 | { 0x0349, KEY_ESC }, | ||
57 | { 0x034a, KEY_NEW }, | ||
58 | { 0x034b, KEY_RED }, | ||
59 | { 0x034c, KEY_GREEN }, | ||
60 | { 0x034d, KEY_YELLOW }, | ||
61 | { 0x034e, KEY_BLUE }, | ||
62 | { 0x034f, KEY_MENU }, | ||
63 | { 0x0350, KEY_STOP }, /* 1st stop */ | ||
64 | { 0x0351, KEY_CHANNEL }, | ||
65 | { 0x0352, KEY_VIDEO }, /* 1st video */ | ||
66 | { 0x0353, KEY_EPG }, | ||
67 | { 0x0354, KEY_PREVIOUS }, | ||
68 | { 0x0355, KEY_NEXT }, | ||
69 | { 0x0356, KEY_TV }, | ||
70 | { 0x035a, KEY_VOLUMEDOWN }, | ||
71 | { 0x035b, KEY_CHANNELUP }, | ||
72 | { 0x035e, KEY_VOLUMEUP }, | ||
73 | { 0x035f, KEY_CHANNELDOWN }, | ||
74 | }; | ||
75 | |||
76 | static struct rc_map_list leadtek_y04g0051_map = { | ||
77 | .map = { | ||
78 | .scan = leadtek_y04g0051, | ||
79 | .size = ARRAY_SIZE(leadtek_y04g0051), | ||
80 | .rc_type = RC_TYPE_NEC, | ||
81 | .name = RC_MAP_LEADTEK_Y04G0051, | ||
82 | } | ||
83 | }; | ||
84 | |||
85 | static int __init init_rc_map_leadtek_y04g0051(void) | ||
86 | { | ||
87 | return rc_map_register(&leadtek_y04g0051_map); | ||
88 | } | ||
89 | |||
90 | static void __exit exit_rc_map_leadtek_y04g0051(void) | ||
91 | { | ||
92 | rc_map_unregister(&leadtek_y04g0051_map); | ||
93 | } | ||
94 | |||
95 | module_init(init_rc_map_leadtek_y04g0051) | ||
96 | module_exit(exit_rc_map_leadtek_y04g0051) | ||
97 | |||
98 | MODULE_LICENSE("GPL"); | ||
99 | MODULE_AUTHOR("Antti Palosaari <crope@iki.fi>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-lirc.c b/drivers/media/rc/keymaps/rc-lirc.c new file mode 100644 index 000000000000..e8e23e233c39 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-lirc.c | |||
@@ -0,0 +1,41 @@ | |||
1 | /* rc-lirc.c - Empty dummy keytable, for use when its preferred to pass | ||
2 | * all raw IR data to the lirc userspace decoder. | ||
3 | * | ||
4 | * Copyright (c) 2010 by Jarod Wilson <jarod@redhat.com> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | */ | ||
11 | |||
12 | #include <media/rc-core.h> | ||
13 | |||
14 | static struct rc_map_table lirc[] = { | ||
15 | { }, | ||
16 | }; | ||
17 | |||
18 | static struct rc_map_list lirc_map = { | ||
19 | .map = { | ||
20 | .scan = lirc, | ||
21 | .size = ARRAY_SIZE(lirc), | ||
22 | .rc_type = RC_TYPE_LIRC, | ||
23 | .name = RC_MAP_LIRC, | ||
24 | } | ||
25 | }; | ||
26 | |||
27 | static int __init init_rc_map_lirc(void) | ||
28 | { | ||
29 | return rc_map_register(&lirc_map); | ||
30 | } | ||
31 | |||
32 | static void __exit exit_rc_map_lirc(void) | ||
33 | { | ||
34 | rc_map_unregister(&lirc_map); | ||
35 | } | ||
36 | |||
37 | module_init(init_rc_map_lirc) | ||
38 | module_exit(exit_rc_map_lirc) | ||
39 | |||
40 | MODULE_LICENSE("GPL"); | ||
41 | MODULE_AUTHOR("Jarod Wilson <jarod@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-lme2510.c b/drivers/media/rc/keymaps/rc-lme2510.c new file mode 100644 index 000000000000..875cd81477c7 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-lme2510.c | |||
@@ -0,0 +1,68 @@ | |||
1 | /* LME2510 remote control | ||
2 | * | ||
3 | * | ||
4 | * Copyright (C) 2010 Malcolm Priestley (tvboxspy@gmail.com) | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | */ | ||
11 | |||
12 | #include <media/rc-map.h> | ||
13 | |||
14 | |||
15 | static struct rc_map_table lme2510_rc[] = { | ||
16 | { 0xba45, KEY_0 }, | ||
17 | { 0xa05f, KEY_1 }, | ||
18 | { 0xaf50, KEY_2 }, | ||
19 | { 0xa25d, KEY_3 }, | ||
20 | { 0xbe41, KEY_4 }, | ||
21 | { 0xf50a, KEY_5 }, | ||
22 | { 0xbd42, KEY_6 }, | ||
23 | { 0xb847, KEY_7 }, | ||
24 | { 0xb649, KEY_8 }, | ||
25 | { 0xfa05, KEY_9 }, | ||
26 | { 0xbc43, KEY_POWER }, | ||
27 | { 0xb946, KEY_SUBTITLE }, | ||
28 | { 0xf906, KEY_PAUSE }, | ||
29 | { 0xfc03, KEY_MEDIA_REPEAT}, | ||
30 | { 0xfd02, KEY_PAUSE }, | ||
31 | { 0xa15e, KEY_VOLUMEUP }, | ||
32 | { 0xa35c, KEY_VOLUMEDOWN }, | ||
33 | { 0xf609, KEY_CHANNELUP }, | ||
34 | { 0xe51a, KEY_CHANNELDOWN }, | ||
35 | { 0xe11e, KEY_PLAY }, | ||
36 | { 0xe41b, KEY_ZOOM }, | ||
37 | { 0xa659, KEY_MUTE }, | ||
38 | { 0xa55a, KEY_TV }, | ||
39 | { 0xe718, KEY_RECORD }, | ||
40 | { 0xf807, KEY_EPG }, | ||
41 | { 0xfe01, KEY_STOP }, | ||
42 | |||
43 | }; | ||
44 | |||
45 | static struct rc_map_list lme2510_map = { | ||
46 | .map = { | ||
47 | .scan = lme2510_rc, | ||
48 | .size = ARRAY_SIZE(lme2510_rc), | ||
49 | .rc_type = RC_TYPE_UNKNOWN, | ||
50 | .name = RC_MAP_LME2510, | ||
51 | } | ||
52 | }; | ||
53 | |||
54 | static int __init init_rc_lme2510_map(void) | ||
55 | { | ||
56 | return rc_map_register(&lme2510_map); | ||
57 | } | ||
58 | |||
59 | static void __exit exit_rc_lme2510_map(void) | ||
60 | { | ||
61 | rc_map_unregister(&lme2510_map); | ||
62 | } | ||
63 | |||
64 | module_init(init_rc_lme2510_map) | ||
65 | module_exit(exit_rc_lme2510_map) | ||
66 | |||
67 | MODULE_LICENSE("GPL"); | ||
68 | MODULE_AUTHOR("Malcolm Priestley tvboxspy@gmail.com"); | ||
diff --git a/drivers/media/rc/keymaps/rc-manli.c b/drivers/media/rc/keymaps/rc-manli.c new file mode 100644 index 000000000000..23b2d04e7a9f --- /dev/null +++ b/drivers/media/rc/keymaps/rc-manli.c | |||
@@ -0,0 +1,134 @@ | |||
1 | /* manli.h - Keytable for manli Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* Michael Tokarev <mjt@tls.msk.ru> | ||
16 | keytable is used by MANLI MTV00[0x0c] and BeholdTV 40[13] at | ||
17 | least, and probably other cards too. | ||
18 | The "ascii-art picture" below (in comments, first row | ||
19 | is the keycode in hex, and subsequent row(s) shows | ||
20 | the button labels (several variants when appropriate) | ||
21 | helps to descide which keycodes to assign to the buttons. | ||
22 | */ | ||
23 | |||
24 | static struct rc_map_table manli[] = { | ||
25 | |||
26 | /* 0x1c 0x12 * | ||
27 | * FUNCTION POWER * | ||
28 | * FM (|) * | ||
29 | * */ | ||
30 | { 0x1c, KEY_RADIO }, /*XXX*/ | ||
31 | { 0x12, KEY_POWER }, | ||
32 | |||
33 | /* 0x01 0x02 0x03 * | ||
34 | * 1 2 3 * | ||
35 | * * | ||
36 | * 0x04 0x05 0x06 * | ||
37 | * 4 5 6 * | ||
38 | * * | ||
39 | * 0x07 0x08 0x09 * | ||
40 | * 7 8 9 * | ||
41 | * */ | ||
42 | { 0x01, KEY_1 }, | ||
43 | { 0x02, KEY_2 }, | ||
44 | { 0x03, KEY_3 }, | ||
45 | { 0x04, KEY_4 }, | ||
46 | { 0x05, KEY_5 }, | ||
47 | { 0x06, KEY_6 }, | ||
48 | { 0x07, KEY_7 }, | ||
49 | { 0x08, KEY_8 }, | ||
50 | { 0x09, KEY_9 }, | ||
51 | |||
52 | /* 0x0a 0x00 0x17 * | ||
53 | * RECALL 0 +100 * | ||
54 | * PLUS * | ||
55 | * */ | ||
56 | { 0x0a, KEY_AGAIN }, /*XXX KEY_REWIND? */ | ||
57 | { 0x00, KEY_0 }, | ||
58 | { 0x17, KEY_DIGITS }, /*XXX*/ | ||
59 | |||
60 | /* 0x14 0x10 * | ||
61 | * MENU INFO * | ||
62 | * OSD */ | ||
63 | { 0x14, KEY_MENU }, | ||
64 | { 0x10, KEY_INFO }, | ||
65 | |||
66 | /* 0x0b * | ||
67 | * Up * | ||
68 | * * | ||
69 | * 0x18 0x16 0x0c * | ||
70 | * Left Ok Right * | ||
71 | * * | ||
72 | * 0x015 * | ||
73 | * Down * | ||
74 | * */ | ||
75 | { 0x0b, KEY_UP }, | ||
76 | { 0x18, KEY_LEFT }, | ||
77 | { 0x16, KEY_OK }, /*XXX KEY_SELECT? KEY_ENTER? */ | ||
78 | { 0x0c, KEY_RIGHT }, | ||
79 | { 0x15, KEY_DOWN }, | ||
80 | |||
81 | /* 0x11 0x0d * | ||
82 | * TV/AV MODE * | ||
83 | * SOURCE STEREO * | ||
84 | * */ | ||
85 | { 0x11, KEY_TV }, /*XXX*/ | ||
86 | { 0x0d, KEY_MODE }, /*XXX there's no KEY_STEREO */ | ||
87 | |||
88 | /* 0x0f 0x1b 0x1a * | ||
89 | * AUDIO Vol+ Chan+ * | ||
90 | * TIMESHIFT??? * | ||
91 | * * | ||
92 | * 0x0e 0x1f 0x1e * | ||
93 | * SLEEP Vol- Chan- * | ||
94 | * */ | ||
95 | { 0x0f, KEY_AUDIO }, | ||
96 | { 0x1b, KEY_VOLUMEUP }, | ||
97 | { 0x1a, KEY_CHANNELUP }, | ||
98 | { 0x0e, KEY_TIME }, | ||
99 | { 0x1f, KEY_VOLUMEDOWN }, | ||
100 | { 0x1e, KEY_CHANNELDOWN }, | ||
101 | |||
102 | /* 0x13 0x19 * | ||
103 | * MUTE SNAPSHOT* | ||
104 | * */ | ||
105 | { 0x13, KEY_MUTE }, | ||
106 | { 0x19, KEY_CAMERA }, | ||
107 | |||
108 | /* 0x1d unused ? */ | ||
109 | }; | ||
110 | |||
111 | static struct rc_map_list manli_map = { | ||
112 | .map = { | ||
113 | .scan = manli, | ||
114 | .size = ARRAY_SIZE(manli), | ||
115 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
116 | .name = RC_MAP_MANLI, | ||
117 | } | ||
118 | }; | ||
119 | |||
120 | static int __init init_rc_map_manli(void) | ||
121 | { | ||
122 | return rc_map_register(&manli_map); | ||
123 | } | ||
124 | |||
125 | static void __exit exit_rc_map_manli(void) | ||
126 | { | ||
127 | rc_map_unregister(&manli_map); | ||
128 | } | ||
129 | |||
130 | module_init(init_rc_map_manli) | ||
131 | module_exit(exit_rc_map_manli) | ||
132 | |||
133 | MODULE_LICENSE("GPL"); | ||
134 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-msi-digivox-ii.c b/drivers/media/rc/keymaps/rc-msi-digivox-ii.c new file mode 100644 index 000000000000..7b9a01b6e4cf --- /dev/null +++ b/drivers/media/rc/keymaps/rc-msi-digivox-ii.c | |||
@@ -0,0 +1,67 @@ | |||
1 | /* | ||
2 | * MSI DIGIVOX mini II remote controller keytable | ||
3 | * | ||
4 | * Copyright (C) 2010 Antti Palosaari <crope@iki.fi> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License along | ||
17 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||
19 | */ | ||
20 | |||
21 | #include <media/rc-map.h> | ||
22 | |||
23 | static struct rc_map_table msi_digivox_ii[] = { | ||
24 | { 0x0002, KEY_2 }, | ||
25 | { 0x0003, KEY_UP }, /* up */ | ||
26 | { 0x0004, KEY_3 }, | ||
27 | { 0x0005, KEY_CHANNELDOWN }, | ||
28 | { 0x0008, KEY_5 }, | ||
29 | { 0x0009, KEY_0 }, | ||
30 | { 0x000b, KEY_8 }, | ||
31 | { 0x000d, KEY_DOWN }, /* down */ | ||
32 | { 0x0010, KEY_9 }, | ||
33 | { 0x0011, KEY_7 }, | ||
34 | { 0x0014, KEY_VOLUMEUP }, | ||
35 | { 0x0015, KEY_CHANNELUP }, | ||
36 | { 0x0016, KEY_OK }, | ||
37 | { 0x0017, KEY_POWER2 }, | ||
38 | { 0x001a, KEY_1 }, | ||
39 | { 0x001c, KEY_4 }, | ||
40 | { 0x001d, KEY_6 }, | ||
41 | { 0x001f, KEY_VOLUMEDOWN }, | ||
42 | }; | ||
43 | |||
44 | static struct rc_map_list msi_digivox_ii_map = { | ||
45 | .map = { | ||
46 | .scan = msi_digivox_ii, | ||
47 | .size = ARRAY_SIZE(msi_digivox_ii), | ||
48 | .rc_type = RC_TYPE_NEC, | ||
49 | .name = RC_MAP_MSI_DIGIVOX_II, | ||
50 | } | ||
51 | }; | ||
52 | |||
53 | static int __init init_rc_map_msi_digivox_ii(void) | ||
54 | { | ||
55 | return rc_map_register(&msi_digivox_ii_map); | ||
56 | } | ||
57 | |||
58 | static void __exit exit_rc_map_msi_digivox_ii(void) | ||
59 | { | ||
60 | rc_map_unregister(&msi_digivox_ii_map); | ||
61 | } | ||
62 | |||
63 | module_init(init_rc_map_msi_digivox_ii) | ||
64 | module_exit(exit_rc_map_msi_digivox_ii) | ||
65 | |||
66 | MODULE_LICENSE("GPL"); | ||
67 | MODULE_AUTHOR("Antti Palosaari <crope@iki.fi>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-msi-digivox-iii.c b/drivers/media/rc/keymaps/rc-msi-digivox-iii.c new file mode 100644 index 000000000000..ae9d06b39157 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-msi-digivox-iii.c | |||
@@ -0,0 +1,85 @@ | |||
1 | /* | ||
2 | * MSI DIGIVOX mini III remote controller keytable | ||
3 | * | ||
4 | * Copyright (C) 2010 Antti Palosaari <crope@iki.fi> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License along | ||
17 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||
19 | */ | ||
20 | |||
21 | #include <media/rc-map.h> | ||
22 | |||
23 | /* MSI DIGIVOX mini III */ | ||
24 | /* Uses NEC extended 0x61d6. */ | ||
25 | /* This remote seems to be same as rc-kworld-315u.c. Anyhow, add new remote | ||
26 | since rc-kworld-315u.c lacks NEC extended address byte. */ | ||
27 | static struct rc_map_table msi_digivox_iii[] = { | ||
28 | { 0x61d601, KEY_VIDEO }, /* Source */ | ||
29 | { 0x61d602, KEY_3 }, | ||
30 | { 0x61d603, KEY_POWER }, /* ShutDown */ | ||
31 | { 0x61d604, KEY_1 }, | ||
32 | { 0x61d605, KEY_5 }, | ||
33 | { 0x61d606, KEY_6 }, | ||
34 | { 0x61d607, KEY_CHANNELDOWN }, /* CH- */ | ||
35 | { 0x61d608, KEY_2 }, | ||
36 | { 0x61d609, KEY_CHANNELUP }, /* CH+ */ | ||
37 | { 0x61d60a, KEY_9 }, | ||
38 | { 0x61d60b, KEY_ZOOM }, /* Zoom */ | ||
39 | { 0x61d60c, KEY_7 }, | ||
40 | { 0x61d60d, KEY_8 }, | ||
41 | { 0x61d60e, KEY_VOLUMEUP }, /* Vol+ */ | ||
42 | { 0x61d60f, KEY_4 }, | ||
43 | { 0x61d610, KEY_ESC }, /* [back up arrow] */ | ||
44 | { 0x61d611, KEY_0 }, | ||
45 | { 0x61d612, KEY_OK }, /* [enter arrow] */ | ||
46 | { 0x61d613, KEY_VOLUMEDOWN }, /* Vol- */ | ||
47 | { 0x61d614, KEY_RECORD }, /* Rec */ | ||
48 | { 0x61d615, KEY_STOP }, /* Stop */ | ||
49 | { 0x61d616, KEY_PLAY }, /* Play */ | ||
50 | { 0x61d617, KEY_MUTE }, /* Mute */ | ||
51 | { 0x61d618, KEY_UP }, | ||
52 | { 0x61d619, KEY_DOWN }, | ||
53 | { 0x61d61a, KEY_LEFT }, | ||
54 | { 0x61d61b, KEY_RIGHT }, | ||
55 | { 0x61d61c, KEY_RED }, | ||
56 | { 0x61d61d, KEY_GREEN }, | ||
57 | { 0x61d61e, KEY_YELLOW }, | ||
58 | { 0x61d61f, KEY_BLUE }, | ||
59 | { 0x61d643, KEY_POWER2 }, /* [red power button] */ | ||
60 | }; | ||
61 | |||
62 | static struct rc_map_list msi_digivox_iii_map = { | ||
63 | .map = { | ||
64 | .scan = msi_digivox_iii, | ||
65 | .size = ARRAY_SIZE(msi_digivox_iii), | ||
66 | .rc_type = RC_TYPE_NEC, | ||
67 | .name = RC_MAP_MSI_DIGIVOX_III, | ||
68 | } | ||
69 | }; | ||
70 | |||
71 | static int __init init_rc_map_msi_digivox_iii(void) | ||
72 | { | ||
73 | return rc_map_register(&msi_digivox_iii_map); | ||
74 | } | ||
75 | |||
76 | static void __exit exit_rc_map_msi_digivox_iii(void) | ||
77 | { | ||
78 | rc_map_unregister(&msi_digivox_iii_map); | ||
79 | } | ||
80 | |||
81 | module_init(init_rc_map_msi_digivox_iii) | ||
82 | module_exit(exit_rc_map_msi_digivox_iii) | ||
83 | |||
84 | MODULE_LICENSE("GPL"); | ||
85 | MODULE_AUTHOR("Antti Palosaari <crope@iki.fi>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-msi-tvanywhere-plus.c b/drivers/media/rc/keymaps/rc-msi-tvanywhere-plus.c new file mode 100644 index 000000000000..fa8fd0ab94c7 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-msi-tvanywhere-plus.c | |||
@@ -0,0 +1,123 @@ | |||
1 | /* msi-tvanywhere-plus.h - Keytable for msi_tvanywhere_plus Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* | ||
16 | Keycodes for remote on the MSI TV@nywhere Plus. The controller IC on the card | ||
17 | is marked "KS003". The controller is I2C at address 0x30, but does not seem | ||
18 | to respond to probes until a read is performed from a valid device. | ||
19 | I don't know why... | ||
20 | |||
21 | Note: This remote may be of similar or identical design to the | ||
22 | Pixelview remote (?). The raw codes and duplicate button codes | ||
23 | appear to be the same. | ||
24 | |||
25 | Henry Wong <henry@stuffedcow.net> | ||
26 | Some changes to formatting and keycodes by Mark Schultz <n9xmj@yahoo.com> | ||
27 | */ | ||
28 | |||
29 | static struct rc_map_table msi_tvanywhere_plus[] = { | ||
30 | |||
31 | /* ---- Remote Button Layout ---- | ||
32 | |||
33 | POWER SOURCE SCAN MUTE | ||
34 | TV/FM 1 2 3 | ||
35 | |> 4 5 6 | ||
36 | <| 7 8 9 | ||
37 | ^^UP 0 + RECALL | ||
38 | vvDN RECORD STOP PLAY | ||
39 | |||
40 | MINIMIZE ZOOM | ||
41 | |||
42 | CH+ | ||
43 | VOL- VOL+ | ||
44 | CH- | ||
45 | |||
46 | SNAPSHOT MTS | ||
47 | |||
48 | << FUNC >> RESET | ||
49 | */ | ||
50 | |||
51 | { 0x01, KEY_1 }, /* 1 */ | ||
52 | { 0x0b, KEY_2 }, /* 2 */ | ||
53 | { 0x1b, KEY_3 }, /* 3 */ | ||
54 | { 0x05, KEY_4 }, /* 4 */ | ||
55 | { 0x09, KEY_5 }, /* 5 */ | ||
56 | { 0x15, KEY_6 }, /* 6 */ | ||
57 | { 0x06, KEY_7 }, /* 7 */ | ||
58 | { 0x0a, KEY_8 }, /* 8 */ | ||
59 | { 0x12, KEY_9 }, /* 9 */ | ||
60 | { 0x02, KEY_0 }, /* 0 */ | ||
61 | { 0x10, KEY_KPPLUS }, /* + */ | ||
62 | { 0x13, KEY_AGAIN }, /* Recall */ | ||
63 | |||
64 | { 0x1e, KEY_POWER }, /* Power */ | ||
65 | { 0x07, KEY_TUNER }, /* Source */ | ||
66 | { 0x1c, KEY_SEARCH }, /* Scan */ | ||
67 | { 0x18, KEY_MUTE }, /* Mute */ | ||
68 | |||
69 | { 0x03, KEY_RADIO }, /* TV/FM */ | ||
70 | /* The next four keys are duplicates that appear to send the | ||
71 | same IR code as Ch+, Ch-, >>, and << . The raw code assigned | ||
72 | to them is the actual code + 0x20 - they will never be | ||
73 | detected as such unless some way is discovered to distinguish | ||
74 | these buttons from those that have the same code. */ | ||
75 | { 0x3f, KEY_RIGHT }, /* |> and Ch+ */ | ||
76 | { 0x37, KEY_LEFT }, /* <| and Ch- */ | ||
77 | { 0x2c, KEY_UP }, /* ^^Up and >> */ | ||
78 | { 0x24, KEY_DOWN }, /* vvDn and << */ | ||
79 | |||
80 | { 0x00, KEY_RECORD }, /* Record */ | ||
81 | { 0x08, KEY_STOP }, /* Stop */ | ||
82 | { 0x11, KEY_PLAY }, /* Play */ | ||
83 | |||
84 | { 0x0f, KEY_CLOSE }, /* Minimize */ | ||
85 | { 0x19, KEY_ZOOM }, /* Zoom */ | ||
86 | { 0x1a, KEY_CAMERA }, /* Snapshot */ | ||
87 | { 0x0d, KEY_LANGUAGE }, /* MTS */ | ||
88 | |||
89 | { 0x14, KEY_VOLUMEDOWN }, /* Vol- */ | ||
90 | { 0x16, KEY_VOLUMEUP }, /* Vol+ */ | ||
91 | { 0x17, KEY_CHANNELDOWN }, /* Ch- */ | ||
92 | { 0x1f, KEY_CHANNELUP }, /* Ch+ */ | ||
93 | |||
94 | { 0x04, KEY_REWIND }, /* << */ | ||
95 | { 0x0e, KEY_MENU }, /* Function */ | ||
96 | { 0x0c, KEY_FASTFORWARD }, /* >> */ | ||
97 | { 0x1d, KEY_RESTART }, /* Reset */ | ||
98 | }; | ||
99 | |||
100 | static struct rc_map_list msi_tvanywhere_plus_map = { | ||
101 | .map = { | ||
102 | .scan = msi_tvanywhere_plus, | ||
103 | .size = ARRAY_SIZE(msi_tvanywhere_plus), | ||
104 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
105 | .name = RC_MAP_MSI_TVANYWHERE_PLUS, | ||
106 | } | ||
107 | }; | ||
108 | |||
109 | static int __init init_rc_map_msi_tvanywhere_plus(void) | ||
110 | { | ||
111 | return rc_map_register(&msi_tvanywhere_plus_map); | ||
112 | } | ||
113 | |||
114 | static void __exit exit_rc_map_msi_tvanywhere_plus(void) | ||
115 | { | ||
116 | rc_map_unregister(&msi_tvanywhere_plus_map); | ||
117 | } | ||
118 | |||
119 | module_init(init_rc_map_msi_tvanywhere_plus) | ||
120 | module_exit(exit_rc_map_msi_tvanywhere_plus) | ||
121 | |||
122 | MODULE_LICENSE("GPL"); | ||
123 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-msi-tvanywhere.c b/drivers/media/rc/keymaps/rc-msi-tvanywhere.c new file mode 100644 index 000000000000..18b37facb0dd --- /dev/null +++ b/drivers/media/rc/keymaps/rc-msi-tvanywhere.c | |||
@@ -0,0 +1,69 @@ | |||
1 | /* msi-tvanywhere.h - Keytable for msi_tvanywhere Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* MSI TV@nywhere MASTER remote */ | ||
16 | |||
17 | static struct rc_map_table msi_tvanywhere[] = { | ||
18 | /* Keys 0 to 9 */ | ||
19 | { 0x00, KEY_0 }, | ||
20 | { 0x01, KEY_1 }, | ||
21 | { 0x02, KEY_2 }, | ||
22 | { 0x03, KEY_3 }, | ||
23 | { 0x04, KEY_4 }, | ||
24 | { 0x05, KEY_5 }, | ||
25 | { 0x06, KEY_6 }, | ||
26 | { 0x07, KEY_7 }, | ||
27 | { 0x08, KEY_8 }, | ||
28 | { 0x09, KEY_9 }, | ||
29 | |||
30 | { 0x0c, KEY_MUTE }, | ||
31 | { 0x0f, KEY_SCREEN }, /* Full Screen */ | ||
32 | { 0x10, KEY_FN }, /* Funtion */ | ||
33 | { 0x11, KEY_TIME }, /* Time shift */ | ||
34 | { 0x12, KEY_POWER }, | ||
35 | { 0x13, KEY_MEDIA }, /* MTS */ | ||
36 | { 0x14, KEY_SLOW }, | ||
37 | { 0x16, KEY_REWIND }, /* backward << */ | ||
38 | { 0x17, KEY_ENTER }, /* Return */ | ||
39 | { 0x18, KEY_FASTFORWARD }, /* forward >> */ | ||
40 | { 0x1a, KEY_CHANNELUP }, | ||
41 | { 0x1b, KEY_VOLUMEUP }, | ||
42 | { 0x1e, KEY_CHANNELDOWN }, | ||
43 | { 0x1f, KEY_VOLUMEDOWN }, | ||
44 | }; | ||
45 | |||
46 | static struct rc_map_list msi_tvanywhere_map = { | ||
47 | .map = { | ||
48 | .scan = msi_tvanywhere, | ||
49 | .size = ARRAY_SIZE(msi_tvanywhere), | ||
50 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
51 | .name = RC_MAP_MSI_TVANYWHERE, | ||
52 | } | ||
53 | }; | ||
54 | |||
55 | static int __init init_rc_map_msi_tvanywhere(void) | ||
56 | { | ||
57 | return rc_map_register(&msi_tvanywhere_map); | ||
58 | } | ||
59 | |||
60 | static void __exit exit_rc_map_msi_tvanywhere(void) | ||
61 | { | ||
62 | rc_map_unregister(&msi_tvanywhere_map); | ||
63 | } | ||
64 | |||
65 | module_init(init_rc_map_msi_tvanywhere) | ||
66 | module_exit(exit_rc_map_msi_tvanywhere) | ||
67 | |||
68 | MODULE_LICENSE("GPL"); | ||
69 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-nebula.c b/drivers/media/rc/keymaps/rc-nebula.c new file mode 100644 index 000000000000..3e6f077eb700 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-nebula.c | |||
@@ -0,0 +1,96 @@ | |||
1 | /* nebula.h - Keytable for nebula Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | static struct rc_map_table nebula[] = { | ||
16 | { 0x00, KEY_0 }, | ||
17 | { 0x01, KEY_1 }, | ||
18 | { 0x02, KEY_2 }, | ||
19 | { 0x03, KEY_3 }, | ||
20 | { 0x04, KEY_4 }, | ||
21 | { 0x05, KEY_5 }, | ||
22 | { 0x06, KEY_6 }, | ||
23 | { 0x07, KEY_7 }, | ||
24 | { 0x08, KEY_8 }, | ||
25 | { 0x09, KEY_9 }, | ||
26 | { 0x0a, KEY_TV }, | ||
27 | { 0x0b, KEY_AUX }, | ||
28 | { 0x0c, KEY_DVD }, | ||
29 | { 0x0d, KEY_POWER }, | ||
30 | { 0x0e, KEY_MHP }, /* labelled 'Picture' */ | ||
31 | { 0x0f, KEY_AUDIO }, | ||
32 | { 0x10, KEY_INFO }, | ||
33 | { 0x11, KEY_F13 }, /* 16:9 */ | ||
34 | { 0x12, KEY_F14 }, /* 14:9 */ | ||
35 | { 0x13, KEY_EPG }, | ||
36 | { 0x14, KEY_EXIT }, | ||
37 | { 0x15, KEY_MENU }, | ||
38 | { 0x16, KEY_UP }, | ||
39 | { 0x17, KEY_DOWN }, | ||
40 | { 0x18, KEY_LEFT }, | ||
41 | { 0x19, KEY_RIGHT }, | ||
42 | { 0x1a, KEY_ENTER }, | ||
43 | { 0x1b, KEY_CHANNELUP }, | ||
44 | { 0x1c, KEY_CHANNELDOWN }, | ||
45 | { 0x1d, KEY_VOLUMEUP }, | ||
46 | { 0x1e, KEY_VOLUMEDOWN }, | ||
47 | { 0x1f, KEY_RED }, | ||
48 | { 0x20, KEY_GREEN }, | ||
49 | { 0x21, KEY_YELLOW }, | ||
50 | { 0x22, KEY_BLUE }, | ||
51 | { 0x23, KEY_SUBTITLE }, | ||
52 | { 0x24, KEY_F15 }, /* AD */ | ||
53 | { 0x25, KEY_TEXT }, | ||
54 | { 0x26, KEY_MUTE }, | ||
55 | { 0x27, KEY_REWIND }, | ||
56 | { 0x28, KEY_STOP }, | ||
57 | { 0x29, KEY_PLAY }, | ||
58 | { 0x2a, KEY_FASTFORWARD }, | ||
59 | { 0x2b, KEY_F16 }, /* chapter */ | ||
60 | { 0x2c, KEY_PAUSE }, | ||
61 | { 0x2d, KEY_PLAY }, | ||
62 | { 0x2e, KEY_RECORD }, | ||
63 | { 0x2f, KEY_F17 }, /* picture in picture */ | ||
64 | { 0x30, KEY_KPPLUS }, /* zoom in */ | ||
65 | { 0x31, KEY_KPMINUS }, /* zoom out */ | ||
66 | { 0x32, KEY_F18 }, /* capture */ | ||
67 | { 0x33, KEY_F19 }, /* web */ | ||
68 | { 0x34, KEY_EMAIL }, | ||
69 | { 0x35, KEY_PHONE }, | ||
70 | { 0x36, KEY_PC }, | ||
71 | }; | ||
72 | |||
73 | static struct rc_map_list nebula_map = { | ||
74 | .map = { | ||
75 | .scan = nebula, | ||
76 | .size = ARRAY_SIZE(nebula), | ||
77 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
78 | .name = RC_MAP_NEBULA, | ||
79 | } | ||
80 | }; | ||
81 | |||
82 | static int __init init_rc_map_nebula(void) | ||
83 | { | ||
84 | return rc_map_register(&nebula_map); | ||
85 | } | ||
86 | |||
87 | static void __exit exit_rc_map_nebula(void) | ||
88 | { | ||
89 | rc_map_unregister(&nebula_map); | ||
90 | } | ||
91 | |||
92 | module_init(init_rc_map_nebula) | ||
93 | module_exit(exit_rc_map_nebula) | ||
94 | |||
95 | MODULE_LICENSE("GPL"); | ||
96 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-nec-terratec-cinergy-xs.c b/drivers/media/rc/keymaps/rc-nec-terratec-cinergy-xs.c new file mode 100644 index 000000000000..26f114c5c0de --- /dev/null +++ b/drivers/media/rc/keymaps/rc-nec-terratec-cinergy-xs.c | |||
@@ -0,0 +1,105 @@ | |||
1 | /* nec-terratec-cinergy-xs.h - Keytable for nec_terratec_cinergy_xs Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* Terratec Cinergy Hybrid T USB XS FM | ||
16 | Mauro Carvalho Chehab <mchehab@redhat.com> | ||
17 | */ | ||
18 | |||
19 | static struct rc_map_table nec_terratec_cinergy_xs[] = { | ||
20 | { 0x1441, KEY_HOME}, | ||
21 | { 0x1401, KEY_POWER2}, | ||
22 | |||
23 | { 0x1442, KEY_MENU}, /* DVD menu */ | ||
24 | { 0x1443, KEY_SUBTITLE}, | ||
25 | { 0x1444, KEY_TEXT}, /* Teletext */ | ||
26 | { 0x1445, KEY_DELETE}, | ||
27 | |||
28 | { 0x1402, KEY_1}, | ||
29 | { 0x1403, KEY_2}, | ||
30 | { 0x1404, KEY_3}, | ||
31 | { 0x1405, KEY_4}, | ||
32 | { 0x1406, KEY_5}, | ||
33 | { 0x1407, KEY_6}, | ||
34 | { 0x1408, KEY_7}, | ||
35 | { 0x1409, KEY_8}, | ||
36 | { 0x140a, KEY_9}, | ||
37 | { 0x140c, KEY_0}, | ||
38 | |||
39 | { 0x140b, KEY_TUNER}, /* AV */ | ||
40 | { 0x140d, KEY_MODE}, /* A.B */ | ||
41 | |||
42 | { 0x1446, KEY_TV}, | ||
43 | { 0x1447, KEY_DVD}, | ||
44 | { 0x1449, KEY_VIDEO}, | ||
45 | { 0x144a, KEY_RADIO}, /* Music */ | ||
46 | { 0x144b, KEY_CAMERA}, /* PIC */ | ||
47 | |||
48 | { 0x1410, KEY_UP}, | ||
49 | { 0x1411, KEY_LEFT}, | ||
50 | { 0x1412, KEY_OK}, | ||
51 | { 0x1413, KEY_RIGHT}, | ||
52 | { 0x1414, KEY_DOWN}, | ||
53 | |||
54 | { 0x140f, KEY_EPG}, | ||
55 | { 0x1416, KEY_INFO}, | ||
56 | { 0x144d, KEY_BACKSPACE}, | ||
57 | |||
58 | { 0x141c, KEY_VOLUMEUP}, | ||
59 | { 0x141e, KEY_VOLUMEDOWN}, | ||
60 | |||
61 | { 0x144c, KEY_PLAY}, | ||
62 | { 0x141d, KEY_MUTE}, | ||
63 | |||
64 | { 0x141b, KEY_CHANNELUP}, | ||
65 | { 0x141f, KEY_CHANNELDOWN}, | ||
66 | |||
67 | { 0x1417, KEY_RED}, | ||
68 | { 0x1418, KEY_GREEN}, | ||
69 | { 0x1419, KEY_YELLOW}, | ||
70 | { 0x141a, KEY_BLUE}, | ||
71 | |||
72 | { 0x1458, KEY_RECORD}, | ||
73 | { 0x1448, KEY_STOP}, | ||
74 | { 0x1440, KEY_PAUSE}, | ||
75 | |||
76 | { 0x1454, KEY_LAST}, | ||
77 | { 0x144e, KEY_REWIND}, | ||
78 | { 0x144f, KEY_FASTFORWARD}, | ||
79 | { 0x145c, KEY_NEXT}, | ||
80 | }; | ||
81 | |||
82 | static struct rc_map_list nec_terratec_cinergy_xs_map = { | ||
83 | .map = { | ||
84 | .scan = nec_terratec_cinergy_xs, | ||
85 | .size = ARRAY_SIZE(nec_terratec_cinergy_xs), | ||
86 | .rc_type = RC_TYPE_NEC, | ||
87 | .name = RC_MAP_NEC_TERRATEC_CINERGY_XS, | ||
88 | } | ||
89 | }; | ||
90 | |||
91 | static int __init init_rc_map_nec_terratec_cinergy_xs(void) | ||
92 | { | ||
93 | return rc_map_register(&nec_terratec_cinergy_xs_map); | ||
94 | } | ||
95 | |||
96 | static void __exit exit_rc_map_nec_terratec_cinergy_xs(void) | ||
97 | { | ||
98 | rc_map_unregister(&nec_terratec_cinergy_xs_map); | ||
99 | } | ||
100 | |||
101 | module_init(init_rc_map_nec_terratec_cinergy_xs) | ||
102 | module_exit(exit_rc_map_nec_terratec_cinergy_xs) | ||
103 | |||
104 | MODULE_LICENSE("GPL"); | ||
105 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-norwood.c b/drivers/media/rc/keymaps/rc-norwood.c new file mode 100644 index 000000000000..629ee9d84537 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-norwood.c | |||
@@ -0,0 +1,85 @@ | |||
1 | /* norwood.h - Keytable for norwood Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* Norwood Micro (non-Pro) TV Tuner | ||
16 | By Peter Naulls <peter@chocky.org> | ||
17 | Key comments are the functions given in the manual */ | ||
18 | |||
19 | static struct rc_map_table norwood[] = { | ||
20 | /* Keys 0 to 9 */ | ||
21 | { 0x20, KEY_0 }, | ||
22 | { 0x21, KEY_1 }, | ||
23 | { 0x22, KEY_2 }, | ||
24 | { 0x23, KEY_3 }, | ||
25 | { 0x24, KEY_4 }, | ||
26 | { 0x25, KEY_5 }, | ||
27 | { 0x26, KEY_6 }, | ||
28 | { 0x27, KEY_7 }, | ||
29 | { 0x28, KEY_8 }, | ||
30 | { 0x29, KEY_9 }, | ||
31 | |||
32 | { 0x78, KEY_TUNER }, /* Video Source */ | ||
33 | { 0x2c, KEY_EXIT }, /* Open/Close software */ | ||
34 | { 0x2a, KEY_SELECT }, /* 2 Digit Select */ | ||
35 | { 0x69, KEY_AGAIN }, /* Recall */ | ||
36 | |||
37 | { 0x32, KEY_BRIGHTNESSUP }, /* Brightness increase */ | ||
38 | { 0x33, KEY_BRIGHTNESSDOWN }, /* Brightness decrease */ | ||
39 | { 0x6b, KEY_KPPLUS }, /* (not named >>>>>) */ | ||
40 | { 0x6c, KEY_KPMINUS }, /* (not named <<<<<) */ | ||
41 | |||
42 | { 0x2d, KEY_MUTE }, /* Mute */ | ||
43 | { 0x30, KEY_VOLUMEUP }, /* Volume up */ | ||
44 | { 0x31, KEY_VOLUMEDOWN }, /* Volume down */ | ||
45 | { 0x60, KEY_CHANNELUP }, /* Channel up */ | ||
46 | { 0x61, KEY_CHANNELDOWN }, /* Channel down */ | ||
47 | |||
48 | { 0x3f, KEY_RECORD }, /* Record */ | ||
49 | { 0x37, KEY_PLAY }, /* Play */ | ||
50 | { 0x36, KEY_PAUSE }, /* Pause */ | ||
51 | { 0x2b, KEY_STOP }, /* Stop */ | ||
52 | { 0x67, KEY_FASTFORWARD }, /* Foward */ | ||
53 | { 0x66, KEY_REWIND }, /* Rewind */ | ||
54 | { 0x3e, KEY_SEARCH }, /* Auto Scan */ | ||
55 | { 0x2e, KEY_CAMERA }, /* Capture Video */ | ||
56 | { 0x6d, KEY_MENU }, /* Show/Hide Control */ | ||
57 | { 0x2f, KEY_ZOOM }, /* Full Screen */ | ||
58 | { 0x34, KEY_RADIO }, /* FM */ | ||
59 | { 0x65, KEY_POWER }, /* Computer power */ | ||
60 | }; | ||
61 | |||
62 | static struct rc_map_list norwood_map = { | ||
63 | .map = { | ||
64 | .scan = norwood, | ||
65 | .size = ARRAY_SIZE(norwood), | ||
66 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
67 | .name = RC_MAP_NORWOOD, | ||
68 | } | ||
69 | }; | ||
70 | |||
71 | static int __init init_rc_map_norwood(void) | ||
72 | { | ||
73 | return rc_map_register(&norwood_map); | ||
74 | } | ||
75 | |||
76 | static void __exit exit_rc_map_norwood(void) | ||
77 | { | ||
78 | rc_map_unregister(&norwood_map); | ||
79 | } | ||
80 | |||
81 | module_init(init_rc_map_norwood) | ||
82 | module_exit(exit_rc_map_norwood) | ||
83 | |||
84 | MODULE_LICENSE("GPL"); | ||
85 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-npgtech.c b/drivers/media/rc/keymaps/rc-npgtech.c new file mode 100644 index 000000000000..4aa588bf6d69 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-npgtech.c | |||
@@ -0,0 +1,80 @@ | |||
1 | /* npgtech.h - Keytable for npgtech Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | static struct rc_map_table npgtech[] = { | ||
16 | { 0x1d, KEY_SWITCHVIDEOMODE }, /* switch inputs */ | ||
17 | { 0x2a, KEY_FRONT }, | ||
18 | |||
19 | { 0x3e, KEY_1 }, | ||
20 | { 0x02, KEY_2 }, | ||
21 | { 0x06, KEY_3 }, | ||
22 | { 0x0a, KEY_4 }, | ||
23 | { 0x0e, KEY_5 }, | ||
24 | { 0x12, KEY_6 }, | ||
25 | { 0x16, KEY_7 }, | ||
26 | { 0x1a, KEY_8 }, | ||
27 | { 0x1e, KEY_9 }, | ||
28 | { 0x3a, KEY_0 }, | ||
29 | { 0x22, KEY_NUMLOCK }, /* -/-- */ | ||
30 | { 0x20, KEY_REFRESH }, | ||
31 | |||
32 | { 0x03, KEY_BRIGHTNESSDOWN }, | ||
33 | { 0x28, KEY_AUDIO }, | ||
34 | { 0x3c, KEY_CHANNELUP }, | ||
35 | { 0x3f, KEY_VOLUMEDOWN }, | ||
36 | { 0x2e, KEY_MUTE }, | ||
37 | { 0x3b, KEY_VOLUMEUP }, | ||
38 | { 0x00, KEY_CHANNELDOWN }, | ||
39 | { 0x07, KEY_BRIGHTNESSUP }, | ||
40 | { 0x2c, KEY_TEXT }, | ||
41 | |||
42 | { 0x37, KEY_RECORD }, | ||
43 | { 0x17, KEY_PLAY }, | ||
44 | { 0x13, KEY_PAUSE }, | ||
45 | { 0x26, KEY_STOP }, | ||
46 | { 0x18, KEY_FASTFORWARD }, | ||
47 | { 0x14, KEY_REWIND }, | ||
48 | { 0x33, KEY_ZOOM }, | ||
49 | { 0x32, KEY_KEYBOARD }, | ||
50 | { 0x30, KEY_GOTO }, /* Pointing arrow */ | ||
51 | { 0x36, KEY_MACRO }, /* Maximize/Minimize (yellow) */ | ||
52 | { 0x0b, KEY_RADIO }, | ||
53 | { 0x10, KEY_POWER }, | ||
54 | |||
55 | }; | ||
56 | |||
57 | static struct rc_map_list npgtech_map = { | ||
58 | .map = { | ||
59 | .scan = npgtech, | ||
60 | .size = ARRAY_SIZE(npgtech), | ||
61 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
62 | .name = RC_MAP_NPGTECH, | ||
63 | } | ||
64 | }; | ||
65 | |||
66 | static int __init init_rc_map_npgtech(void) | ||
67 | { | ||
68 | return rc_map_register(&npgtech_map); | ||
69 | } | ||
70 | |||
71 | static void __exit exit_rc_map_npgtech(void) | ||
72 | { | ||
73 | rc_map_unregister(&npgtech_map); | ||
74 | } | ||
75 | |||
76 | module_init(init_rc_map_npgtech) | ||
77 | module_exit(exit_rc_map_npgtech) | ||
78 | |||
79 | MODULE_LICENSE("GPL"); | ||
80 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-pctv-sedna.c b/drivers/media/rc/keymaps/rc-pctv-sedna.c new file mode 100644 index 000000000000..fa5ae5981eb8 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-pctv-sedna.c | |||
@@ -0,0 +1,80 @@ | |||
1 | /* pctv-sedna.h - Keytable for pctv_sedna Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* Mapping for the 28 key remote control as seen at | ||
16 | http://www.sednacomputer.com/photo/cardbus-tv.jpg | ||
17 | Pavel Mihaylov <bin@bash.info> | ||
18 | Also for the remote bundled with Kozumi KTV-01C card */ | ||
19 | |||
20 | static struct rc_map_table pctv_sedna[] = { | ||
21 | { 0x00, KEY_0 }, | ||
22 | { 0x01, KEY_1 }, | ||
23 | { 0x02, KEY_2 }, | ||
24 | { 0x03, KEY_3 }, | ||
25 | { 0x04, KEY_4 }, | ||
26 | { 0x05, KEY_5 }, | ||
27 | { 0x06, KEY_6 }, | ||
28 | { 0x07, KEY_7 }, | ||
29 | { 0x08, KEY_8 }, | ||
30 | { 0x09, KEY_9 }, | ||
31 | |||
32 | { 0x0a, KEY_AGAIN }, /* Recall */ | ||
33 | { 0x0b, KEY_CHANNELUP }, | ||
34 | { 0x0c, KEY_VOLUMEUP }, | ||
35 | { 0x0d, KEY_MODE }, /* Stereo */ | ||
36 | { 0x0e, KEY_STOP }, | ||
37 | { 0x0f, KEY_PREVIOUSSONG }, | ||
38 | { 0x10, KEY_ZOOM }, | ||
39 | { 0x11, KEY_TUNER }, /* Source */ | ||
40 | { 0x12, KEY_POWER }, | ||
41 | { 0x13, KEY_MUTE }, | ||
42 | { 0x15, KEY_CHANNELDOWN }, | ||
43 | { 0x18, KEY_VOLUMEDOWN }, | ||
44 | { 0x19, KEY_CAMERA }, /* Snapshot */ | ||
45 | { 0x1a, KEY_NEXTSONG }, | ||
46 | { 0x1b, KEY_TIME }, /* Time Shift */ | ||
47 | { 0x1c, KEY_RADIO }, /* FM Radio */ | ||
48 | { 0x1d, KEY_RECORD }, | ||
49 | { 0x1e, KEY_PAUSE }, | ||
50 | /* additional codes for Kozumi's remote */ | ||
51 | { 0x14, KEY_INFO }, /* OSD */ | ||
52 | { 0x16, KEY_OK }, /* OK */ | ||
53 | { 0x17, KEY_DIGITS }, /* Plus */ | ||
54 | { 0x1f, KEY_PLAY }, /* Play */ | ||
55 | }; | ||
56 | |||
57 | static struct rc_map_list pctv_sedna_map = { | ||
58 | .map = { | ||
59 | .scan = pctv_sedna, | ||
60 | .size = ARRAY_SIZE(pctv_sedna), | ||
61 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
62 | .name = RC_MAP_PCTV_SEDNA, | ||
63 | } | ||
64 | }; | ||
65 | |||
66 | static int __init init_rc_map_pctv_sedna(void) | ||
67 | { | ||
68 | return rc_map_register(&pctv_sedna_map); | ||
69 | } | ||
70 | |||
71 | static void __exit exit_rc_map_pctv_sedna(void) | ||
72 | { | ||
73 | rc_map_unregister(&pctv_sedna_map); | ||
74 | } | ||
75 | |||
76 | module_init(init_rc_map_pctv_sedna) | ||
77 | module_exit(exit_rc_map_pctv_sedna) | ||
78 | |||
79 | MODULE_LICENSE("GPL"); | ||
80 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-pinnacle-color.c b/drivers/media/rc/keymaps/rc-pinnacle-color.c new file mode 100644 index 000000000000..23b8c505c6aa --- /dev/null +++ b/drivers/media/rc/keymaps/rc-pinnacle-color.c | |||
@@ -0,0 +1,94 @@ | |||
1 | /* pinnacle-color.h - Keytable for pinnacle_color Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | static struct rc_map_table pinnacle_color[] = { | ||
16 | { 0x59, KEY_MUTE }, | ||
17 | { 0x4a, KEY_POWER }, | ||
18 | |||
19 | { 0x18, KEY_TEXT }, | ||
20 | { 0x26, KEY_TV }, | ||
21 | { 0x3d, KEY_PRINT }, | ||
22 | |||
23 | { 0x48, KEY_RED }, | ||
24 | { 0x04, KEY_GREEN }, | ||
25 | { 0x11, KEY_YELLOW }, | ||
26 | { 0x00, KEY_BLUE }, | ||
27 | |||
28 | { 0x2d, KEY_VOLUMEUP }, | ||
29 | { 0x1e, KEY_VOLUMEDOWN }, | ||
30 | |||
31 | { 0x49, KEY_MENU }, | ||
32 | |||
33 | { 0x16, KEY_CHANNELUP }, | ||
34 | { 0x17, KEY_CHANNELDOWN }, | ||
35 | |||
36 | { 0x20, KEY_UP }, | ||
37 | { 0x21, KEY_DOWN }, | ||
38 | { 0x22, KEY_LEFT }, | ||
39 | { 0x23, KEY_RIGHT }, | ||
40 | { 0x0d, KEY_SELECT }, | ||
41 | |||
42 | { 0x08, KEY_BACK }, | ||
43 | { 0x07, KEY_REFRESH }, | ||
44 | |||
45 | { 0x2f, KEY_ZOOM }, | ||
46 | { 0x29, KEY_RECORD }, | ||
47 | |||
48 | { 0x4b, KEY_PAUSE }, | ||
49 | { 0x4d, KEY_REWIND }, | ||
50 | { 0x2e, KEY_PLAY }, | ||
51 | { 0x4e, KEY_FORWARD }, | ||
52 | { 0x53, KEY_PREVIOUS }, | ||
53 | { 0x4c, KEY_STOP }, | ||
54 | { 0x54, KEY_NEXT }, | ||
55 | |||
56 | { 0x69, KEY_0 }, | ||
57 | { 0x6a, KEY_1 }, | ||
58 | { 0x6b, KEY_2 }, | ||
59 | { 0x6c, KEY_3 }, | ||
60 | { 0x6d, KEY_4 }, | ||
61 | { 0x6e, KEY_5 }, | ||
62 | { 0x6f, KEY_6 }, | ||
63 | { 0x70, KEY_7 }, | ||
64 | { 0x71, KEY_8 }, | ||
65 | { 0x72, KEY_9 }, | ||
66 | |||
67 | { 0x74, KEY_CHANNEL }, | ||
68 | { 0x0a, KEY_BACKSPACE }, | ||
69 | }; | ||
70 | |||
71 | static struct rc_map_list pinnacle_color_map = { | ||
72 | .map = { | ||
73 | .scan = pinnacle_color, | ||
74 | .size = ARRAY_SIZE(pinnacle_color), | ||
75 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
76 | .name = RC_MAP_PINNACLE_COLOR, | ||
77 | } | ||
78 | }; | ||
79 | |||
80 | static int __init init_rc_map_pinnacle_color(void) | ||
81 | { | ||
82 | return rc_map_register(&pinnacle_color_map); | ||
83 | } | ||
84 | |||
85 | static void __exit exit_rc_map_pinnacle_color(void) | ||
86 | { | ||
87 | rc_map_unregister(&pinnacle_color_map); | ||
88 | } | ||
89 | |||
90 | module_init(init_rc_map_pinnacle_color) | ||
91 | module_exit(exit_rc_map_pinnacle_color) | ||
92 | |||
93 | MODULE_LICENSE("GPL"); | ||
94 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-pinnacle-grey.c b/drivers/media/rc/keymaps/rc-pinnacle-grey.c new file mode 100644 index 000000000000..6ba8c368d10a --- /dev/null +++ b/drivers/media/rc/keymaps/rc-pinnacle-grey.c | |||
@@ -0,0 +1,89 @@ | |||
1 | /* pinnacle-grey.h - Keytable for pinnacle_grey Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | static struct rc_map_table pinnacle_grey[] = { | ||
16 | { 0x3a, KEY_0 }, | ||
17 | { 0x31, KEY_1 }, | ||
18 | { 0x32, KEY_2 }, | ||
19 | { 0x33, KEY_3 }, | ||
20 | { 0x34, KEY_4 }, | ||
21 | { 0x35, KEY_5 }, | ||
22 | { 0x36, KEY_6 }, | ||
23 | { 0x37, KEY_7 }, | ||
24 | { 0x38, KEY_8 }, | ||
25 | { 0x39, KEY_9 }, | ||
26 | |||
27 | { 0x2f, KEY_POWER }, | ||
28 | |||
29 | { 0x2e, KEY_P }, | ||
30 | { 0x1f, KEY_L }, | ||
31 | { 0x2b, KEY_I }, | ||
32 | |||
33 | { 0x2d, KEY_SCREEN }, | ||
34 | { 0x1e, KEY_ZOOM }, | ||
35 | { 0x1b, KEY_VOLUMEUP }, | ||
36 | { 0x0f, KEY_VOLUMEDOWN }, | ||
37 | { 0x17, KEY_CHANNELUP }, | ||
38 | { 0x1c, KEY_CHANNELDOWN }, | ||
39 | { 0x25, KEY_INFO }, | ||
40 | |||
41 | { 0x3c, KEY_MUTE }, | ||
42 | |||
43 | { 0x3d, KEY_LEFT }, | ||
44 | { 0x3b, KEY_RIGHT }, | ||
45 | |||
46 | { 0x3f, KEY_UP }, | ||
47 | { 0x3e, KEY_DOWN }, | ||
48 | { 0x1a, KEY_ENTER }, | ||
49 | |||
50 | { 0x1d, KEY_MENU }, | ||
51 | { 0x19, KEY_AGAIN }, | ||
52 | { 0x16, KEY_PREVIOUSSONG }, | ||
53 | { 0x13, KEY_NEXTSONG }, | ||
54 | { 0x15, KEY_PAUSE }, | ||
55 | { 0x0e, KEY_REWIND }, | ||
56 | { 0x0d, KEY_PLAY }, | ||
57 | { 0x0b, KEY_STOP }, | ||
58 | { 0x07, KEY_FORWARD }, | ||
59 | { 0x27, KEY_RECORD }, | ||
60 | { 0x26, KEY_TUNER }, | ||
61 | { 0x29, KEY_TEXT }, | ||
62 | { 0x2a, KEY_MEDIA }, | ||
63 | { 0x18, KEY_EPG }, | ||
64 | }; | ||
65 | |||
66 | static struct rc_map_list pinnacle_grey_map = { | ||
67 | .map = { | ||
68 | .scan = pinnacle_grey, | ||
69 | .size = ARRAY_SIZE(pinnacle_grey), | ||
70 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
71 | .name = RC_MAP_PINNACLE_GREY, | ||
72 | } | ||
73 | }; | ||
74 | |||
75 | static int __init init_rc_map_pinnacle_grey(void) | ||
76 | { | ||
77 | return rc_map_register(&pinnacle_grey_map); | ||
78 | } | ||
79 | |||
80 | static void __exit exit_rc_map_pinnacle_grey(void) | ||
81 | { | ||
82 | rc_map_unregister(&pinnacle_grey_map); | ||
83 | } | ||
84 | |||
85 | module_init(init_rc_map_pinnacle_grey) | ||
86 | module_exit(exit_rc_map_pinnacle_grey) | ||
87 | |||
88 | MODULE_LICENSE("GPL"); | ||
89 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-pinnacle-pctv-hd.c b/drivers/media/rc/keymaps/rc-pinnacle-pctv-hd.c new file mode 100644 index 000000000000..bb10ffe086b4 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-pinnacle-pctv-hd.c | |||
@@ -0,0 +1,73 @@ | |||
1 | /* pinnacle-pctv-hd.h - Keytable for pinnacle_pctv_hd Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* Pinnacle PCTV HD 800i mini remote */ | ||
16 | |||
17 | static struct rc_map_table pinnacle_pctv_hd[] = { | ||
18 | |||
19 | { 0x0f, KEY_1 }, | ||
20 | { 0x15, KEY_2 }, | ||
21 | { 0x10, KEY_3 }, | ||
22 | { 0x18, KEY_4 }, | ||
23 | { 0x1b, KEY_5 }, | ||
24 | { 0x1e, KEY_6 }, | ||
25 | { 0x11, KEY_7 }, | ||
26 | { 0x21, KEY_8 }, | ||
27 | { 0x12, KEY_9 }, | ||
28 | { 0x27, KEY_0 }, | ||
29 | |||
30 | { 0x24, KEY_ZOOM }, | ||
31 | { 0x2a, KEY_SUBTITLE }, | ||
32 | |||
33 | { 0x00, KEY_MUTE }, | ||
34 | { 0x01, KEY_ENTER }, /* Pinnacle Logo */ | ||
35 | { 0x39, KEY_POWER }, | ||
36 | |||
37 | { 0x03, KEY_VOLUMEUP }, | ||
38 | { 0x09, KEY_VOLUMEDOWN }, | ||
39 | { 0x06, KEY_CHANNELUP }, | ||
40 | { 0x0c, KEY_CHANNELDOWN }, | ||
41 | |||
42 | { 0x2d, KEY_REWIND }, | ||
43 | { 0x30, KEY_PLAYPAUSE }, | ||
44 | { 0x33, KEY_FASTFORWARD }, | ||
45 | { 0x3c, KEY_STOP }, | ||
46 | { 0x36, KEY_RECORD }, | ||
47 | { 0x3f, KEY_EPG }, /* Labeled "?" */ | ||
48 | }; | ||
49 | |||
50 | static struct rc_map_list pinnacle_pctv_hd_map = { | ||
51 | .map = { | ||
52 | .scan = pinnacle_pctv_hd, | ||
53 | .size = ARRAY_SIZE(pinnacle_pctv_hd), | ||
54 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
55 | .name = RC_MAP_PINNACLE_PCTV_HD, | ||
56 | } | ||
57 | }; | ||
58 | |||
59 | static int __init init_rc_map_pinnacle_pctv_hd(void) | ||
60 | { | ||
61 | return rc_map_register(&pinnacle_pctv_hd_map); | ||
62 | } | ||
63 | |||
64 | static void __exit exit_rc_map_pinnacle_pctv_hd(void) | ||
65 | { | ||
66 | rc_map_unregister(&pinnacle_pctv_hd_map); | ||
67 | } | ||
68 | |||
69 | module_init(init_rc_map_pinnacle_pctv_hd) | ||
70 | module_exit(exit_rc_map_pinnacle_pctv_hd) | ||
71 | |||
72 | MODULE_LICENSE("GPL"); | ||
73 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-pixelview-002t.c b/drivers/media/rc/keymaps/rc-pixelview-002t.c new file mode 100644 index 000000000000..e5ab071f635a --- /dev/null +++ b/drivers/media/rc/keymaps/rc-pixelview-002t.c | |||
@@ -0,0 +1,77 @@ | |||
1 | /* rc-pixelview-mk12.h - Keytable for pixelview Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* | ||
16 | * Keytable for 002-T IR remote provided together with Pixelview | ||
17 | * SBTVD Hybrid Remote Controller. Uses NEC extended format. | ||
18 | */ | ||
19 | static struct rc_map_table pixelview_002t[] = { | ||
20 | { 0x866b13, KEY_MUTE }, | ||
21 | { 0x866b12, KEY_POWER2 }, /* power */ | ||
22 | |||
23 | { 0x866b01, KEY_1 }, | ||
24 | { 0x866b02, KEY_2 }, | ||
25 | { 0x866b03, KEY_3 }, | ||
26 | { 0x866b04, KEY_4 }, | ||
27 | { 0x866b05, KEY_5 }, | ||
28 | { 0x866b06, KEY_6 }, | ||
29 | { 0x866b07, KEY_7 }, | ||
30 | { 0x866b08, KEY_8 }, | ||
31 | { 0x866b09, KEY_9 }, | ||
32 | { 0x866b00, KEY_0 }, | ||
33 | |||
34 | { 0x866b0d, KEY_CHANNELUP }, | ||
35 | { 0x866b19, KEY_CHANNELDOWN }, | ||
36 | { 0x866b10, KEY_VOLUMEUP }, /* vol + */ | ||
37 | { 0x866b0c, KEY_VOLUMEDOWN }, /* vol - */ | ||
38 | |||
39 | { 0x866b0a, KEY_CAMERA }, /* snapshot */ | ||
40 | { 0x866b0b, KEY_ZOOM }, /* zoom */ | ||
41 | |||
42 | { 0x866b1b, KEY_BACKSPACE }, | ||
43 | { 0x866b15, KEY_ENTER }, | ||
44 | |||
45 | { 0x866b1d, KEY_UP }, | ||
46 | { 0x866b1e, KEY_DOWN }, | ||
47 | { 0x866b0e, KEY_LEFT }, | ||
48 | { 0x866b0f, KEY_RIGHT }, | ||
49 | |||
50 | { 0x866b18, KEY_RECORD }, | ||
51 | { 0x866b1a, KEY_STOP }, | ||
52 | }; | ||
53 | |||
54 | static struct rc_map_list pixelview_map = { | ||
55 | .map = { | ||
56 | .scan = pixelview_002t, | ||
57 | .size = ARRAY_SIZE(pixelview_002t), | ||
58 | .rc_type = RC_TYPE_NEC, | ||
59 | .name = RC_MAP_PIXELVIEW_002T, | ||
60 | } | ||
61 | }; | ||
62 | |||
63 | static int __init init_rc_map_pixelview(void) | ||
64 | { | ||
65 | return rc_map_register(&pixelview_map); | ||
66 | } | ||
67 | |||
68 | static void __exit exit_rc_map_pixelview(void) | ||
69 | { | ||
70 | rc_map_unregister(&pixelview_map); | ||
71 | } | ||
72 | |||
73 | module_init(init_rc_map_pixelview) | ||
74 | module_exit(exit_rc_map_pixelview) | ||
75 | |||
76 | MODULE_LICENSE("GPL"); | ||
77 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-pixelview-mk12.c b/drivers/media/rc/keymaps/rc-pixelview-mk12.c new file mode 100644 index 000000000000..8d9f664e0a2d --- /dev/null +++ b/drivers/media/rc/keymaps/rc-pixelview-mk12.c | |||
@@ -0,0 +1,83 @@ | |||
1 | /* rc-pixelview-mk12.h - Keytable for pixelview Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* | ||
16 | * Keytable for MK-F12 IR remote provided together with Pixelview | ||
17 | * Ultra Pro Remote Controller. Uses NEC extended format. | ||
18 | */ | ||
19 | static struct rc_map_table pixelview_mk12[] = { | ||
20 | { 0x866b03, KEY_TUNER }, /* Timeshift */ | ||
21 | { 0x866b1e, KEY_POWER2 }, /* power */ | ||
22 | |||
23 | { 0x866b01, KEY_1 }, | ||
24 | { 0x866b0b, KEY_2 }, | ||
25 | { 0x866b1b, KEY_3 }, | ||
26 | { 0x866b05, KEY_4 }, | ||
27 | { 0x866b09, KEY_5 }, | ||
28 | { 0x866b15, KEY_6 }, | ||
29 | { 0x866b06, KEY_7 }, | ||
30 | { 0x866b0a, KEY_8 }, | ||
31 | { 0x866b12, KEY_9 }, | ||
32 | { 0x866b02, KEY_0 }, | ||
33 | |||
34 | { 0x866b13, KEY_AGAIN }, /* loop */ | ||
35 | { 0x866b10, KEY_DIGITS }, /* +100 */ | ||
36 | |||
37 | { 0x866b00, KEY_MEDIA }, /* source */ | ||
38 | { 0x866b18, KEY_MUTE }, /* mute */ | ||
39 | { 0x866b19, KEY_CAMERA }, /* snapshot */ | ||
40 | { 0x866b1a, KEY_SEARCH }, /* scan */ | ||
41 | |||
42 | { 0x866b16, KEY_CHANNELUP }, /* chn + */ | ||
43 | { 0x866b14, KEY_CHANNELDOWN }, /* chn - */ | ||
44 | { 0x866b1f, KEY_VOLUMEUP }, /* vol + */ | ||
45 | { 0x866b17, KEY_VOLUMEDOWN }, /* vol - */ | ||
46 | { 0x866b1c, KEY_ZOOM }, /* zoom */ | ||
47 | |||
48 | { 0x866b04, KEY_REWIND }, | ||
49 | { 0x866b0e, KEY_RECORD }, | ||
50 | { 0x866b0c, KEY_FORWARD }, | ||
51 | |||
52 | { 0x866b1d, KEY_STOP }, | ||
53 | { 0x866b08, KEY_PLAY }, | ||
54 | { 0x866b0f, KEY_PAUSE }, | ||
55 | |||
56 | { 0x866b0d, KEY_TV }, | ||
57 | { 0x866b07, KEY_RADIO }, /* FM */ | ||
58 | }; | ||
59 | |||
60 | static struct rc_map_list pixelview_map = { | ||
61 | .map = { | ||
62 | .scan = pixelview_mk12, | ||
63 | .size = ARRAY_SIZE(pixelview_mk12), | ||
64 | .rc_type = RC_TYPE_NEC, | ||
65 | .name = RC_MAP_PIXELVIEW_MK12, | ||
66 | } | ||
67 | }; | ||
68 | |||
69 | static int __init init_rc_map_pixelview(void) | ||
70 | { | ||
71 | return rc_map_register(&pixelview_map); | ||
72 | } | ||
73 | |||
74 | static void __exit exit_rc_map_pixelview(void) | ||
75 | { | ||
76 | rc_map_unregister(&pixelview_map); | ||
77 | } | ||
78 | |||
79 | module_init(init_rc_map_pixelview) | ||
80 | module_exit(exit_rc_map_pixelview) | ||
81 | |||
82 | MODULE_LICENSE("GPL"); | ||
83 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-pixelview-new.c b/drivers/media/rc/keymaps/rc-pixelview-new.c new file mode 100644 index 000000000000..777a70076be2 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-pixelview-new.c | |||
@@ -0,0 +1,83 @@ | |||
1 | /* pixelview-new.h - Keytable for pixelview_new Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* | ||
16 | Mauro Carvalho Chehab <mchehab@infradead.org> | ||
17 | present on PV MPEG 8000GT | ||
18 | */ | ||
19 | |||
20 | static struct rc_map_table pixelview_new[] = { | ||
21 | { 0x3c, KEY_TIME }, /* Timeshift */ | ||
22 | { 0x12, KEY_POWER }, | ||
23 | |||
24 | { 0x3d, KEY_1 }, | ||
25 | { 0x38, KEY_2 }, | ||
26 | { 0x18, KEY_3 }, | ||
27 | { 0x35, KEY_4 }, | ||
28 | { 0x39, KEY_5 }, | ||
29 | { 0x15, KEY_6 }, | ||
30 | { 0x36, KEY_7 }, | ||
31 | { 0x3a, KEY_8 }, | ||
32 | { 0x1e, KEY_9 }, | ||
33 | { 0x3e, KEY_0 }, | ||
34 | |||
35 | { 0x1c, KEY_AGAIN }, /* LOOP */ | ||
36 | { 0x3f, KEY_MEDIA }, /* Source */ | ||
37 | { 0x1f, KEY_LAST }, /* +100 */ | ||
38 | { 0x1b, KEY_MUTE }, | ||
39 | |||
40 | { 0x17, KEY_CHANNELDOWN }, | ||
41 | { 0x16, KEY_CHANNELUP }, | ||
42 | { 0x10, KEY_VOLUMEUP }, | ||
43 | { 0x14, KEY_VOLUMEDOWN }, | ||
44 | { 0x13, KEY_ZOOM }, | ||
45 | |||
46 | { 0x19, KEY_CAMERA }, /* SNAPSHOT */ | ||
47 | { 0x1a, KEY_SEARCH }, /* scan */ | ||
48 | |||
49 | { 0x37, KEY_REWIND }, /* << */ | ||
50 | { 0x32, KEY_RECORD }, /* o (red) */ | ||
51 | { 0x33, KEY_FORWARD }, /* >> */ | ||
52 | { 0x11, KEY_STOP }, /* square */ | ||
53 | { 0x3b, KEY_PLAY }, /* > */ | ||
54 | { 0x30, KEY_PLAYPAUSE }, /* || */ | ||
55 | |||
56 | { 0x31, KEY_TV }, | ||
57 | { 0x34, KEY_RADIO }, | ||
58 | }; | ||
59 | |||
60 | static struct rc_map_list pixelview_new_map = { | ||
61 | .map = { | ||
62 | .scan = pixelview_new, | ||
63 | .size = ARRAY_SIZE(pixelview_new), | ||
64 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
65 | .name = RC_MAP_PIXELVIEW_NEW, | ||
66 | } | ||
67 | }; | ||
68 | |||
69 | static int __init init_rc_map_pixelview_new(void) | ||
70 | { | ||
71 | return rc_map_register(&pixelview_new_map); | ||
72 | } | ||
73 | |||
74 | static void __exit exit_rc_map_pixelview_new(void) | ||
75 | { | ||
76 | rc_map_unregister(&pixelview_new_map); | ||
77 | } | ||
78 | |||
79 | module_init(init_rc_map_pixelview_new) | ||
80 | module_exit(exit_rc_map_pixelview_new) | ||
81 | |||
82 | MODULE_LICENSE("GPL"); | ||
83 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-pixelview.c b/drivers/media/rc/keymaps/rc-pixelview.c new file mode 100644 index 000000000000..0ec5988916b9 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-pixelview.c | |||
@@ -0,0 +1,82 @@ | |||
1 | /* pixelview.h - Keytable for pixelview Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | static struct rc_map_table pixelview[] = { | ||
16 | |||
17 | { 0x1e, KEY_POWER }, /* power */ | ||
18 | { 0x07, KEY_MEDIA }, /* source */ | ||
19 | { 0x1c, KEY_SEARCH }, /* scan */ | ||
20 | |||
21 | |||
22 | { 0x03, KEY_TUNER }, /* TV/FM */ | ||
23 | |||
24 | { 0x00, KEY_RECORD }, | ||
25 | { 0x08, KEY_STOP }, | ||
26 | { 0x11, KEY_PLAY }, | ||
27 | |||
28 | { 0x1a, KEY_PLAYPAUSE }, /* freeze */ | ||
29 | { 0x19, KEY_ZOOM }, /* zoom */ | ||
30 | { 0x0f, KEY_TEXT }, /* min */ | ||
31 | |||
32 | { 0x01, KEY_1 }, | ||
33 | { 0x0b, KEY_2 }, | ||
34 | { 0x1b, KEY_3 }, | ||
35 | { 0x05, KEY_4 }, | ||
36 | { 0x09, KEY_5 }, | ||
37 | { 0x15, KEY_6 }, | ||
38 | { 0x06, KEY_7 }, | ||
39 | { 0x0a, KEY_8 }, | ||
40 | { 0x12, KEY_9 }, | ||
41 | { 0x02, KEY_0 }, | ||
42 | { 0x10, KEY_LAST }, /* +100 */ | ||
43 | { 0x13, KEY_LIST }, /* recall */ | ||
44 | |||
45 | { 0x1f, KEY_CHANNELUP }, /* chn down */ | ||
46 | { 0x17, KEY_CHANNELDOWN }, /* chn up */ | ||
47 | { 0x16, KEY_VOLUMEUP }, /* vol down */ | ||
48 | { 0x14, KEY_VOLUMEDOWN }, /* vol up */ | ||
49 | |||
50 | { 0x04, KEY_KPMINUS }, /* <<< */ | ||
51 | { 0x0e, KEY_SETUP }, /* function */ | ||
52 | { 0x0c, KEY_KPPLUS }, /* >>> */ | ||
53 | |||
54 | { 0x0d, KEY_GOTO }, /* mts */ | ||
55 | { 0x1d, KEY_REFRESH }, /* reset */ | ||
56 | { 0x18, KEY_MUTE }, /* mute/unmute */ | ||
57 | }; | ||
58 | |||
59 | static struct rc_map_list pixelview_map = { | ||
60 | .map = { | ||
61 | .scan = pixelview, | ||
62 | .size = ARRAY_SIZE(pixelview), | ||
63 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
64 | .name = RC_MAP_PIXELVIEW, | ||
65 | } | ||
66 | }; | ||
67 | |||
68 | static int __init init_rc_map_pixelview(void) | ||
69 | { | ||
70 | return rc_map_register(&pixelview_map); | ||
71 | } | ||
72 | |||
73 | static void __exit exit_rc_map_pixelview(void) | ||
74 | { | ||
75 | rc_map_unregister(&pixelview_map); | ||
76 | } | ||
77 | |||
78 | module_init(init_rc_map_pixelview) | ||
79 | module_exit(exit_rc_map_pixelview) | ||
80 | |||
81 | MODULE_LICENSE("GPL"); | ||
82 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-powercolor-real-angel.c b/drivers/media/rc/keymaps/rc-powercolor-real-angel.c new file mode 100644 index 000000000000..5f9d546a86c4 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-powercolor-real-angel.c | |||
@@ -0,0 +1,81 @@ | |||
1 | /* powercolor-real-angel.h - Keytable for powercolor_real_angel Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* | ||
16 | * Remote control for Powercolor Real Angel 330 | ||
17 | * Daniel Fraga <fragabr@gmail.com> | ||
18 | */ | ||
19 | |||
20 | static struct rc_map_table powercolor_real_angel[] = { | ||
21 | { 0x38, KEY_SWITCHVIDEOMODE }, /* switch inputs */ | ||
22 | { 0x0c, KEY_MEDIA }, /* Turn ON/OFF App */ | ||
23 | { 0x00, KEY_0 }, | ||
24 | { 0x01, KEY_1 }, | ||
25 | { 0x02, KEY_2 }, | ||
26 | { 0x03, KEY_3 }, | ||
27 | { 0x04, KEY_4 }, | ||
28 | { 0x05, KEY_5 }, | ||
29 | { 0x06, KEY_6 }, | ||
30 | { 0x07, KEY_7 }, | ||
31 | { 0x08, KEY_8 }, | ||
32 | { 0x09, KEY_9 }, | ||
33 | { 0x0a, KEY_DIGITS }, /* single, double, tripple digit */ | ||
34 | { 0x29, KEY_PREVIOUS }, /* previous channel */ | ||
35 | { 0x12, KEY_BRIGHTNESSUP }, | ||
36 | { 0x13, KEY_BRIGHTNESSDOWN }, | ||
37 | { 0x2b, KEY_MODE }, /* stereo/mono */ | ||
38 | { 0x2c, KEY_TEXT }, /* teletext */ | ||
39 | { 0x20, KEY_CHANNELUP }, /* channel up */ | ||
40 | { 0x21, KEY_CHANNELDOWN }, /* channel down */ | ||
41 | { 0x10, KEY_VOLUMEUP }, /* volume up */ | ||
42 | { 0x11, KEY_VOLUMEDOWN }, /* volume down */ | ||
43 | { 0x0d, KEY_MUTE }, | ||
44 | { 0x1f, KEY_RECORD }, | ||
45 | { 0x17, KEY_PLAY }, | ||
46 | { 0x16, KEY_PAUSE }, | ||
47 | { 0x0b, KEY_STOP }, | ||
48 | { 0x27, KEY_FASTFORWARD }, | ||
49 | { 0x26, KEY_REWIND }, | ||
50 | { 0x1e, KEY_SEARCH }, /* autoscan */ | ||
51 | { 0x0e, KEY_CAMERA }, /* snapshot */ | ||
52 | { 0x2d, KEY_SETUP }, | ||
53 | { 0x0f, KEY_SCREEN }, /* full screen */ | ||
54 | { 0x14, KEY_RADIO }, /* FM radio */ | ||
55 | { 0x25, KEY_POWER }, /* power */ | ||
56 | }; | ||
57 | |||
58 | static struct rc_map_list powercolor_real_angel_map = { | ||
59 | .map = { | ||
60 | .scan = powercolor_real_angel, | ||
61 | .size = ARRAY_SIZE(powercolor_real_angel), | ||
62 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
63 | .name = RC_MAP_POWERCOLOR_REAL_ANGEL, | ||
64 | } | ||
65 | }; | ||
66 | |||
67 | static int __init init_rc_map_powercolor_real_angel(void) | ||
68 | { | ||
69 | return rc_map_register(&powercolor_real_angel_map); | ||
70 | } | ||
71 | |||
72 | static void __exit exit_rc_map_powercolor_real_angel(void) | ||
73 | { | ||
74 | rc_map_unregister(&powercolor_real_angel_map); | ||
75 | } | ||
76 | |||
77 | module_init(init_rc_map_powercolor_real_angel) | ||
78 | module_exit(exit_rc_map_powercolor_real_angel) | ||
79 | |||
80 | MODULE_LICENSE("GPL"); | ||
81 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-proteus-2309.c b/drivers/media/rc/keymaps/rc-proteus-2309.c new file mode 100644 index 000000000000..8a3a643879d4 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-proteus-2309.c | |||
@@ -0,0 +1,69 @@ | |||
1 | /* proteus-2309.h - Keytable for proteus_2309 Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* Michal Majchrowicz <mmajchrowicz@gmail.com> */ | ||
16 | |||
17 | static struct rc_map_table proteus_2309[] = { | ||
18 | /* numeric */ | ||
19 | { 0x00, KEY_0 }, | ||
20 | { 0x01, KEY_1 }, | ||
21 | { 0x02, KEY_2 }, | ||
22 | { 0x03, KEY_3 }, | ||
23 | { 0x04, KEY_4 }, | ||
24 | { 0x05, KEY_5 }, | ||
25 | { 0x06, KEY_6 }, | ||
26 | { 0x07, KEY_7 }, | ||
27 | { 0x08, KEY_8 }, | ||
28 | { 0x09, KEY_9 }, | ||
29 | |||
30 | { 0x5c, KEY_POWER }, /* power */ | ||
31 | { 0x20, KEY_ZOOM }, /* full screen */ | ||
32 | { 0x0f, KEY_BACKSPACE }, /* recall */ | ||
33 | { 0x1b, KEY_ENTER }, /* mute */ | ||
34 | { 0x41, KEY_RECORD }, /* record */ | ||
35 | { 0x43, KEY_STOP }, /* stop */ | ||
36 | { 0x16, KEY_S }, | ||
37 | { 0x1a, KEY_POWER2 }, /* off */ | ||
38 | { 0x2e, KEY_RED }, | ||
39 | { 0x1f, KEY_CHANNELDOWN }, /* channel - */ | ||
40 | { 0x1c, KEY_CHANNELUP }, /* channel + */ | ||
41 | { 0x10, KEY_VOLUMEDOWN }, /* volume - */ | ||
42 | { 0x1e, KEY_VOLUMEUP }, /* volume + */ | ||
43 | { 0x14, KEY_F1 }, | ||
44 | }; | ||
45 | |||
46 | static struct rc_map_list proteus_2309_map = { | ||
47 | .map = { | ||
48 | .scan = proteus_2309, | ||
49 | .size = ARRAY_SIZE(proteus_2309), | ||
50 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
51 | .name = RC_MAP_PROTEUS_2309, | ||
52 | } | ||
53 | }; | ||
54 | |||
55 | static int __init init_rc_map_proteus_2309(void) | ||
56 | { | ||
57 | return rc_map_register(&proteus_2309_map); | ||
58 | } | ||
59 | |||
60 | static void __exit exit_rc_map_proteus_2309(void) | ||
61 | { | ||
62 | rc_map_unregister(&proteus_2309_map); | ||
63 | } | ||
64 | |||
65 | module_init(init_rc_map_proteus_2309) | ||
66 | module_exit(exit_rc_map_proteus_2309) | ||
67 | |||
68 | MODULE_LICENSE("GPL"); | ||
69 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-purpletv.c b/drivers/media/rc/keymaps/rc-purpletv.c new file mode 100644 index 000000000000..ef90296bfd68 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-purpletv.c | |||
@@ -0,0 +1,81 @@ | |||
1 | /* purpletv.h - Keytable for purpletv Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | static struct rc_map_table purpletv[] = { | ||
16 | { 0x03, KEY_POWER }, | ||
17 | { 0x6f, KEY_MUTE }, | ||
18 | { 0x10, KEY_BACKSPACE }, /* Recall */ | ||
19 | |||
20 | { 0x11, KEY_0 }, | ||
21 | { 0x04, KEY_1 }, | ||
22 | { 0x05, KEY_2 }, | ||
23 | { 0x06, KEY_3 }, | ||
24 | { 0x08, KEY_4 }, | ||
25 | { 0x09, KEY_5 }, | ||
26 | { 0x0a, KEY_6 }, | ||
27 | { 0x0c, KEY_7 }, | ||
28 | { 0x0d, KEY_8 }, | ||
29 | { 0x0e, KEY_9 }, | ||
30 | { 0x12, KEY_DOT }, /* 100+ */ | ||
31 | |||
32 | { 0x07, KEY_VOLUMEUP }, | ||
33 | { 0x0b, KEY_VOLUMEDOWN }, | ||
34 | { 0x1a, KEY_KPPLUS }, | ||
35 | { 0x18, KEY_KPMINUS }, | ||
36 | { 0x15, KEY_UP }, | ||
37 | { 0x1d, KEY_DOWN }, | ||
38 | { 0x0f, KEY_CHANNELUP }, | ||
39 | { 0x13, KEY_CHANNELDOWN }, | ||
40 | { 0x48, KEY_ZOOM }, | ||
41 | |||
42 | { 0x1b, KEY_VIDEO }, /* Video source */ | ||
43 | { 0x1f, KEY_CAMERA }, /* Snapshot */ | ||
44 | { 0x49, KEY_LANGUAGE }, /* MTS Select */ | ||
45 | { 0x19, KEY_SEARCH }, /* Auto Scan */ | ||
46 | |||
47 | { 0x4b, KEY_RECORD }, | ||
48 | { 0x46, KEY_PLAY }, | ||
49 | { 0x45, KEY_PAUSE }, /* Pause */ | ||
50 | { 0x44, KEY_STOP }, | ||
51 | { 0x43, KEY_TIME }, /* Time Shift */ | ||
52 | { 0x17, KEY_CHANNEL }, /* SURF CH */ | ||
53 | { 0x40, KEY_FORWARD }, /* Forward ? */ | ||
54 | { 0x42, KEY_REWIND }, /* Backward ? */ | ||
55 | |||
56 | }; | ||
57 | |||
58 | static struct rc_map_list purpletv_map = { | ||
59 | .map = { | ||
60 | .scan = purpletv, | ||
61 | .size = ARRAY_SIZE(purpletv), | ||
62 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
63 | .name = RC_MAP_PURPLETV, | ||
64 | } | ||
65 | }; | ||
66 | |||
67 | static int __init init_rc_map_purpletv(void) | ||
68 | { | ||
69 | return rc_map_register(&purpletv_map); | ||
70 | } | ||
71 | |||
72 | static void __exit exit_rc_map_purpletv(void) | ||
73 | { | ||
74 | rc_map_unregister(&purpletv_map); | ||
75 | } | ||
76 | |||
77 | module_init(init_rc_map_purpletv) | ||
78 | module_exit(exit_rc_map_purpletv) | ||
79 | |||
80 | MODULE_LICENSE("GPL"); | ||
81 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-pv951.c b/drivers/media/rc/keymaps/rc-pv951.c new file mode 100644 index 000000000000..83a418de12c6 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-pv951.c | |||
@@ -0,0 +1,78 @@ | |||
1 | /* pv951.h - Keytable for pv951 Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* Mark Phalan <phalanm@o2.ie> */ | ||
16 | |||
17 | static struct rc_map_table pv951[] = { | ||
18 | { 0x00, KEY_0 }, | ||
19 | { 0x01, KEY_1 }, | ||
20 | { 0x02, KEY_2 }, | ||
21 | { 0x03, KEY_3 }, | ||
22 | { 0x04, KEY_4 }, | ||
23 | { 0x05, KEY_5 }, | ||
24 | { 0x06, KEY_6 }, | ||
25 | { 0x07, KEY_7 }, | ||
26 | { 0x08, KEY_8 }, | ||
27 | { 0x09, KEY_9 }, | ||
28 | |||
29 | { 0x12, KEY_POWER }, | ||
30 | { 0x10, KEY_MUTE }, | ||
31 | { 0x1f, KEY_VOLUMEDOWN }, | ||
32 | { 0x1b, KEY_VOLUMEUP }, | ||
33 | { 0x1a, KEY_CHANNELUP }, | ||
34 | { 0x1e, KEY_CHANNELDOWN }, | ||
35 | { 0x0e, KEY_PAGEUP }, | ||
36 | { 0x1d, KEY_PAGEDOWN }, | ||
37 | { 0x13, KEY_SOUND }, | ||
38 | |||
39 | { 0x18, KEY_KPPLUSMINUS }, /* CH +/- */ | ||
40 | { 0x16, KEY_SUBTITLE }, /* CC */ | ||
41 | { 0x0d, KEY_TEXT }, /* TTX */ | ||
42 | { 0x0b, KEY_TV }, /* AIR/CBL */ | ||
43 | { 0x11, KEY_PC }, /* PC/TV */ | ||
44 | { 0x17, KEY_OK }, /* CH RTN */ | ||
45 | { 0x19, KEY_MODE }, /* FUNC */ | ||
46 | { 0x0c, KEY_SEARCH }, /* AUTOSCAN */ | ||
47 | |||
48 | /* Not sure what to do with these ones! */ | ||
49 | { 0x0f, KEY_SELECT }, /* SOURCE */ | ||
50 | { 0x0a, KEY_KPPLUS }, /* +100 */ | ||
51 | { 0x14, KEY_EQUAL }, /* SYNC */ | ||
52 | { 0x1c, KEY_MEDIA }, /* PC/TV */ | ||
53 | }; | ||
54 | |||
55 | static struct rc_map_list pv951_map = { | ||
56 | .map = { | ||
57 | .scan = pv951, | ||
58 | .size = ARRAY_SIZE(pv951), | ||
59 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
60 | .name = RC_MAP_PV951, | ||
61 | } | ||
62 | }; | ||
63 | |||
64 | static int __init init_rc_map_pv951(void) | ||
65 | { | ||
66 | return rc_map_register(&pv951_map); | ||
67 | } | ||
68 | |||
69 | static void __exit exit_rc_map_pv951(void) | ||
70 | { | ||
71 | rc_map_unregister(&pv951_map); | ||
72 | } | ||
73 | |||
74 | module_init(init_rc_map_pv951) | ||
75 | module_exit(exit_rc_map_pv951) | ||
76 | |||
77 | MODULE_LICENSE("GPL"); | ||
78 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-rc5-hauppauge-new.c b/drivers/media/rc/keymaps/rc-rc5-hauppauge-new.c new file mode 100644 index 000000000000..dfc9b15f43a9 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-rc5-hauppauge-new.c | |||
@@ -0,0 +1,141 @@ | |||
1 | /* rc5-hauppauge-new.h - Keytable for rc5_hauppauge_new Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* | ||
16 | * Hauppauge:the newer, gray remotes (seems there are multiple | ||
17 | * slightly different versions), shipped with cx88+ivtv cards. | ||
18 | * | ||
19 | * This table contains the complete RC5 code, instead of just the data part | ||
20 | */ | ||
21 | |||
22 | static struct rc_map_table rc5_hauppauge_new[] = { | ||
23 | /* Keys 0 to 9 */ | ||
24 | { 0x1e00, KEY_0 }, | ||
25 | { 0x1e01, KEY_1 }, | ||
26 | { 0x1e02, KEY_2 }, | ||
27 | { 0x1e03, KEY_3 }, | ||
28 | { 0x1e04, KEY_4 }, | ||
29 | { 0x1e05, KEY_5 }, | ||
30 | { 0x1e06, KEY_6 }, | ||
31 | { 0x1e07, KEY_7 }, | ||
32 | { 0x1e08, KEY_8 }, | ||
33 | { 0x1e09, KEY_9 }, | ||
34 | |||
35 | { 0x1e0a, KEY_TEXT }, /* keypad asterisk as well */ | ||
36 | { 0x1e0b, KEY_RED }, /* red button */ | ||
37 | { 0x1e0c, KEY_RADIO }, | ||
38 | { 0x1e0d, KEY_MENU }, | ||
39 | { 0x1e0e, KEY_SUBTITLE }, /* also the # key */ | ||
40 | { 0x1e0f, KEY_MUTE }, | ||
41 | { 0x1e10, KEY_VOLUMEUP }, | ||
42 | { 0x1e11, KEY_VOLUMEDOWN }, | ||
43 | { 0x1e12, KEY_PREVIOUS }, /* previous channel */ | ||
44 | { 0x1e14, KEY_UP }, | ||
45 | { 0x1e15, KEY_DOWN }, | ||
46 | { 0x1e16, KEY_LEFT }, | ||
47 | { 0x1e17, KEY_RIGHT }, | ||
48 | { 0x1e18, KEY_VIDEO }, /* Videos */ | ||
49 | { 0x1e19, KEY_AUDIO }, /* Music */ | ||
50 | /* 0x1e1a: Pictures - presume this means | ||
51 | "Multimedia Home Platform" - | ||
52 | no "PICTURES" key in input.h | ||
53 | */ | ||
54 | { 0x1e1a, KEY_MHP }, | ||
55 | |||
56 | { 0x1e1b, KEY_EPG }, /* Guide */ | ||
57 | { 0x1e1c, KEY_TV }, | ||
58 | { 0x1e1e, KEY_NEXTSONG }, /* skip >| */ | ||
59 | { 0x1e1f, KEY_EXIT }, /* back/exit */ | ||
60 | { 0x1e20, KEY_CHANNELUP }, /* channel / program + */ | ||
61 | { 0x1e21, KEY_CHANNELDOWN }, /* channel / program - */ | ||
62 | { 0x1e22, KEY_CHANNEL }, /* source (old black remote) */ | ||
63 | { 0x1e24, KEY_PREVIOUSSONG }, /* replay |< */ | ||
64 | { 0x1e25, KEY_ENTER }, /* OK */ | ||
65 | { 0x1e26, KEY_SLEEP }, /* minimize (old black remote) */ | ||
66 | { 0x1e29, KEY_BLUE }, /* blue key */ | ||
67 | { 0x1e2e, KEY_GREEN }, /* green button */ | ||
68 | { 0x1e30, KEY_PAUSE }, /* pause */ | ||
69 | { 0x1e32, KEY_REWIND }, /* backward << */ | ||
70 | { 0x1e34, KEY_FASTFORWARD }, /* forward >> */ | ||
71 | { 0x1e35, KEY_PLAY }, | ||
72 | { 0x1e36, KEY_STOP }, | ||
73 | { 0x1e37, KEY_RECORD }, /* recording */ | ||
74 | { 0x1e38, KEY_YELLOW }, /* yellow key */ | ||
75 | { 0x1e3b, KEY_SELECT }, /* top right button */ | ||
76 | { 0x1e3c, KEY_ZOOM }, /* full */ | ||
77 | { 0x1e3d, KEY_POWER }, /* system power (green button) */ | ||
78 | |||
79 | /* Keycodes for DSR-0112 remote bundled with Haupauge MiniStick */ | ||
80 | { 0x1d00, KEY_0 }, | ||
81 | { 0x1d01, KEY_1 }, | ||
82 | { 0x1d02, KEY_2 }, | ||
83 | { 0x1d03, KEY_3 }, | ||
84 | { 0x1d04, KEY_4 }, | ||
85 | { 0x1d05, KEY_5 }, | ||
86 | { 0x1d06, KEY_6 }, | ||
87 | { 0x1d07, KEY_7 }, | ||
88 | { 0x1d08, KEY_8 }, | ||
89 | { 0x1d09, KEY_9 }, | ||
90 | { 0x1d0a, KEY_TEXT }, | ||
91 | { 0x1d0d, KEY_MENU }, | ||
92 | { 0x1d0f, KEY_MUTE }, | ||
93 | { 0x1d10, KEY_VOLUMEUP }, | ||
94 | { 0x1d11, KEY_VOLUMEDOWN }, | ||
95 | { 0x1d12, KEY_PREVIOUS }, /* Prev.Ch .. ??? */ | ||
96 | { 0x1d14, KEY_UP }, | ||
97 | { 0x1d15, KEY_DOWN }, | ||
98 | { 0x1d16, KEY_LEFT }, | ||
99 | { 0x1d17, KEY_RIGHT }, | ||
100 | { 0x1d1c, KEY_TV }, | ||
101 | { 0x1d1e, KEY_NEXT }, /* >| */ | ||
102 | { 0x1d1f, KEY_EXIT }, | ||
103 | { 0x1d20, KEY_CHANNELUP }, | ||
104 | { 0x1d21, KEY_CHANNELDOWN }, | ||
105 | { 0x1d24, KEY_LAST }, /* <| */ | ||
106 | { 0x1d25, KEY_OK }, | ||
107 | { 0x1d30, KEY_PAUSE }, | ||
108 | { 0x1d32, KEY_REWIND }, | ||
109 | { 0x1d34, KEY_FASTFORWARD }, | ||
110 | { 0x1d35, KEY_PLAY }, | ||
111 | { 0x1d36, KEY_STOP }, | ||
112 | { 0x1d37, KEY_RECORD }, | ||
113 | { 0x1d3b, KEY_GOTO }, | ||
114 | { 0x1d3d, KEY_POWER }, | ||
115 | { 0x1d3f, KEY_HOME }, | ||
116 | }; | ||
117 | |||
118 | static struct rc_map_list rc5_hauppauge_new_map = { | ||
119 | .map = { | ||
120 | .scan = rc5_hauppauge_new, | ||
121 | .size = ARRAY_SIZE(rc5_hauppauge_new), | ||
122 | .rc_type = RC_TYPE_RC5, | ||
123 | .name = RC_MAP_RC5_HAUPPAUGE_NEW, | ||
124 | } | ||
125 | }; | ||
126 | |||
127 | static int __init init_rc_map_rc5_hauppauge_new(void) | ||
128 | { | ||
129 | return rc_map_register(&rc5_hauppauge_new_map); | ||
130 | } | ||
131 | |||
132 | static void __exit exit_rc_map_rc5_hauppauge_new(void) | ||
133 | { | ||
134 | rc_map_unregister(&rc5_hauppauge_new_map); | ||
135 | } | ||
136 | |||
137 | module_init(init_rc_map_rc5_hauppauge_new) | ||
138 | module_exit(exit_rc_map_rc5_hauppauge_new) | ||
139 | |||
140 | MODULE_LICENSE("GPL"); | ||
141 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-rc5-tv.c b/drivers/media/rc/keymaps/rc-rc5-tv.c new file mode 100644 index 000000000000..4fcef9f1f721 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-rc5-tv.c | |||
@@ -0,0 +1,81 @@ | |||
1 | /* rc5-tv.h - Keytable for rc5_tv Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* generic RC5 keytable */ | ||
16 | /* see http://users.pandora.be/nenya/electronics/rc5/codes00.htm */ | ||
17 | /* used by old (black) Hauppauge remotes */ | ||
18 | |||
19 | static struct rc_map_table rc5_tv[] = { | ||
20 | /* Keys 0 to 9 */ | ||
21 | { 0x00, KEY_0 }, | ||
22 | { 0x01, KEY_1 }, | ||
23 | { 0x02, KEY_2 }, | ||
24 | { 0x03, KEY_3 }, | ||
25 | { 0x04, KEY_4 }, | ||
26 | { 0x05, KEY_5 }, | ||
27 | { 0x06, KEY_6 }, | ||
28 | { 0x07, KEY_7 }, | ||
29 | { 0x08, KEY_8 }, | ||
30 | { 0x09, KEY_9 }, | ||
31 | |||
32 | { 0x0b, KEY_CHANNEL }, /* channel / program (japan: 11) */ | ||
33 | { 0x0c, KEY_POWER }, /* standby */ | ||
34 | { 0x0d, KEY_MUTE }, /* mute / demute */ | ||
35 | { 0x0f, KEY_TV }, /* display */ | ||
36 | { 0x10, KEY_VOLUMEUP }, | ||
37 | { 0x11, KEY_VOLUMEDOWN }, | ||
38 | { 0x12, KEY_BRIGHTNESSUP }, | ||
39 | { 0x13, KEY_BRIGHTNESSDOWN }, | ||
40 | { 0x1e, KEY_SEARCH }, /* search + */ | ||
41 | { 0x20, KEY_CHANNELUP }, /* channel / program + */ | ||
42 | { 0x21, KEY_CHANNELDOWN }, /* channel / program - */ | ||
43 | { 0x22, KEY_CHANNEL }, /* alt / channel */ | ||
44 | { 0x23, KEY_LANGUAGE }, /* 1st / 2nd language */ | ||
45 | { 0x26, KEY_SLEEP }, /* sleeptimer */ | ||
46 | { 0x2e, KEY_MENU }, /* 2nd controls (USA: menu) */ | ||
47 | { 0x30, KEY_PAUSE }, | ||
48 | { 0x32, KEY_REWIND }, | ||
49 | { 0x33, KEY_GOTO }, | ||
50 | { 0x35, KEY_PLAY }, | ||
51 | { 0x36, KEY_STOP }, | ||
52 | { 0x37, KEY_RECORD }, /* recording */ | ||
53 | { 0x3c, KEY_TEXT }, /* teletext submode (Japan: 12) */ | ||
54 | { 0x3d, KEY_SUSPEND }, /* system standby */ | ||
55 | |||
56 | }; | ||
57 | |||
58 | static struct rc_map_list rc5_tv_map = { | ||
59 | .map = { | ||
60 | .scan = rc5_tv, | ||
61 | .size = ARRAY_SIZE(rc5_tv), | ||
62 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
63 | .name = RC_MAP_RC5_TV, | ||
64 | } | ||
65 | }; | ||
66 | |||
67 | static int __init init_rc_map_rc5_tv(void) | ||
68 | { | ||
69 | return rc_map_register(&rc5_tv_map); | ||
70 | } | ||
71 | |||
72 | static void __exit exit_rc_map_rc5_tv(void) | ||
73 | { | ||
74 | rc_map_unregister(&rc5_tv_map); | ||
75 | } | ||
76 | |||
77 | module_init(init_rc_map_rc5_tv) | ||
78 | module_exit(exit_rc_map_rc5_tv) | ||
79 | |||
80 | MODULE_LICENSE("GPL"); | ||
81 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-rc6-mce.c b/drivers/media/rc/keymaps/rc-rc6-mce.c new file mode 100644 index 000000000000..3bf3337875d1 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-rc6-mce.c | |||
@@ -0,0 +1,113 @@ | |||
1 | /* rc-rc6-mce.c - Keytable for Windows Media Center RC-6 remotes for use | ||
2 | * with the Media Center Edition eHome Infrared Transceiver. | ||
3 | * | ||
4 | * Copyright (c) 2010 by Jarod Wilson <jarod@redhat.com> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | */ | ||
11 | |||
12 | #include <media/rc-map.h> | ||
13 | |||
14 | static struct rc_map_table rc6_mce[] = { | ||
15 | |||
16 | { 0x800f0400, KEY_NUMERIC_0 }, | ||
17 | { 0x800f0401, KEY_NUMERIC_1 }, | ||
18 | { 0x800f0402, KEY_NUMERIC_2 }, | ||
19 | { 0x800f0403, KEY_NUMERIC_3 }, | ||
20 | { 0x800f0404, KEY_NUMERIC_4 }, | ||
21 | { 0x800f0405, KEY_NUMERIC_5 }, | ||
22 | { 0x800f0406, KEY_NUMERIC_6 }, | ||
23 | { 0x800f0407, KEY_NUMERIC_7 }, | ||
24 | { 0x800f0408, KEY_NUMERIC_8 }, | ||
25 | { 0x800f0409, KEY_NUMERIC_9 }, | ||
26 | |||
27 | { 0x800f040a, KEY_DELETE }, | ||
28 | { 0x800f040b, KEY_ENTER }, | ||
29 | { 0x800f040c, KEY_POWER }, /* PC Power */ | ||
30 | { 0x800f040d, KEY_PROG1 }, /* Windows MCE button */ | ||
31 | { 0x800f040e, KEY_MUTE }, | ||
32 | { 0x800f040f, KEY_INFO }, | ||
33 | |||
34 | { 0x800f0410, KEY_VOLUMEUP }, | ||
35 | { 0x800f0411, KEY_VOLUMEDOWN }, | ||
36 | { 0x800f0412, KEY_CHANNELUP }, | ||
37 | { 0x800f0413, KEY_CHANNELDOWN }, | ||
38 | |||
39 | { 0x800f0414, KEY_FASTFORWARD }, | ||
40 | { 0x800f0415, KEY_REWIND }, | ||
41 | { 0x800f0416, KEY_PLAY }, | ||
42 | { 0x800f0417, KEY_RECORD }, | ||
43 | { 0x800f0418, KEY_PAUSE }, | ||
44 | { 0x800f046e, KEY_PLAYPAUSE }, | ||
45 | { 0x800f0419, KEY_STOP }, | ||
46 | { 0x800f041a, KEY_NEXT }, | ||
47 | { 0x800f041b, KEY_PREVIOUS }, | ||
48 | { 0x800f041c, KEY_NUMERIC_POUND }, | ||
49 | { 0x800f041d, KEY_NUMERIC_STAR }, | ||
50 | |||
51 | { 0x800f041e, KEY_UP }, | ||
52 | { 0x800f041f, KEY_DOWN }, | ||
53 | { 0x800f0420, KEY_LEFT }, | ||
54 | { 0x800f0421, KEY_RIGHT }, | ||
55 | |||
56 | { 0x800f0422, KEY_OK }, | ||
57 | { 0x800f0423, KEY_EXIT }, | ||
58 | { 0x800f0424, KEY_DVD }, | ||
59 | { 0x800f0425, KEY_TUNER }, /* LiveTV */ | ||
60 | { 0x800f0426, KEY_EPG }, /* Guide */ | ||
61 | { 0x800f0427, KEY_ZOOM }, /* Aspect */ | ||
62 | |||
63 | { 0x800f043a, KEY_BRIGHTNESSUP }, | ||
64 | |||
65 | { 0x800f0446, KEY_TV }, | ||
66 | { 0x800f0447, KEY_AUDIO }, /* My Music */ | ||
67 | { 0x800f0448, KEY_PVR }, /* RecordedTV */ | ||
68 | { 0x800f0449, KEY_CAMERA }, | ||
69 | { 0x800f044a, KEY_VIDEO }, | ||
70 | { 0x800f044c, KEY_LANGUAGE }, | ||
71 | { 0x800f044d, KEY_TITLE }, | ||
72 | { 0x800f044e, KEY_PRINT }, /* Print - HP OEM version of remote */ | ||
73 | |||
74 | { 0x800f0450, KEY_RADIO }, | ||
75 | |||
76 | { 0x800f045a, KEY_SUBTITLE }, /* Caption/Teletext */ | ||
77 | { 0x800f045b, KEY_RED }, | ||
78 | { 0x800f045c, KEY_GREEN }, | ||
79 | { 0x800f045d, KEY_YELLOW }, | ||
80 | { 0x800f045e, KEY_BLUE }, | ||
81 | |||
82 | { 0x800f0465, KEY_POWER2 }, /* TV Power */ | ||
83 | { 0x800f046e, KEY_PLAYPAUSE }, | ||
84 | { 0x800f046f, KEY_MEDIA }, /* Start media application (NEW) */ | ||
85 | |||
86 | { 0x800f0480, KEY_BRIGHTNESSDOWN }, | ||
87 | { 0x800f0481, KEY_PLAYPAUSE }, | ||
88 | }; | ||
89 | |||
90 | static struct rc_map_list rc6_mce_map = { | ||
91 | .map = { | ||
92 | .scan = rc6_mce, | ||
93 | .size = ARRAY_SIZE(rc6_mce), | ||
94 | .rc_type = RC_TYPE_RC6, | ||
95 | .name = RC_MAP_RC6_MCE, | ||
96 | } | ||
97 | }; | ||
98 | |||
99 | static int __init init_rc_map_rc6_mce(void) | ||
100 | { | ||
101 | return rc_map_register(&rc6_mce_map); | ||
102 | } | ||
103 | |||
104 | static void __exit exit_rc_map_rc6_mce(void) | ||
105 | { | ||
106 | rc_map_unregister(&rc6_mce_map); | ||
107 | } | ||
108 | |||
109 | module_init(init_rc_map_rc6_mce) | ||
110 | module_exit(exit_rc_map_rc6_mce) | ||
111 | |||
112 | MODULE_LICENSE("GPL"); | ||
113 | MODULE_AUTHOR("Jarod Wilson <jarod@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-real-audio-220-32-keys.c b/drivers/media/rc/keymaps/rc-real-audio-220-32-keys.c new file mode 100644 index 000000000000..2d14598592d8 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-real-audio-220-32-keys.c | |||
@@ -0,0 +1,78 @@ | |||
1 | /* real-audio-220-32-keys.h - Keytable for real_audio_220_32_keys Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* Zogis Real Audio 220 - 32 keys IR */ | ||
16 | |||
17 | static struct rc_map_table real_audio_220_32_keys[] = { | ||
18 | { 0x1c, KEY_RADIO}, | ||
19 | { 0x12, KEY_POWER2}, | ||
20 | |||
21 | { 0x01, KEY_1}, | ||
22 | { 0x02, KEY_2}, | ||
23 | { 0x03, KEY_3}, | ||
24 | { 0x04, KEY_4}, | ||
25 | { 0x05, KEY_5}, | ||
26 | { 0x06, KEY_6}, | ||
27 | { 0x07, KEY_7}, | ||
28 | { 0x08, KEY_8}, | ||
29 | { 0x09, KEY_9}, | ||
30 | { 0x00, KEY_0}, | ||
31 | |||
32 | { 0x0c, KEY_VOLUMEUP}, | ||
33 | { 0x18, KEY_VOLUMEDOWN}, | ||
34 | { 0x0b, KEY_CHANNELUP}, | ||
35 | { 0x15, KEY_CHANNELDOWN}, | ||
36 | { 0x16, KEY_ENTER}, | ||
37 | |||
38 | { 0x11, KEY_LIST}, /* Source */ | ||
39 | { 0x0d, KEY_AUDIO}, /* stereo */ | ||
40 | |||
41 | { 0x0f, KEY_PREVIOUS}, /* Prev */ | ||
42 | { 0x1b, KEY_TIME}, /* Timeshift */ | ||
43 | { 0x1a, KEY_NEXT}, /* Next */ | ||
44 | |||
45 | { 0x0e, KEY_STOP}, | ||
46 | { 0x1f, KEY_PLAY}, | ||
47 | { 0x1e, KEY_PLAYPAUSE}, /* Pause */ | ||
48 | |||
49 | { 0x1d, KEY_RECORD}, | ||
50 | { 0x13, KEY_MUTE}, | ||
51 | { 0x19, KEY_CAMERA}, /* Snapshot */ | ||
52 | |||
53 | }; | ||
54 | |||
55 | static struct rc_map_list real_audio_220_32_keys_map = { | ||
56 | .map = { | ||
57 | .scan = real_audio_220_32_keys, | ||
58 | .size = ARRAY_SIZE(real_audio_220_32_keys), | ||
59 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
60 | .name = RC_MAP_REAL_AUDIO_220_32_KEYS, | ||
61 | } | ||
62 | }; | ||
63 | |||
64 | static int __init init_rc_map_real_audio_220_32_keys(void) | ||
65 | { | ||
66 | return rc_map_register(&real_audio_220_32_keys_map); | ||
67 | } | ||
68 | |||
69 | static void __exit exit_rc_map_real_audio_220_32_keys(void) | ||
70 | { | ||
71 | rc_map_unregister(&real_audio_220_32_keys_map); | ||
72 | } | ||
73 | |||
74 | module_init(init_rc_map_real_audio_220_32_keys) | ||
75 | module_exit(exit_rc_map_real_audio_220_32_keys) | ||
76 | |||
77 | MODULE_LICENSE("GPL"); | ||
78 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-streamzap.c b/drivers/media/rc/keymaps/rc-streamzap.c new file mode 100644 index 000000000000..92cc10d2f9cd --- /dev/null +++ b/drivers/media/rc/keymaps/rc-streamzap.c | |||
@@ -0,0 +1,82 @@ | |||
1 | /* rc-streamzap.c - Keytable for Streamzap PC Remote, for use | ||
2 | * with the Streamzap PC Remote IR Receiver. | ||
3 | * | ||
4 | * Copyright (c) 2010 by Jarod Wilson <jarod@redhat.com> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | */ | ||
11 | |||
12 | #include <media/rc-map.h> | ||
13 | |||
14 | static struct rc_map_table streamzap[] = { | ||
15 | /* | ||
16 | * The Streamzap remote is almost, but not quite, RC-5, as it has an extra | ||
17 | * bit in it, which throws the in-kernel RC-5 decoder for a loop. Currently, | ||
18 | * an additional RC-5-sz decoder is being deployed to support it, but it | ||
19 | * may be possible to merge it back with the standard RC-5 decoder. | ||
20 | */ | ||
21 | { 0x28c0, KEY_NUMERIC_0 }, | ||
22 | { 0x28c1, KEY_NUMERIC_1 }, | ||
23 | { 0x28c2, KEY_NUMERIC_2 }, | ||
24 | { 0x28c3, KEY_NUMERIC_3 }, | ||
25 | { 0x28c4, KEY_NUMERIC_4 }, | ||
26 | { 0x28c5, KEY_NUMERIC_5 }, | ||
27 | { 0x28c6, KEY_NUMERIC_6 }, | ||
28 | { 0x28c7, KEY_NUMERIC_7 }, | ||
29 | { 0x28c8, KEY_NUMERIC_8 }, | ||
30 | { 0x28c9, KEY_NUMERIC_9 }, | ||
31 | { 0x28ca, KEY_POWER }, | ||
32 | { 0x28cb, KEY_MUTE }, | ||
33 | { 0x28cc, KEY_CHANNELUP }, | ||
34 | { 0x28cd, KEY_VOLUMEUP }, | ||
35 | { 0x28ce, KEY_CHANNELDOWN }, | ||
36 | { 0x28cf, KEY_VOLUMEDOWN }, | ||
37 | { 0x28d0, KEY_UP }, | ||
38 | { 0x28d1, KEY_LEFT }, | ||
39 | { 0x28d2, KEY_OK }, | ||
40 | { 0x28d3, KEY_RIGHT }, | ||
41 | { 0x28d4, KEY_DOWN }, | ||
42 | { 0x28d5, KEY_MENU }, | ||
43 | { 0x28d6, KEY_EXIT }, | ||
44 | { 0x28d7, KEY_PLAY }, | ||
45 | { 0x28d8, KEY_PAUSE }, | ||
46 | { 0x28d9, KEY_STOP }, | ||
47 | { 0x28da, KEY_BACK }, | ||
48 | { 0x28db, KEY_FORWARD }, | ||
49 | { 0x28dc, KEY_RECORD }, | ||
50 | { 0x28dd, KEY_REWIND }, | ||
51 | { 0x28de, KEY_FASTFORWARD }, | ||
52 | { 0x28e0, KEY_RED }, | ||
53 | { 0x28e1, KEY_GREEN }, | ||
54 | { 0x28e2, KEY_YELLOW }, | ||
55 | { 0x28e3, KEY_BLUE }, | ||
56 | |||
57 | }; | ||
58 | |||
59 | static struct rc_map_list streamzap_map = { | ||
60 | .map = { | ||
61 | .scan = streamzap, | ||
62 | .size = ARRAY_SIZE(streamzap), | ||
63 | .rc_type = RC_TYPE_RC5_SZ, | ||
64 | .name = RC_MAP_STREAMZAP, | ||
65 | } | ||
66 | }; | ||
67 | |||
68 | static int __init init_rc_map_streamzap(void) | ||
69 | { | ||
70 | return rc_map_register(&streamzap_map); | ||
71 | } | ||
72 | |||
73 | static void __exit exit_rc_map_streamzap(void) | ||
74 | { | ||
75 | rc_map_unregister(&streamzap_map); | ||
76 | } | ||
77 | |||
78 | module_init(init_rc_map_streamzap) | ||
79 | module_exit(exit_rc_map_streamzap) | ||
80 | |||
81 | MODULE_LICENSE("GPL"); | ||
82 | MODULE_AUTHOR("Jarod Wilson <jarod@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-tbs-nec.c b/drivers/media/rc/keymaps/rc-tbs-nec.c new file mode 100644 index 000000000000..7242ee66f6e0 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-tbs-nec.c | |||
@@ -0,0 +1,75 @@ | |||
1 | /* tbs-nec.h - Keytable for tbs_nec Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | static struct rc_map_table tbs_nec[] = { | ||
16 | { 0x84, KEY_POWER2}, /* power */ | ||
17 | { 0x94, KEY_MUTE}, /* mute */ | ||
18 | { 0x87, KEY_1}, | ||
19 | { 0x86, KEY_2}, | ||
20 | { 0x85, KEY_3}, | ||
21 | { 0x8b, KEY_4}, | ||
22 | { 0x8a, KEY_5}, | ||
23 | { 0x89, KEY_6}, | ||
24 | { 0x8f, KEY_7}, | ||
25 | { 0x8e, KEY_8}, | ||
26 | { 0x8d, KEY_9}, | ||
27 | { 0x92, KEY_0}, | ||
28 | { 0xc0, KEY_10CHANNELSUP}, /* 10+ */ | ||
29 | { 0xd0, KEY_10CHANNELSDOWN}, /* 10- */ | ||
30 | { 0x96, KEY_CHANNELUP}, /* ch+ */ | ||
31 | { 0x91, KEY_CHANNELDOWN}, /* ch- */ | ||
32 | { 0x93, KEY_VOLUMEUP}, /* vol+ */ | ||
33 | { 0x8c, KEY_VOLUMEDOWN}, /* vol- */ | ||
34 | { 0x83, KEY_RECORD}, /* rec */ | ||
35 | { 0x98, KEY_PAUSE}, /* pause, yellow */ | ||
36 | { 0x99, KEY_OK}, /* ok */ | ||
37 | { 0x9a, KEY_CAMERA}, /* snapshot */ | ||
38 | { 0x81, KEY_UP}, | ||
39 | { 0x90, KEY_LEFT}, | ||
40 | { 0x82, KEY_RIGHT}, | ||
41 | { 0x88, KEY_DOWN}, | ||
42 | { 0x95, KEY_FAVORITES}, /* blue */ | ||
43 | { 0x97, KEY_SUBTITLE}, /* green */ | ||
44 | { 0x9d, KEY_ZOOM}, | ||
45 | { 0x9f, KEY_EXIT}, | ||
46 | { 0x9e, KEY_MENU}, | ||
47 | { 0x9c, KEY_EPG}, | ||
48 | { 0x80, KEY_PREVIOUS}, /* red */ | ||
49 | { 0x9b, KEY_MODE}, | ||
50 | }; | ||
51 | |||
52 | static struct rc_map_list tbs_nec_map = { | ||
53 | .map = { | ||
54 | .scan = tbs_nec, | ||
55 | .size = ARRAY_SIZE(tbs_nec), | ||
56 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
57 | .name = RC_MAP_TBS_NEC, | ||
58 | } | ||
59 | }; | ||
60 | |||
61 | static int __init init_rc_map_tbs_nec(void) | ||
62 | { | ||
63 | return rc_map_register(&tbs_nec_map); | ||
64 | } | ||
65 | |||
66 | static void __exit exit_rc_map_tbs_nec(void) | ||
67 | { | ||
68 | rc_map_unregister(&tbs_nec_map); | ||
69 | } | ||
70 | |||
71 | module_init(init_rc_map_tbs_nec) | ||
72 | module_exit(exit_rc_map_tbs_nec) | ||
73 | |||
74 | MODULE_LICENSE("GPL"); | ||
75 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-terratec-cinergy-xs.c b/drivers/media/rc/keymaps/rc-terratec-cinergy-xs.c new file mode 100644 index 000000000000..bc38e34b9fda --- /dev/null +++ b/drivers/media/rc/keymaps/rc-terratec-cinergy-xs.c | |||
@@ -0,0 +1,92 @@ | |||
1 | /* terratec-cinergy-xs.h - Keytable for terratec_cinergy_xs Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* Terratec Cinergy Hybrid T USB XS | ||
16 | Devin Heitmueller <dheitmueller@linuxtv.org> | ||
17 | */ | ||
18 | |||
19 | static struct rc_map_table terratec_cinergy_xs[] = { | ||
20 | { 0x41, KEY_HOME}, | ||
21 | { 0x01, KEY_POWER}, | ||
22 | { 0x42, KEY_MENU}, | ||
23 | { 0x02, KEY_1}, | ||
24 | { 0x03, KEY_2}, | ||
25 | { 0x04, KEY_3}, | ||
26 | { 0x43, KEY_SUBTITLE}, | ||
27 | { 0x05, KEY_4}, | ||
28 | { 0x06, KEY_5}, | ||
29 | { 0x07, KEY_6}, | ||
30 | { 0x44, KEY_TEXT}, | ||
31 | { 0x08, KEY_7}, | ||
32 | { 0x09, KEY_8}, | ||
33 | { 0x0a, KEY_9}, | ||
34 | { 0x45, KEY_DELETE}, | ||
35 | { 0x0b, KEY_TUNER}, | ||
36 | { 0x0c, KEY_0}, | ||
37 | { 0x0d, KEY_MODE}, | ||
38 | { 0x46, KEY_TV}, | ||
39 | { 0x47, KEY_DVD}, | ||
40 | { 0x49, KEY_VIDEO}, | ||
41 | { 0x4b, KEY_AUX}, | ||
42 | { 0x10, KEY_UP}, | ||
43 | { 0x11, KEY_LEFT}, | ||
44 | { 0x12, KEY_OK}, | ||
45 | { 0x13, KEY_RIGHT}, | ||
46 | { 0x14, KEY_DOWN}, | ||
47 | { 0x0f, KEY_EPG}, | ||
48 | { 0x16, KEY_INFO}, | ||
49 | { 0x4d, KEY_BACKSPACE}, | ||
50 | { 0x1c, KEY_VOLUMEUP}, | ||
51 | { 0x4c, KEY_PLAY}, | ||
52 | { 0x1b, KEY_CHANNELUP}, | ||
53 | { 0x1e, KEY_VOLUMEDOWN}, | ||
54 | { 0x1d, KEY_MUTE}, | ||
55 | { 0x1f, KEY_CHANNELDOWN}, | ||
56 | { 0x17, KEY_RED}, | ||
57 | { 0x18, KEY_GREEN}, | ||
58 | { 0x19, KEY_YELLOW}, | ||
59 | { 0x1a, KEY_BLUE}, | ||
60 | { 0x58, KEY_RECORD}, | ||
61 | { 0x48, KEY_STOP}, | ||
62 | { 0x40, KEY_PAUSE}, | ||
63 | { 0x54, KEY_LAST}, | ||
64 | { 0x4e, KEY_REWIND}, | ||
65 | { 0x4f, KEY_FASTFORWARD}, | ||
66 | { 0x5c, KEY_NEXT}, | ||
67 | }; | ||
68 | |||
69 | static struct rc_map_list terratec_cinergy_xs_map = { | ||
70 | .map = { | ||
71 | .scan = terratec_cinergy_xs, | ||
72 | .size = ARRAY_SIZE(terratec_cinergy_xs), | ||
73 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
74 | .name = RC_MAP_TERRATEC_CINERGY_XS, | ||
75 | } | ||
76 | }; | ||
77 | |||
78 | static int __init init_rc_map_terratec_cinergy_xs(void) | ||
79 | { | ||
80 | return rc_map_register(&terratec_cinergy_xs_map); | ||
81 | } | ||
82 | |||
83 | static void __exit exit_rc_map_terratec_cinergy_xs(void) | ||
84 | { | ||
85 | rc_map_unregister(&terratec_cinergy_xs_map); | ||
86 | } | ||
87 | |||
88 | module_init(init_rc_map_terratec_cinergy_xs) | ||
89 | module_exit(exit_rc_map_terratec_cinergy_xs) | ||
90 | |||
91 | MODULE_LICENSE("GPL"); | ||
92 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-terratec-slim.c b/drivers/media/rc/keymaps/rc-terratec-slim.c new file mode 100644 index 000000000000..1abafa5fd303 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-terratec-slim.c | |||
@@ -0,0 +1,79 @@ | |||
1 | /* | ||
2 | * TerraTec remote controller keytable | ||
3 | * | ||
4 | * Copyright (C) 2010 Antti Palosaari <crope@iki.fi> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License along | ||
17 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||
19 | */ | ||
20 | |||
21 | #include <media/rc-map.h> | ||
22 | |||
23 | /* TerraTec slim remote, 7 rows, 4 columns. */ | ||
24 | /* Uses NEC extended 0x02bd. */ | ||
25 | static struct rc_map_table terratec_slim[] = { | ||
26 | { 0x02bd00, KEY_1 }, | ||
27 | { 0x02bd01, KEY_2 }, | ||
28 | { 0x02bd02, KEY_3 }, | ||
29 | { 0x02bd03, KEY_4 }, | ||
30 | { 0x02bd04, KEY_5 }, | ||
31 | { 0x02bd05, KEY_6 }, | ||
32 | { 0x02bd06, KEY_7 }, | ||
33 | { 0x02bd07, KEY_8 }, | ||
34 | { 0x02bd08, KEY_9 }, | ||
35 | { 0x02bd09, KEY_0 }, | ||
36 | { 0x02bd0a, KEY_MUTE }, | ||
37 | { 0x02bd0b, KEY_NEW }, /* symbol: PIP */ | ||
38 | { 0x02bd0e, KEY_VOLUMEDOWN }, | ||
39 | { 0x02bd0f, KEY_PLAYPAUSE }, | ||
40 | { 0x02bd10, KEY_RIGHT }, | ||
41 | { 0x02bd11, KEY_LEFT }, | ||
42 | { 0x02bd12, KEY_UP }, | ||
43 | { 0x02bd13, KEY_DOWN }, | ||
44 | { 0x02bd15, KEY_OK }, | ||
45 | { 0x02bd16, KEY_STOP }, | ||
46 | { 0x02bd17, KEY_CAMERA }, /* snapshot */ | ||
47 | { 0x02bd18, KEY_CHANNELUP }, | ||
48 | { 0x02bd19, KEY_RECORD }, | ||
49 | { 0x02bd1a, KEY_CHANNELDOWN }, | ||
50 | { 0x02bd1c, KEY_ESC }, | ||
51 | { 0x02bd1f, KEY_VOLUMEUP }, | ||
52 | { 0x02bd44, KEY_EPG }, | ||
53 | { 0x02bd45, KEY_POWER2 }, /* [red power button] */ | ||
54 | }; | ||
55 | |||
56 | static struct rc_map_list terratec_slim_map = { | ||
57 | .map = { | ||
58 | .scan = terratec_slim, | ||
59 | .size = ARRAY_SIZE(terratec_slim), | ||
60 | .rc_type = RC_TYPE_NEC, | ||
61 | .name = RC_MAP_TERRATEC_SLIM, | ||
62 | } | ||
63 | }; | ||
64 | |||
65 | static int __init init_rc_map_terratec_slim(void) | ||
66 | { | ||
67 | return rc_map_register(&terratec_slim_map); | ||
68 | } | ||
69 | |||
70 | static void __exit exit_rc_map_terratec_slim(void) | ||
71 | { | ||
72 | rc_map_unregister(&terratec_slim_map); | ||
73 | } | ||
74 | |||
75 | module_init(init_rc_map_terratec_slim) | ||
76 | module_exit(exit_rc_map_terratec_slim) | ||
77 | |||
78 | MODULE_LICENSE("GPL"); | ||
79 | MODULE_AUTHOR("Antti Palosaari <crope@iki.fi>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-tevii-nec.c b/drivers/media/rc/keymaps/rc-tevii-nec.c new file mode 100644 index 000000000000..ef5ba3f32735 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-tevii-nec.c | |||
@@ -0,0 +1,88 @@ | |||
1 | /* tevii-nec.h - Keytable for tevii_nec Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | static struct rc_map_table tevii_nec[] = { | ||
16 | { 0x0a, KEY_POWER2}, | ||
17 | { 0x0c, KEY_MUTE}, | ||
18 | { 0x11, KEY_1}, | ||
19 | { 0x12, KEY_2}, | ||
20 | { 0x13, KEY_3}, | ||
21 | { 0x14, KEY_4}, | ||
22 | { 0x15, KEY_5}, | ||
23 | { 0x16, KEY_6}, | ||
24 | { 0x17, KEY_7}, | ||
25 | { 0x18, KEY_8}, | ||
26 | { 0x19, KEY_9}, | ||
27 | { 0x10, KEY_0}, | ||
28 | { 0x1c, KEY_MENU}, | ||
29 | { 0x0f, KEY_VOLUMEDOWN}, | ||
30 | { 0x1a, KEY_LAST}, | ||
31 | { 0x0e, KEY_OPEN}, | ||
32 | { 0x04, KEY_RECORD}, | ||
33 | { 0x09, KEY_VOLUMEUP}, | ||
34 | { 0x08, KEY_CHANNELUP}, | ||
35 | { 0x07, KEY_PVR}, | ||
36 | { 0x0b, KEY_TIME}, | ||
37 | { 0x02, KEY_RIGHT}, | ||
38 | { 0x03, KEY_LEFT}, | ||
39 | { 0x00, KEY_UP}, | ||
40 | { 0x1f, KEY_OK}, | ||
41 | { 0x01, KEY_DOWN}, | ||
42 | { 0x05, KEY_TUNER}, | ||
43 | { 0x06, KEY_CHANNELDOWN}, | ||
44 | { 0x40, KEY_PLAYPAUSE}, | ||
45 | { 0x1e, KEY_REWIND}, | ||
46 | { 0x1b, KEY_FAVORITES}, | ||
47 | { 0x1d, KEY_BACK}, | ||
48 | { 0x4d, KEY_FASTFORWARD}, | ||
49 | { 0x44, KEY_EPG}, | ||
50 | { 0x4c, KEY_INFO}, | ||
51 | { 0x41, KEY_AB}, | ||
52 | { 0x43, KEY_AUDIO}, | ||
53 | { 0x45, KEY_SUBTITLE}, | ||
54 | { 0x4a, KEY_LIST}, | ||
55 | { 0x46, KEY_F1}, | ||
56 | { 0x47, KEY_F2}, | ||
57 | { 0x5e, KEY_F3}, | ||
58 | { 0x5c, KEY_F4}, | ||
59 | { 0x52, KEY_F5}, | ||
60 | { 0x5a, KEY_F6}, | ||
61 | { 0x56, KEY_MODE}, | ||
62 | { 0x58, KEY_SWITCHVIDEOMODE}, | ||
63 | }; | ||
64 | |||
65 | static struct rc_map_list tevii_nec_map = { | ||
66 | .map = { | ||
67 | .scan = tevii_nec, | ||
68 | .size = ARRAY_SIZE(tevii_nec), | ||
69 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
70 | .name = RC_MAP_TEVII_NEC, | ||
71 | } | ||
72 | }; | ||
73 | |||
74 | static int __init init_rc_map_tevii_nec(void) | ||
75 | { | ||
76 | return rc_map_register(&tevii_nec_map); | ||
77 | } | ||
78 | |||
79 | static void __exit exit_rc_map_tevii_nec(void) | ||
80 | { | ||
81 | rc_map_unregister(&tevii_nec_map); | ||
82 | } | ||
83 | |||
84 | module_init(init_rc_map_tevii_nec) | ||
85 | module_exit(exit_rc_map_tevii_nec) | ||
86 | |||
87 | MODULE_LICENSE("GPL"); | ||
88 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-total-media-in-hand.c b/drivers/media/rc/keymaps/rc-total-media-in-hand.c new file mode 100644 index 000000000000..20ac4e19fb3f --- /dev/null +++ b/drivers/media/rc/keymaps/rc-total-media-in-hand.c | |||
@@ -0,0 +1,85 @@ | |||
1 | /* | ||
2 | * Total Media In Hand remote controller keytable | ||
3 | * | ||
4 | * Copyright (C) 2010 Antti Palosaari <crope@iki.fi> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License along | ||
17 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||
19 | */ | ||
20 | |||
21 | #include <media/rc-map.h> | ||
22 | |||
23 | /* Uses NEC extended 0x02bd */ | ||
24 | static struct rc_map_table total_media_in_hand[] = { | ||
25 | { 0x02bd00, KEY_1 }, | ||
26 | { 0x02bd01, KEY_2 }, | ||
27 | { 0x02bd02, KEY_3 }, | ||
28 | { 0x02bd03, KEY_4 }, | ||
29 | { 0x02bd04, KEY_5 }, | ||
30 | { 0x02bd05, KEY_6 }, | ||
31 | { 0x02bd06, KEY_7 }, | ||
32 | { 0x02bd07, KEY_8 }, | ||
33 | { 0x02bd08, KEY_9 }, | ||
34 | { 0x02bd09, KEY_0 }, | ||
35 | { 0x02bd0a, KEY_MUTE }, | ||
36 | { 0x02bd0b, KEY_CYCLEWINDOWS }, /* yellow, [min / max] */ | ||
37 | { 0x02bd0c, KEY_VIDEO }, /* TV / AV */ | ||
38 | { 0x02bd0e, KEY_VOLUMEDOWN }, | ||
39 | { 0x02bd0f, KEY_TIME }, /* TimeShift */ | ||
40 | { 0x02bd10, KEY_RIGHT }, /* right arrow */ | ||
41 | { 0x02bd11, KEY_LEFT }, /* left arrow */ | ||
42 | { 0x02bd12, KEY_UP }, /* up arrow */ | ||
43 | { 0x02bd13, KEY_DOWN }, /* down arrow */ | ||
44 | { 0x02bd14, KEY_POWER2 }, /* [red] */ | ||
45 | { 0x02bd15, KEY_OK }, /* OK */ | ||
46 | { 0x02bd16, KEY_STOP }, | ||
47 | { 0x02bd17, KEY_CAMERA }, /* Snapshot */ | ||
48 | { 0x02bd18, KEY_CHANNELUP }, | ||
49 | { 0x02bd19, KEY_RECORD }, | ||
50 | { 0x02bd1a, KEY_CHANNELDOWN }, | ||
51 | { 0x02bd1c, KEY_ESC }, /* Esc */ | ||
52 | { 0x02bd1e, KEY_PLAY }, | ||
53 | { 0x02bd1f, KEY_VOLUMEUP }, | ||
54 | { 0x02bd40, KEY_PAUSE }, | ||
55 | { 0x02bd41, KEY_FASTFORWARD }, /* FF >> */ | ||
56 | { 0x02bd42, KEY_REWIND }, /* FR << */ | ||
57 | { 0x02bd43, KEY_ZOOM }, /* [window + mouse pointer] */ | ||
58 | { 0x02bd44, KEY_SHUFFLE }, /* Shuffle */ | ||
59 | { 0x02bd45, KEY_INFO }, /* [red (I)] */ | ||
60 | }; | ||
61 | |||
62 | static struct rc_map_list total_media_in_hand_map = { | ||
63 | .map = { | ||
64 | .scan = total_media_in_hand, | ||
65 | .size = ARRAY_SIZE(total_media_in_hand), | ||
66 | .rc_type = RC_TYPE_NEC, | ||
67 | .name = RC_MAP_TOTAL_MEDIA_IN_HAND, | ||
68 | } | ||
69 | }; | ||
70 | |||
71 | static int __init init_rc_map_total_media_in_hand(void) | ||
72 | { | ||
73 | return rc_map_register(&total_media_in_hand_map); | ||
74 | } | ||
75 | |||
76 | static void __exit exit_rc_map_total_media_in_hand(void) | ||
77 | { | ||
78 | rc_map_unregister(&total_media_in_hand_map); | ||
79 | } | ||
80 | |||
81 | module_init(init_rc_map_total_media_in_hand) | ||
82 | module_exit(exit_rc_map_total_media_in_hand) | ||
83 | |||
84 | MODULE_LICENSE("GPL"); | ||
85 | MODULE_AUTHOR("Antti Palosaari <crope@iki.fi>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-trekstor.c b/drivers/media/rc/keymaps/rc-trekstor.c new file mode 100644 index 000000000000..f8190ead2e32 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-trekstor.c | |||
@@ -0,0 +1,80 @@ | |||
1 | /* | ||
2 | * TrekStor remote controller keytable | ||
3 | * | ||
4 | * Copyright (C) 2010 Antti Palosaari <crope@iki.fi> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License along | ||
17 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||
19 | */ | ||
20 | |||
21 | #include <media/rc-map.h> | ||
22 | |||
23 | /* TrekStor DVB-T USB Stick remote controller. */ | ||
24 | /* Imported from af9015.h. | ||
25 | Initial keytable was from Marc Schneider <macke@macke.org> */ | ||
26 | static struct rc_map_table trekstor[] = { | ||
27 | { 0x0084, KEY_0 }, | ||
28 | { 0x0085, KEY_MUTE }, /* Mute */ | ||
29 | { 0x0086, KEY_HOMEPAGE }, /* Home */ | ||
30 | { 0x0087, KEY_UP }, /* Up */ | ||
31 | { 0x0088, KEY_OK }, /* OK */ | ||
32 | { 0x0089, KEY_RIGHT }, /* Right */ | ||
33 | { 0x008a, KEY_FASTFORWARD }, /* Fast forward */ | ||
34 | { 0x008b, KEY_VOLUMEUP }, /* Volume + */ | ||
35 | { 0x008c, KEY_DOWN }, /* Down */ | ||
36 | { 0x008d, KEY_PLAY }, /* Play/Pause */ | ||
37 | { 0x008e, KEY_STOP }, /* Stop */ | ||
38 | { 0x008f, KEY_EPG }, /* Info/EPG */ | ||
39 | { 0x0090, KEY_7 }, | ||
40 | { 0x0091, KEY_4 }, | ||
41 | { 0x0092, KEY_1 }, | ||
42 | { 0x0093, KEY_CHANNELDOWN }, /* Channel - */ | ||
43 | { 0x0094, KEY_8 }, | ||
44 | { 0x0095, KEY_5 }, | ||
45 | { 0x0096, KEY_2 }, | ||
46 | { 0x0097, KEY_CHANNELUP }, /* Channel + */ | ||
47 | { 0x0098, KEY_9 }, | ||
48 | { 0x0099, KEY_6 }, | ||
49 | { 0x009a, KEY_3 }, | ||
50 | { 0x009b, KEY_VOLUMEDOWN }, /* Volume - */ | ||
51 | { 0x009c, KEY_TV }, /* TV */ | ||
52 | { 0x009d, KEY_RECORD }, /* Record */ | ||
53 | { 0x009e, KEY_REWIND }, /* Rewind */ | ||
54 | { 0x009f, KEY_LEFT }, /* Left */ | ||
55 | }; | ||
56 | |||
57 | static struct rc_map_list trekstor_map = { | ||
58 | .map = { | ||
59 | .scan = trekstor, | ||
60 | .size = ARRAY_SIZE(trekstor), | ||
61 | .rc_type = RC_TYPE_NEC, | ||
62 | .name = RC_MAP_TREKSTOR, | ||
63 | } | ||
64 | }; | ||
65 | |||
66 | static int __init init_rc_map_trekstor(void) | ||
67 | { | ||
68 | return rc_map_register(&trekstor_map); | ||
69 | } | ||
70 | |||
71 | static void __exit exit_rc_map_trekstor(void) | ||
72 | { | ||
73 | rc_map_unregister(&trekstor_map); | ||
74 | } | ||
75 | |||
76 | module_init(init_rc_map_trekstor) | ||
77 | module_exit(exit_rc_map_trekstor) | ||
78 | |||
79 | MODULE_LICENSE("GPL"); | ||
80 | MODULE_AUTHOR("Antti Palosaari <crope@iki.fi>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-tt-1500.c b/drivers/media/rc/keymaps/rc-tt-1500.c new file mode 100644 index 000000000000..295f3738e301 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-tt-1500.c | |||
@@ -0,0 +1,82 @@ | |||
1 | /* tt-1500.h - Keytable for tt_1500 Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* for the Technotrend 1500 bundled remotes (grey and black): */ | ||
16 | |||
17 | static struct rc_map_table tt_1500[] = { | ||
18 | { 0x1501, KEY_POWER }, | ||
19 | { 0x1502, KEY_SHUFFLE }, /* ? double-arrow key */ | ||
20 | { 0x1503, KEY_1 }, | ||
21 | { 0x1504, KEY_2 }, | ||
22 | { 0x1505, KEY_3 }, | ||
23 | { 0x1506, KEY_4 }, | ||
24 | { 0x1507, KEY_5 }, | ||
25 | { 0x1508, KEY_6 }, | ||
26 | { 0x1509, KEY_7 }, | ||
27 | { 0x150a, KEY_8 }, | ||
28 | { 0x150b, KEY_9 }, | ||
29 | { 0x150c, KEY_0 }, | ||
30 | { 0x150d, KEY_UP }, | ||
31 | { 0x150e, KEY_LEFT }, | ||
32 | { 0x150f, KEY_OK }, | ||
33 | { 0x1510, KEY_RIGHT }, | ||
34 | { 0x1511, KEY_DOWN }, | ||
35 | { 0x1512, KEY_INFO }, | ||
36 | { 0x1513, KEY_EXIT }, | ||
37 | { 0x1514, KEY_RED }, | ||
38 | { 0x1515, KEY_GREEN }, | ||
39 | { 0x1516, KEY_YELLOW }, | ||
40 | { 0x1517, KEY_BLUE }, | ||
41 | { 0x1518, KEY_MUTE }, | ||
42 | { 0x1519, KEY_TEXT }, | ||
43 | { 0x151a, KEY_MODE }, /* ? TV/Radio */ | ||
44 | { 0x1521, KEY_OPTION }, | ||
45 | { 0x1522, KEY_EPG }, | ||
46 | { 0x1523, KEY_CHANNELUP }, | ||
47 | { 0x1524, KEY_CHANNELDOWN }, | ||
48 | { 0x1525, KEY_VOLUMEUP }, | ||
49 | { 0x1526, KEY_VOLUMEDOWN }, | ||
50 | { 0x1527, KEY_SETUP }, | ||
51 | { 0x153a, KEY_RECORD }, /* these keys are only in the black remote */ | ||
52 | { 0x153b, KEY_PLAY }, | ||
53 | { 0x153c, KEY_STOP }, | ||
54 | { 0x153d, KEY_REWIND }, | ||
55 | { 0x153e, KEY_PAUSE }, | ||
56 | { 0x153f, KEY_FORWARD }, | ||
57 | }; | ||
58 | |||
59 | static struct rc_map_list tt_1500_map = { | ||
60 | .map = { | ||
61 | .scan = tt_1500, | ||
62 | .size = ARRAY_SIZE(tt_1500), | ||
63 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
64 | .name = RC_MAP_TT_1500, | ||
65 | } | ||
66 | }; | ||
67 | |||
68 | static int __init init_rc_map_tt_1500(void) | ||
69 | { | ||
70 | return rc_map_register(&tt_1500_map); | ||
71 | } | ||
72 | |||
73 | static void __exit exit_rc_map_tt_1500(void) | ||
74 | { | ||
75 | rc_map_unregister(&tt_1500_map); | ||
76 | } | ||
77 | |||
78 | module_init(init_rc_map_tt_1500) | ||
79 | module_exit(exit_rc_map_tt_1500) | ||
80 | |||
81 | MODULE_LICENSE("GPL"); | ||
82 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-twinhan1027.c b/drivers/media/rc/keymaps/rc-twinhan1027.c new file mode 100644 index 000000000000..8bf8df64b081 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-twinhan1027.c | |||
@@ -0,0 +1,87 @@ | |||
1 | #include <media/rc-map.h> | ||
2 | |||
3 | static struct rc_map_table twinhan_vp1027[] = { | ||
4 | { 0x16, KEY_POWER2 }, | ||
5 | { 0x17, KEY_FAVORITES }, | ||
6 | { 0x0f, KEY_TEXT }, | ||
7 | { 0x48, KEY_INFO}, | ||
8 | { 0x1c, KEY_EPG }, | ||
9 | { 0x04, KEY_LIST }, | ||
10 | |||
11 | { 0x03, KEY_1 }, | ||
12 | { 0x01, KEY_2 }, | ||
13 | { 0x06, KEY_3 }, | ||
14 | { 0x09, KEY_4 }, | ||
15 | { 0x1d, KEY_5 }, | ||
16 | { 0x1f, KEY_6 }, | ||
17 | { 0x0d, KEY_7 }, | ||
18 | { 0x19, KEY_8 }, | ||
19 | { 0x1b, KEY_9 }, | ||
20 | { 0x15, KEY_0 }, | ||
21 | |||
22 | { 0x0c, KEY_CANCEL }, | ||
23 | { 0x4a, KEY_CLEAR }, | ||
24 | { 0x13, KEY_BACKSPACE }, | ||
25 | { 0x00, KEY_TAB }, | ||
26 | |||
27 | { 0x4b, KEY_UP }, | ||
28 | { 0x51, KEY_DOWN }, | ||
29 | { 0x4e, KEY_LEFT }, | ||
30 | { 0x52, KEY_RIGHT }, | ||
31 | { 0x4f, KEY_ENTER }, | ||
32 | |||
33 | { 0x1e, KEY_VOLUMEUP }, | ||
34 | { 0x0a, KEY_VOLUMEDOWN }, | ||
35 | { 0x02, KEY_CHANNELDOWN }, | ||
36 | { 0x05, KEY_CHANNELUP }, | ||
37 | { 0x11, KEY_RECORD }, | ||
38 | |||
39 | { 0x14, KEY_PLAY }, | ||
40 | { 0x4c, KEY_PAUSE }, | ||
41 | { 0x1a, KEY_STOP }, | ||
42 | { 0x40, KEY_REWIND }, | ||
43 | { 0x12, KEY_FASTFORWARD }, | ||
44 | { 0x41, KEY_PREVIOUSSONG }, | ||
45 | { 0x42, KEY_NEXTSONG }, | ||
46 | { 0x54, KEY_SAVE }, | ||
47 | { 0x50, KEY_LANGUAGE }, | ||
48 | { 0x47, KEY_MEDIA }, | ||
49 | { 0x4d, KEY_SCREEN }, | ||
50 | { 0x43, KEY_SUBTITLE }, | ||
51 | { 0x10, KEY_MUTE }, | ||
52 | { 0x49, KEY_AUDIO }, | ||
53 | { 0x07, KEY_SLEEP }, | ||
54 | { 0x08, KEY_VIDEO }, | ||
55 | { 0x0e, KEY_AGAIN }, | ||
56 | { 0x45, KEY_EQUAL }, | ||
57 | { 0x46, KEY_MINUS }, | ||
58 | { 0x18, KEY_RED }, | ||
59 | { 0x53, KEY_GREEN }, | ||
60 | { 0x5e, KEY_YELLOW }, | ||
61 | { 0x5f, KEY_BLUE }, | ||
62 | }; | ||
63 | |||
64 | static struct rc_map_list twinhan_vp1027_map = { | ||
65 | .map = { | ||
66 | .scan = twinhan_vp1027, | ||
67 | .size = ARRAY_SIZE(twinhan_vp1027), | ||
68 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
69 | .name = RC_MAP_TWINHAN_VP1027_DVBS, | ||
70 | } | ||
71 | }; | ||
72 | |||
73 | static int __init init_rc_map_twinhan_vp1027(void) | ||
74 | { | ||
75 | return rc_map_register(&twinhan_vp1027_map); | ||
76 | } | ||
77 | |||
78 | static void __exit exit_rc_map_twinhan_vp1027(void) | ||
79 | { | ||
80 | rc_map_unregister(&twinhan_vp1027_map); | ||
81 | } | ||
82 | |||
83 | module_init(init_rc_map_twinhan_vp1027) | ||
84 | module_exit(exit_rc_map_twinhan_vp1027) | ||
85 | |||
86 | MODULE_LICENSE("GPL"); | ||
87 | MODULE_AUTHOR("Sergey Ivanov <123kash@gmail.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-videomate-m1f.c b/drivers/media/rc/keymaps/rc-videomate-m1f.c new file mode 100644 index 000000000000..4994d405c0a1 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-videomate-m1f.c | |||
@@ -0,0 +1,92 @@ | |||
1 | /* videomate-m1f.h - Keytable for videomate_m1f Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Pavel Osnova <pvosnova@gmail.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | static struct rc_map_table videomate_m1f[] = { | ||
16 | { 0x01, KEY_POWER }, | ||
17 | { 0x31, KEY_TUNER }, | ||
18 | { 0x33, KEY_VIDEO }, | ||
19 | { 0x2f, KEY_RADIO }, | ||
20 | { 0x30, KEY_CAMERA }, | ||
21 | { 0x2d, KEY_NEW }, /* TV record button */ | ||
22 | { 0x17, KEY_CYCLEWINDOWS }, | ||
23 | { 0x2c, KEY_ANGLE }, | ||
24 | { 0x2b, KEY_LANGUAGE }, | ||
25 | { 0x32, KEY_SEARCH }, /* '...' button */ | ||
26 | { 0x11, KEY_UP }, | ||
27 | { 0x13, KEY_LEFT }, | ||
28 | { 0x15, KEY_OK }, | ||
29 | { 0x14, KEY_RIGHT }, | ||
30 | { 0x12, KEY_DOWN }, | ||
31 | { 0x16, KEY_BACKSPACE }, | ||
32 | { 0x02, KEY_ZOOM }, /* WIN key */ | ||
33 | { 0x04, KEY_INFO }, | ||
34 | { 0x05, KEY_VOLUMEUP }, | ||
35 | { 0x03, KEY_MUTE }, | ||
36 | { 0x07, KEY_CHANNELUP }, | ||
37 | { 0x06, KEY_VOLUMEDOWN }, | ||
38 | { 0x08, KEY_CHANNELDOWN }, | ||
39 | { 0x0c, KEY_RECORD }, | ||
40 | { 0x0e, KEY_STOP }, | ||
41 | { 0x0a, KEY_BACK }, | ||
42 | { 0x0b, KEY_PLAY }, | ||
43 | { 0x09, KEY_FORWARD }, | ||
44 | { 0x10, KEY_PREVIOUS }, | ||
45 | { 0x0d, KEY_PAUSE }, | ||
46 | { 0x0f, KEY_NEXT }, | ||
47 | { 0x1e, KEY_1 }, | ||
48 | { 0x1f, KEY_2 }, | ||
49 | { 0x20, KEY_3 }, | ||
50 | { 0x21, KEY_4 }, | ||
51 | { 0x22, KEY_5 }, | ||
52 | { 0x23, KEY_6 }, | ||
53 | { 0x24, KEY_7 }, | ||
54 | { 0x25, KEY_8 }, | ||
55 | { 0x26, KEY_9 }, | ||
56 | { 0x2a, KEY_NUMERIC_STAR }, /* * key */ | ||
57 | { 0x1d, KEY_0 }, | ||
58 | { 0x29, KEY_SUBTITLE }, /* # key */ | ||
59 | { 0x27, KEY_CLEAR }, | ||
60 | { 0x34, KEY_SCREEN }, | ||
61 | { 0x28, KEY_ENTER }, | ||
62 | { 0x19, KEY_RED }, | ||
63 | { 0x1a, KEY_GREEN }, | ||
64 | { 0x1b, KEY_YELLOW }, | ||
65 | { 0x1c, KEY_BLUE }, | ||
66 | { 0x18, KEY_TEXT }, | ||
67 | }; | ||
68 | |||
69 | static struct rc_map_list videomate_m1f_map = { | ||
70 | .map = { | ||
71 | .scan = videomate_m1f, | ||
72 | .size = ARRAY_SIZE(videomate_m1f), | ||
73 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
74 | .name = RC_MAP_VIDEOMATE_M1F, | ||
75 | } | ||
76 | }; | ||
77 | |||
78 | static int __init init_rc_map_videomate_m1f(void) | ||
79 | { | ||
80 | return rc_map_register(&videomate_m1f_map); | ||
81 | } | ||
82 | |||
83 | static void __exit exit_rc_map_videomate_m1f(void) | ||
84 | { | ||
85 | rc_map_unregister(&videomate_m1f_map); | ||
86 | } | ||
87 | |||
88 | module_init(init_rc_map_videomate_m1f) | ||
89 | module_exit(exit_rc_map_videomate_m1f) | ||
90 | |||
91 | MODULE_LICENSE("GPL"); | ||
92 | MODULE_AUTHOR("Pavel Osnova <pvosnova@gmail.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-videomate-s350.c b/drivers/media/rc/keymaps/rc-videomate-s350.c new file mode 100644 index 000000000000..9e474a6024e5 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-videomate-s350.c | |||
@@ -0,0 +1,85 @@ | |||
1 | /* videomate-s350.h - Keytable for videomate_s350 Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | static struct rc_map_table videomate_s350[] = { | ||
16 | { 0x00, KEY_TV}, | ||
17 | { 0x01, KEY_DVD}, | ||
18 | { 0x04, KEY_RECORD}, | ||
19 | { 0x05, KEY_VIDEO}, /* TV/Video */ | ||
20 | { 0x07, KEY_STOP}, | ||
21 | { 0x08, KEY_PLAYPAUSE}, | ||
22 | { 0x0a, KEY_REWIND}, | ||
23 | { 0x0f, KEY_FASTFORWARD}, | ||
24 | { 0x10, KEY_CHANNELUP}, | ||
25 | { 0x12, KEY_VOLUMEUP}, | ||
26 | { 0x13, KEY_CHANNELDOWN}, | ||
27 | { 0x14, KEY_MUTE}, | ||
28 | { 0x15, KEY_VOLUMEDOWN}, | ||
29 | { 0x16, KEY_1}, | ||
30 | { 0x17, KEY_2}, | ||
31 | { 0x18, KEY_3}, | ||
32 | { 0x19, KEY_4}, | ||
33 | { 0x1a, KEY_5}, | ||
34 | { 0x1b, KEY_6}, | ||
35 | { 0x1c, KEY_7}, | ||
36 | { 0x1d, KEY_8}, | ||
37 | { 0x1e, KEY_9}, | ||
38 | { 0x1f, KEY_0}, | ||
39 | { 0x21, KEY_SLEEP}, | ||
40 | { 0x24, KEY_ZOOM}, | ||
41 | { 0x25, KEY_LAST}, /* Recall */ | ||
42 | { 0x26, KEY_SUBTITLE}, /* CC */ | ||
43 | { 0x27, KEY_LANGUAGE}, /* MTS */ | ||
44 | { 0x29, KEY_CHANNEL}, /* SURF */ | ||
45 | { 0x2b, KEY_A}, | ||
46 | { 0x2c, KEY_B}, | ||
47 | { 0x2f, KEY_CAMERA}, /* Snapshot */ | ||
48 | { 0x23, KEY_RADIO}, | ||
49 | { 0x02, KEY_PREVIOUSSONG}, | ||
50 | { 0x06, KEY_NEXTSONG}, | ||
51 | { 0x03, KEY_EPG}, | ||
52 | { 0x09, KEY_SETUP}, | ||
53 | { 0x22, KEY_BACKSPACE}, | ||
54 | { 0x0c, KEY_UP}, | ||
55 | { 0x0e, KEY_DOWN}, | ||
56 | { 0x0b, KEY_LEFT}, | ||
57 | { 0x0d, KEY_RIGHT}, | ||
58 | { 0x11, KEY_ENTER}, | ||
59 | { 0x20, KEY_TEXT}, | ||
60 | }; | ||
61 | |||
62 | static struct rc_map_list videomate_s350_map = { | ||
63 | .map = { | ||
64 | .scan = videomate_s350, | ||
65 | .size = ARRAY_SIZE(videomate_s350), | ||
66 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
67 | .name = RC_MAP_VIDEOMATE_S350, | ||
68 | } | ||
69 | }; | ||
70 | |||
71 | static int __init init_rc_map_videomate_s350(void) | ||
72 | { | ||
73 | return rc_map_register(&videomate_s350_map); | ||
74 | } | ||
75 | |||
76 | static void __exit exit_rc_map_videomate_s350(void) | ||
77 | { | ||
78 | rc_map_unregister(&videomate_s350_map); | ||
79 | } | ||
80 | |||
81 | module_init(init_rc_map_videomate_s350) | ||
82 | module_exit(exit_rc_map_videomate_s350) | ||
83 | |||
84 | MODULE_LICENSE("GPL"); | ||
85 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-videomate-tv-pvr.c b/drivers/media/rc/keymaps/rc-videomate-tv-pvr.c new file mode 100644 index 000000000000..5f2a46e1f8f6 --- /dev/null +++ b/drivers/media/rc/keymaps/rc-videomate-tv-pvr.c | |||
@@ -0,0 +1,87 @@ | |||
1 | /* videomate-tv-pvr.h - Keytable for videomate_tv_pvr Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | static struct rc_map_table videomate_tv_pvr[] = { | ||
16 | { 0x14, KEY_MUTE }, | ||
17 | { 0x24, KEY_ZOOM }, | ||
18 | |||
19 | { 0x01, KEY_DVD }, | ||
20 | { 0x23, KEY_RADIO }, | ||
21 | { 0x00, KEY_TV }, | ||
22 | |||
23 | { 0x0a, KEY_REWIND }, | ||
24 | { 0x08, KEY_PLAYPAUSE }, | ||
25 | { 0x0f, KEY_FORWARD }, | ||
26 | |||
27 | { 0x02, KEY_PREVIOUS }, | ||
28 | { 0x07, KEY_STOP }, | ||
29 | { 0x06, KEY_NEXT }, | ||
30 | |||
31 | { 0x0c, KEY_UP }, | ||
32 | { 0x0e, KEY_DOWN }, | ||
33 | { 0x0b, KEY_LEFT }, | ||
34 | { 0x0d, KEY_RIGHT }, | ||
35 | { 0x11, KEY_OK }, | ||
36 | |||
37 | { 0x03, KEY_MENU }, | ||
38 | { 0x09, KEY_SETUP }, | ||
39 | { 0x05, KEY_VIDEO }, | ||
40 | { 0x22, KEY_CHANNEL }, | ||
41 | |||
42 | { 0x12, KEY_VOLUMEUP }, | ||
43 | { 0x15, KEY_VOLUMEDOWN }, | ||
44 | { 0x10, KEY_CHANNELUP }, | ||
45 | { 0x13, KEY_CHANNELDOWN }, | ||
46 | |||
47 | { 0x04, KEY_RECORD }, | ||
48 | |||
49 | { 0x16, KEY_1 }, | ||
50 | { 0x17, KEY_2 }, | ||
51 | { 0x18, KEY_3 }, | ||
52 | { 0x19, KEY_4 }, | ||
53 | { 0x1a, KEY_5 }, | ||
54 | { 0x1b, KEY_6 }, | ||
55 | { 0x1c, KEY_7 }, | ||
56 | { 0x1d, KEY_8 }, | ||
57 | { 0x1e, KEY_9 }, | ||
58 | { 0x1f, KEY_0 }, | ||
59 | |||
60 | { 0x20, KEY_LANGUAGE }, | ||
61 | { 0x21, KEY_SLEEP }, | ||
62 | }; | ||
63 | |||
64 | static struct rc_map_list videomate_tv_pvr_map = { | ||
65 | .map = { | ||
66 | .scan = videomate_tv_pvr, | ||
67 | .size = ARRAY_SIZE(videomate_tv_pvr), | ||
68 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
69 | .name = RC_MAP_VIDEOMATE_TV_PVR, | ||
70 | } | ||
71 | }; | ||
72 | |||
73 | static int __init init_rc_map_videomate_tv_pvr(void) | ||
74 | { | ||
75 | return rc_map_register(&videomate_tv_pvr_map); | ||
76 | } | ||
77 | |||
78 | static void __exit exit_rc_map_videomate_tv_pvr(void) | ||
79 | { | ||
80 | rc_map_unregister(&videomate_tv_pvr_map); | ||
81 | } | ||
82 | |||
83 | module_init(init_rc_map_videomate_tv_pvr) | ||
84 | module_exit(exit_rc_map_videomate_tv_pvr) | ||
85 | |||
86 | MODULE_LICENSE("GPL"); | ||
87 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-winfast-usbii-deluxe.c b/drivers/media/rc/keymaps/rc-winfast-usbii-deluxe.c new file mode 100644 index 000000000000..bd8d021f40aa --- /dev/null +++ b/drivers/media/rc/keymaps/rc-winfast-usbii-deluxe.c | |||
@@ -0,0 +1,82 @@ | |||
1 | /* winfast-usbii-deluxe.h - Keytable for winfast_usbii_deluxe Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* Leadtek Winfast TV USB II Deluxe remote | ||
16 | Magnus Alm <magnus.alm@gmail.com> | ||
17 | */ | ||
18 | |||
19 | static struct rc_map_table winfast_usbii_deluxe[] = { | ||
20 | { 0x62, KEY_0}, | ||
21 | { 0x75, KEY_1}, | ||
22 | { 0x76, KEY_2}, | ||
23 | { 0x77, KEY_3}, | ||
24 | { 0x79, KEY_4}, | ||
25 | { 0x7a, KEY_5}, | ||
26 | { 0x7b, KEY_6}, | ||
27 | { 0x7d, KEY_7}, | ||
28 | { 0x7e, KEY_8}, | ||
29 | { 0x7f, KEY_9}, | ||
30 | |||
31 | { 0x38, KEY_CAMERA}, /* SNAPSHOT */ | ||
32 | { 0x37, KEY_RECORD}, /* RECORD */ | ||
33 | { 0x35, KEY_TIME}, /* TIMESHIFT */ | ||
34 | |||
35 | { 0x74, KEY_VOLUMEUP}, /* VOLUMEUP */ | ||
36 | { 0x78, KEY_VOLUMEDOWN}, /* VOLUMEDOWN */ | ||
37 | { 0x64, KEY_MUTE}, /* MUTE */ | ||
38 | |||
39 | { 0x21, KEY_CHANNEL}, /* SURF */ | ||
40 | { 0x7c, KEY_CHANNELUP}, /* CHANNELUP */ | ||
41 | { 0x60, KEY_CHANNELDOWN}, /* CHANNELDOWN */ | ||
42 | { 0x61, KEY_LAST}, /* LAST CHANNEL (RECALL) */ | ||
43 | |||
44 | { 0x72, KEY_VIDEO}, /* INPUT MODES (TV/FM) */ | ||
45 | |||
46 | { 0x70, KEY_POWER2}, /* TV ON/OFF */ | ||
47 | |||
48 | { 0x39, KEY_CYCLEWINDOWS}, /* MINIMIZE (BOSS) */ | ||
49 | { 0x3a, KEY_NEW}, /* PIP */ | ||
50 | { 0x73, KEY_ZOOM}, /* FULLSECREEN */ | ||
51 | |||
52 | { 0x66, KEY_INFO}, /* OSD (DISPLAY) */ | ||
53 | |||
54 | { 0x31, KEY_DOT}, /* '.' */ | ||
55 | { 0x63, KEY_ENTER}, /* ENTER */ | ||
56 | |||
57 | }; | ||
58 | |||
59 | static struct rc_map_list winfast_usbii_deluxe_map = { | ||
60 | .map = { | ||
61 | .scan = winfast_usbii_deluxe, | ||
62 | .size = ARRAY_SIZE(winfast_usbii_deluxe), | ||
63 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
64 | .name = RC_MAP_WINFAST_USBII_DELUXE, | ||
65 | } | ||
66 | }; | ||
67 | |||
68 | static int __init init_rc_map_winfast_usbii_deluxe(void) | ||
69 | { | ||
70 | return rc_map_register(&winfast_usbii_deluxe_map); | ||
71 | } | ||
72 | |||
73 | static void __exit exit_rc_map_winfast_usbii_deluxe(void) | ||
74 | { | ||
75 | rc_map_unregister(&winfast_usbii_deluxe_map); | ||
76 | } | ||
77 | |||
78 | module_init(init_rc_map_winfast_usbii_deluxe) | ||
79 | module_exit(exit_rc_map_winfast_usbii_deluxe) | ||
80 | |||
81 | MODULE_LICENSE("GPL"); | ||
82 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||
diff --git a/drivers/media/rc/keymaps/rc-winfast.c b/drivers/media/rc/keymaps/rc-winfast.c new file mode 100644 index 000000000000..2747db43b70c --- /dev/null +++ b/drivers/media/rc/keymaps/rc-winfast.c | |||
@@ -0,0 +1,102 @@ | |||
1 | /* winfast.h - Keytable for winfast Remote Controller | ||
2 | * | ||
3 | * keymap imported from ir-keymaps.c | ||
4 | * | ||
5 | * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | */ | ||
12 | |||
13 | #include <media/rc-map.h> | ||
14 | |||
15 | /* Table for Leadtek Winfast Remote Controls - used by both bttv and cx88 */ | ||
16 | |||
17 | static struct rc_map_table winfast[] = { | ||
18 | /* Keys 0 to 9 */ | ||
19 | { 0x12, KEY_0 }, | ||
20 | { 0x05, KEY_1 }, | ||
21 | { 0x06, KEY_2 }, | ||
22 | { 0x07, KEY_3 }, | ||
23 | { 0x09, KEY_4 }, | ||
24 | { 0x0a, KEY_5 }, | ||
25 | { 0x0b, KEY_6 }, | ||
26 | { 0x0d, KEY_7 }, | ||
27 | { 0x0e, KEY_8 }, | ||
28 | { 0x0f, KEY_9 }, | ||
29 | |||
30 | { 0x00, KEY_POWER }, | ||
31 | { 0x1b, KEY_AUDIO }, /* Audio Source */ | ||
32 | { 0x02, KEY_TUNER }, /* TV/FM, not on Y0400052 */ | ||
33 | { 0x1e, KEY_VIDEO }, /* Video Source */ | ||
34 | { 0x16, KEY_INFO }, /* Display information */ | ||
35 | { 0x04, KEY_VOLUMEUP }, | ||
36 | { 0x08, KEY_VOLUMEDOWN }, | ||
37 | { 0x0c, KEY_CHANNELUP }, | ||
38 | { 0x10, KEY_CHANNELDOWN }, | ||
39 | { 0x03, KEY_ZOOM }, /* fullscreen */ | ||
40 | { 0x1f, KEY_TEXT }, /* closed caption/teletext */ | ||
41 | { 0x20, KEY_SLEEP }, | ||
42 | { 0x29, KEY_CLEAR }, /* boss key */ | ||
43 | { 0x14, KEY_MUTE }, | ||
44 | { 0x2b, KEY_RED }, | ||
45 | { 0x2c, KEY_GREEN }, | ||
46 | { 0x2d, KEY_YELLOW }, | ||
47 | { 0x2e, KEY_BLUE }, | ||
48 | { 0x18, KEY_KPPLUS }, /* fine tune + , not on Y040052 */ | ||
49 | { 0x19, KEY_KPMINUS }, /* fine tune - , not on Y040052 */ | ||
50 | { 0x2a, KEY_MEDIA }, /* PIP (Picture in picture */ | ||
51 | { 0x21, KEY_DOT }, | ||
52 | { 0x13, KEY_ENTER }, | ||
53 | { 0x11, KEY_LAST }, /* Recall (last channel */ | ||
54 | { 0x22, KEY_PREVIOUS }, | ||
55 | { 0x23, KEY_PLAYPAUSE }, | ||
56 | { 0x24, KEY_NEXT }, | ||
57 | { 0x25, KEY_TIME }, /* Time Shifting */ | ||
58 | { 0x26, KEY_STOP }, | ||
59 | { 0x27, KEY_RECORD }, | ||
60 | { 0x28, KEY_SAVE }, /* Screenshot */ | ||
61 | { 0x2f, KEY_MENU }, | ||
62 | { 0x30, KEY_CANCEL }, | ||
63 | { 0x31, KEY_CHANNEL }, /* Channel Surf */ | ||
64 | { 0x32, KEY_SUBTITLE }, | ||
65 | { 0x33, KEY_LANGUAGE }, | ||
66 | { 0x34, KEY_REWIND }, | ||
67 | { 0x35, KEY_FASTFORWARD }, | ||
68 | { 0x36, KEY_TV }, | ||
69 | { 0x37, KEY_RADIO }, /* FM */ | ||
70 | { 0x38, KEY_DVD }, | ||
71 | |||
72 | { 0x1a, KEY_MODE}, /* change to MCE mode on Y04G0051 */ | ||
73 | { 0x3e, KEY_F21 }, /* MCE +VOL, on Y04G0033 */ | ||
74 | { 0x3a, KEY_F22 }, /* MCE -VOL, on Y04G0033 */ | ||
75 | { 0x3b, KEY_F23 }, /* MCE +CH, on Y04G0033 */ | ||
76 | { 0x3f, KEY_F24 } /* MCE -CH, on Y04G0033 */ | ||
77 | }; | ||
78 | |||
79 | static struct rc_map_list winfast_map = { | ||
80 | .map = { | ||
81 | .scan = winfast, | ||
82 | .size = ARRAY_SIZE(winfast), | ||
83 | .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */ | ||
84 | .name = RC_MAP_WINFAST, | ||
85 | } | ||
86 | }; | ||
87 | |||
88 | static int __init init_rc_map_winfast(void) | ||
89 | { | ||
90 | return rc_map_register(&winfast_map); | ||
91 | } | ||
92 | |||
93 | static void __exit exit_rc_map_winfast(void) | ||
94 | { | ||
95 | rc_map_unregister(&winfast_map); | ||
96 | } | ||
97 | |||
98 | module_init(init_rc_map_winfast) | ||
99 | module_exit(exit_rc_map_winfast) | ||
100 | |||
101 | MODULE_LICENSE("GPL"); | ||
102 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>"); | ||