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
15static struct rc_map_table dm1105_nec[] = {
16	{ 0x0a, KEY_POWER2},		/* power */
17	{ 0x0c, KEY_MUTE},		/* mute */
18	{ 0x11, KEY_NUMERIC_1},
19	{ 0x12, KEY_NUMERIC_2},
20	{ 0x13, KEY_NUMERIC_3},
21	{ 0x14, KEY_NUMERIC_4},
22	{ 0x15, KEY_NUMERIC_5},
23	{ 0x16, KEY_NUMERIC_6},
24	{ 0x17, KEY_NUMERIC_7},
25	{ 0x18, KEY_NUMERIC_8},
26	{ 0x19, KEY_NUMERIC_9},
27	{ 0x10, KEY_NUMERIC_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
49static 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
58static int __init init_rc_map_dm1105_nec(void)
59{
60	return rc_map_register(&dm1105_nec_map);
61}
62
63static void __exit exit_rc_map_dm1105_nec(void)
64{
65	rc_map_unregister(&dm1105_nec_map);
66}
67
68module_init(init_rc_map_dm1105_nec)
69module_exit(exit_rc_map_dm1105_nec)
70
71MODULE_LICENSE("GPL");
72MODULE_AUTHOR("Mauro Carvalho Chehab");
73MODULE_DESCRIPTION("dm1105-nec remote controller keytable");
74