Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
rc-anysee.c
Go to the documentation of this file.
1 /*
2  * Anysee remote controller keytable
3  *
4  * Copyright (C) 2010 Antti Palosaari <[email protected]>
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 #include <linux/module.h>
23 
24 static struct rc_map_table anysee[] = {
25  { 0x0800, KEY_0 },
26  { 0x0801, KEY_1 },
27  { 0x0802, KEY_2 },
28  { 0x0803, KEY_3 },
29  { 0x0804, KEY_4 },
30  { 0x0805, KEY_5 },
31  { 0x0806, KEY_6 },
32  { 0x0807, KEY_7 },
33  { 0x0808, KEY_8 },
34  { 0x0809, KEY_9 },
35  { 0x080a, KEY_POWER2 }, /* [red power button] */
36  { 0x080b, KEY_VIDEO }, /* [*] MODE */
37  { 0x080c, KEY_CHANNEL }, /* [symbol counterclockwise arrow] */
38  { 0x080d, KEY_NEXT }, /* [>>|] */
39  { 0x080e, KEY_MENU }, /* MENU */
40  { 0x080f, KEY_EPG }, /* [EPG] */
41  { 0x0810, KEY_CLEAR }, /* EXIT */
42  { 0x0811, KEY_CHANNELUP },
43  { 0x0812, KEY_VOLUMEDOWN },
44  { 0x0813, KEY_VOLUMEUP },
45  { 0x0814, KEY_CHANNELDOWN },
46  { 0x0815, KEY_OK },
47  { 0x0816, KEY_RADIO }, /* [symbol TV/radio] */
48  { 0x0817, KEY_INFO }, /* [i] */
49  { 0x0818, KEY_PREVIOUS }, /* [|<<] */
50  { 0x0819, KEY_FAVORITES }, /* FAV. */
51  { 0x081a, KEY_SUBTITLE }, /* Subtitle */
52  { 0x081b, KEY_CAMERA }, /* [symbol camera] */
53  { 0x081c, KEY_YELLOW },
54  { 0x081d, KEY_RED },
55  { 0x081e, KEY_LANGUAGE }, /* [symbol Second Audio Program] */
56  { 0x081f, KEY_GREEN },
57  { 0x0820, KEY_SLEEP }, /* Sleep */
58  { 0x0821, KEY_SCREEN }, /* 16:9 / 4:3 */
59  { 0x0822, KEY_ZOOM }, /* SIZE */
60  { 0x0824, KEY_FN }, /* [F1] */
61  { 0x0825, KEY_FN }, /* [F2] */
62  { 0x0842, KEY_MUTE }, /* symbol mute */
63  { 0x0844, KEY_BLUE },
64  { 0x0847, KEY_TEXT }, /* TEXT */
65  { 0x0848, KEY_STOP },
66  { 0x0849, KEY_RECORD },
67  { 0x0850, KEY_PLAY },
68  { 0x0851, KEY_PAUSE },
69 };
70 
71 static struct rc_map_list anysee_map = {
72  .map = {
73  .scan = anysee,
74  .size = ARRAY_SIZE(anysee),
75  .rc_type = RC_TYPE_NEC,
76  .name = RC_MAP_ANYSEE,
77  }
78 };
79 
80 static int __init init_rc_map_anysee(void)
81 {
82  return rc_map_register(&anysee_map);
83 }
84 
85 static void __exit exit_rc_map_anysee(void)
86 {
87  rc_map_unregister(&anysee_map);
88 }
89 
90 module_init(init_rc_map_anysee)
91 module_exit(exit_rc_map_anysee)
92 
93 MODULE_LICENSE("GPL");
94 MODULE_AUTHOR("Antti Palosaari <[email protected]>");