0001
0002
0003
0004
0005
0006
0007
0008 #include <media/rc-map.h>
0009 #include <linux/module.h>
0010
0011
0012
0013 static struct rc_map_table pv951[] = {
0014 { 0x00, KEY_NUMERIC_0 },
0015 { 0x01, KEY_NUMERIC_1 },
0016 { 0x02, KEY_NUMERIC_2 },
0017 { 0x03, KEY_NUMERIC_3 },
0018 { 0x04, KEY_NUMERIC_4 },
0019 { 0x05, KEY_NUMERIC_5 },
0020 { 0x06, KEY_NUMERIC_6 },
0021 { 0x07, KEY_NUMERIC_7 },
0022 { 0x08, KEY_NUMERIC_8 },
0023 { 0x09, KEY_NUMERIC_9 },
0024
0025 { 0x12, KEY_POWER },
0026 { 0x10, KEY_MUTE },
0027 { 0x1f, KEY_VOLUMEDOWN },
0028 { 0x1b, KEY_VOLUMEUP },
0029 { 0x1a, KEY_CHANNELUP },
0030 { 0x1e, KEY_CHANNELDOWN },
0031 { 0x0e, KEY_PAGEUP },
0032 { 0x1d, KEY_PAGEDOWN },
0033 { 0x13, KEY_SOUND },
0034
0035 { 0x18, KEY_KPPLUSMINUS },
0036 { 0x16, KEY_SUBTITLE },
0037 { 0x0d, KEY_TEXT },
0038 { 0x0b, KEY_TV },
0039 { 0x11, KEY_PC },
0040 { 0x17, KEY_OK },
0041 { 0x19, KEY_MODE },
0042 { 0x0c, KEY_SEARCH },
0043
0044
0045 { 0x0f, KEY_VIDEO },
0046 { 0x0a, KEY_KPPLUS },
0047 { 0x14, KEY_EQUAL },
0048 { 0x1c, KEY_TV },
0049 };
0050
0051 static struct rc_map_list pv951_map = {
0052 .map = {
0053 .scan = pv951,
0054 .size = ARRAY_SIZE(pv951),
0055 .rc_proto = RC_PROTO_UNKNOWN,
0056 .name = RC_MAP_PV951,
0057 }
0058 };
0059
0060 static int __init init_rc_map_pv951(void)
0061 {
0062 return rc_map_register(&pv951_map);
0063 }
0064
0065 static void __exit exit_rc_map_pv951(void)
0066 {
0067 rc_map_unregister(&pv951_map);
0068 }
0069
0070 module_init(init_rc_map_pv951)
0071 module_exit(exit_rc_map_pv951)
0072
0073 MODULE_LICENSE("GPL");
0074 MODULE_AUTHOR("Mauro Carvalho Chehab");