xref: /openbmc/linux/drivers/media/rc/keymaps/rc-twinhan1027.c (revision 32cf86f6d16367db5a10039c1dd938a2427d697c)
1*32cf86f6SMauro Carvalho Chehab #include <media/rc-map.h>
2*32cf86f6SMauro Carvalho Chehab 
3*32cf86f6SMauro Carvalho Chehab static struct ir_scancode twinhan_vp1027[] = {
4*32cf86f6SMauro Carvalho Chehab 	{ 0x16, KEY_POWER2 },
5*32cf86f6SMauro Carvalho Chehab 	{ 0x17, KEY_FAVORITES },
6*32cf86f6SMauro Carvalho Chehab 	{ 0x0f, KEY_TEXT },
7*32cf86f6SMauro Carvalho Chehab 	{ 0x48, KEY_INFO},
8*32cf86f6SMauro Carvalho Chehab 	{ 0x1c, KEY_EPG },
9*32cf86f6SMauro Carvalho Chehab 	{ 0x04, KEY_LIST },
10*32cf86f6SMauro Carvalho Chehab 
11*32cf86f6SMauro Carvalho Chehab 	{ 0x03, KEY_1 },
12*32cf86f6SMauro Carvalho Chehab 	{ 0x01, KEY_2 },
13*32cf86f6SMauro Carvalho Chehab 	{ 0x06, KEY_3 },
14*32cf86f6SMauro Carvalho Chehab 	{ 0x09, KEY_4 },
15*32cf86f6SMauro Carvalho Chehab 	{ 0x1d, KEY_5 },
16*32cf86f6SMauro Carvalho Chehab 	{ 0x1f, KEY_6 },
17*32cf86f6SMauro Carvalho Chehab 	{ 0x0d, KEY_7 },
18*32cf86f6SMauro Carvalho Chehab 	{ 0x19, KEY_8 },
19*32cf86f6SMauro Carvalho Chehab 	{ 0x1b, KEY_9 },
20*32cf86f6SMauro Carvalho Chehab 	{ 0x15, KEY_0 },
21*32cf86f6SMauro Carvalho Chehab 
22*32cf86f6SMauro Carvalho Chehab 	{ 0x0c, KEY_CANCEL },
23*32cf86f6SMauro Carvalho Chehab 	{ 0x4a, KEY_CLEAR },
24*32cf86f6SMauro Carvalho Chehab 	{ 0x13, KEY_BACKSPACE },
25*32cf86f6SMauro Carvalho Chehab 	{ 0x00, KEY_TAB },
26*32cf86f6SMauro Carvalho Chehab 
27*32cf86f6SMauro Carvalho Chehab 	{ 0x4b, KEY_UP },
28*32cf86f6SMauro Carvalho Chehab 	{ 0x51, KEY_DOWN },
29*32cf86f6SMauro Carvalho Chehab 	{ 0x4e, KEY_LEFT },
30*32cf86f6SMauro Carvalho Chehab 	{ 0x52, KEY_RIGHT },
31*32cf86f6SMauro Carvalho Chehab 	{ 0x4f, KEY_ENTER },
32*32cf86f6SMauro Carvalho Chehab 
33*32cf86f6SMauro Carvalho Chehab 	{ 0x1e, KEY_VOLUMEUP },
34*32cf86f6SMauro Carvalho Chehab 	{ 0x0a, KEY_VOLUMEDOWN },
35*32cf86f6SMauro Carvalho Chehab 	{ 0x02, KEY_CHANNELDOWN },
36*32cf86f6SMauro Carvalho Chehab 	{ 0x05, KEY_CHANNELUP },
37*32cf86f6SMauro Carvalho Chehab 	{ 0x11, KEY_RECORD },
38*32cf86f6SMauro Carvalho Chehab 
39*32cf86f6SMauro Carvalho Chehab 	{ 0x14, KEY_PLAY },
40*32cf86f6SMauro Carvalho Chehab 	{ 0x4c, KEY_PAUSE },
41*32cf86f6SMauro Carvalho Chehab 	{ 0x1a, KEY_STOP },
42*32cf86f6SMauro Carvalho Chehab 	{ 0x40, KEY_REWIND },
43*32cf86f6SMauro Carvalho Chehab 	{ 0x12, KEY_FASTFORWARD },
44*32cf86f6SMauro Carvalho Chehab 	{ 0x41, KEY_PREVIOUSSONG },
45*32cf86f6SMauro Carvalho Chehab 	{ 0x42, KEY_NEXTSONG },
46*32cf86f6SMauro Carvalho Chehab 	{ 0x54, KEY_SAVE },
47*32cf86f6SMauro Carvalho Chehab 	{ 0x50, KEY_LANGUAGE },
48*32cf86f6SMauro Carvalho Chehab 	{ 0x47, KEY_MEDIA },
49*32cf86f6SMauro Carvalho Chehab 	{ 0x4d, KEY_SCREEN },
50*32cf86f6SMauro Carvalho Chehab 	{ 0x43, KEY_SUBTITLE },
51*32cf86f6SMauro Carvalho Chehab 	{ 0x10, KEY_MUTE },
52*32cf86f6SMauro Carvalho Chehab 	{ 0x49, KEY_AUDIO },
53*32cf86f6SMauro Carvalho Chehab 	{ 0x07, KEY_SLEEP },
54*32cf86f6SMauro Carvalho Chehab 	{ 0x08, KEY_VIDEO },
55*32cf86f6SMauro Carvalho Chehab 	{ 0x0e, KEY_AGAIN },
56*32cf86f6SMauro Carvalho Chehab 	{ 0x45, KEY_EQUAL },
57*32cf86f6SMauro Carvalho Chehab 	{ 0x46, KEY_MINUS },
58*32cf86f6SMauro Carvalho Chehab 	{ 0x18, KEY_RED },
59*32cf86f6SMauro Carvalho Chehab 	{ 0x53, KEY_GREEN },
60*32cf86f6SMauro Carvalho Chehab 	{ 0x5e, KEY_YELLOW },
61*32cf86f6SMauro Carvalho Chehab 	{ 0x5f, KEY_BLUE },
62*32cf86f6SMauro Carvalho Chehab };
63*32cf86f6SMauro Carvalho Chehab 
64*32cf86f6SMauro Carvalho Chehab static struct rc_keymap twinhan_vp1027_map = {
65*32cf86f6SMauro Carvalho Chehab 	.map = {
66*32cf86f6SMauro Carvalho Chehab 		.scan    = twinhan_vp1027,
67*32cf86f6SMauro Carvalho Chehab 		.size    = ARRAY_SIZE(twinhan_vp1027),
68*32cf86f6SMauro Carvalho Chehab 		.ir_type = IR_TYPE_UNKNOWN,	/* Legacy IR type */
69*32cf86f6SMauro Carvalho Chehab 		.name    = RC_MAP_TWINHAN_VP1027_DVBS,
70*32cf86f6SMauro Carvalho Chehab 	}
71*32cf86f6SMauro Carvalho Chehab };
72*32cf86f6SMauro Carvalho Chehab 
73*32cf86f6SMauro Carvalho Chehab static int __init init_rc_map_twinhan_vp1027(void)
74*32cf86f6SMauro Carvalho Chehab {
75*32cf86f6SMauro Carvalho Chehab 	return ir_register_map(&twinhan_vp1027_map);
76*32cf86f6SMauro Carvalho Chehab }
77*32cf86f6SMauro Carvalho Chehab 
78*32cf86f6SMauro Carvalho Chehab static void __exit exit_rc_map_twinhan_vp1027(void)
79*32cf86f6SMauro Carvalho Chehab {
80*32cf86f6SMauro Carvalho Chehab 	ir_unregister_map(&twinhan_vp1027_map);
81*32cf86f6SMauro Carvalho Chehab }
82*32cf86f6SMauro Carvalho Chehab 
83*32cf86f6SMauro Carvalho Chehab module_init(init_rc_map_twinhan_vp1027)
84*32cf86f6SMauro Carvalho Chehab module_exit(exit_rc_map_twinhan_vp1027)
85*32cf86f6SMauro Carvalho Chehab 
86*32cf86f6SMauro Carvalho Chehab MODULE_LICENSE("GPL");
87*32cf86f6SMauro Carvalho Chehab MODULE_AUTHOR("Sergey Ivanov <123kash@gmail.com>");
88