1 // SPDX-License-Identifier: GPL-2.0+
2 // dm1105-nec.h - Keytable for dm1105_nec Remote Controller
3 //
4 // keymap imported from ir-keymaps.c
5 //
6 // Copyright (c) 2010 by Mauro Carvalho Chehab
7 
8 #include <media/rc-map.h>
9 #include <linux/module.h>
10 
11 /* DVBWorld remotes
12    Igor M. Liplianin <liplianin@me.by>
13  */
14 
15 static struct rc_map_table dm1105_nec[] = {
16 	{ 0x0a, KEY_POWER2},		/* power */
17 	{ 0x0c, KEY_MUTE},		/* 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_CHANNELUP},		/* ch+ */
29 	{ 0x0f, KEY_CHANNELDOWN},	/* ch- */
30 	{ 0x1a, KEY_VOLUMEUP},		/* vol+ */
31 	{ 0x0e, KEY_VOLUMEDOWN},	/* vol- */
32 	{ 0x04, KEY_RECORD},		/* rec */
33 	{ 0x09, KEY_CHANNEL},		/* fav */
34 	{ 0x08, KEY_BACKSPACE},		/* rewind */
35 	{ 0x07, KEY_FASTFORWARD},	/* fast */
36 	{ 0x0b, KEY_PAUSE},		/* pause */
37 	{ 0x02, KEY_ESC},		/* cancel */
38 	{ 0x03, KEY_TAB},		/* tab */
39 	{ 0x00, KEY_UP},		/* up */
40 	{ 0x1f, KEY_ENTER},		/* ok */
41 	{ 0x01, KEY_DOWN},		/* down */
42 	{ 0x05, KEY_RECORD},		/* cap */
43 	{ 0x06, KEY_STOP},		/* stop */
44 	{ 0x40, KEY_ZOOM},		/* full */
45 	{ 0x1e, KEY_TV},		/* tvmode */
46 	{ 0x1b, KEY_B},			/* recall */
47 };
48 
49 static struct rc_map_list dm1105_nec_map = {
50 	.map = {
51 		.scan     = dm1105_nec,
52 		.size     = ARRAY_SIZE(dm1105_nec),
53 		.rc_proto = RC_PROTO_UNKNOWN,	/* Legacy IR type */
54 		.name     = RC_MAP_DM1105_NEC,
55 	}
56 };
57 
58 static int __init init_rc_map_dm1105_nec(void)
59 {
60 	return rc_map_register(&dm1105_nec_map);
61 }
62 
63 static void __exit exit_rc_map_dm1105_nec(void)
64 {
65 	rc_map_unregister(&dm1105_nec_map);
66 }
67 
68 module_init(init_rc_map_dm1105_nec)
69 module_exit(exit_rc_map_dm1105_nec)
70 
71 MODULE_LICENSE("GPL");
72 MODULE_AUTHOR("Mauro Carvalho Chehab");
73