1 // SPDX-License-Identifier: GPL-2.0+
6 #include <media/rc-map.h>
7 #include <linux/module.h>
10 * Keytable for Dreambox RC10/RC0 and RC20/RC-BT remote controls
12 * Keys that are not IR addressable:
14 * // DREAM switches to STB control mode
15 * // TV switches to TV control mode
16 * // MODE toggles STB/TV/BT control modes
20 static struct rc_map_table dreambox[] = {
21 /* Dreambox RC10/RC0/RCU-BT remote */
22 { 0x3200, KEY_POWER },
37 { 0x320a, KEY_PREVIOUS },
42 { 0x3220, KEY_GREEN },
43 { 0x3221, KEY_YELLOW },
48 { 0x320e, KEY_AUDIO },
53 { 0x3215, KEY_RIGHT },
57 { 0x3219, KEY_VOLUMEUP },
58 { 0x321c, KEY_VOLUMEDOWN },
60 { 0x321d, KEY_ESC }, // EXIT
63 { 0x321b, KEY_PAGEUP },
64 { 0x321e, KEY_PAGEDOWN },
66 { 0x3223, KEY_PREVIOUSSONG },
67 { 0x3224, KEY_PLAYPAUSE },
69 { 0x3226, KEY_NEXTSONG },
72 { 0x3228, KEY_RADIO },
74 { 0x322a, KEY_RECORD },
76 /* Dreambox RC20/RC-BT */
79 { 0x3401, KEY_POWER },
81 { 0x3432, KEY_PREVIOUSSONG },
82 { 0x3433, KEY_PLAYPAUSE },
83 { 0x3435, KEY_NEXTSONG },
85 { 0x3436, KEY_RECORD },
90 { 0x3420, KEY_GREEN },
91 { 0x3421, KEY_YELLOW },
96 { 0x3430, KEY_AUDIO },
101 { 0x3416, KEY_RIGHT },
102 { 0x3419, KEY_DOWN },
105 { 0x3413, KEY_VOLUMEUP },
106 { 0x3418, KEY_VOLUMEDOWN },
108 { 0x3412, KEY_ESC }, // EXIT
109 { 0x3426, KEY_HELP }, // MIC
111 { 0x3417, KEY_PAGEUP },
112 { 0x341a, KEY_PAGEDOWN },
123 { 0x340b, KEY_PREVIOUS },
125 { 0x340f, KEY_NEXT },
128 static struct rc_map_list dreambox_map = {
131 .size = ARRAY_SIZE(dreambox),
132 .rc_proto = RC_PROTO_NEC,
133 .name = RC_MAP_DREAMBOX,
137 static int __init init_rc_map_dreambox(void)
139 return rc_map_register(&dreambox_map);
142 static void __exit exit_rc_map_dreambox(void)
144 rc_map_unregister(&dreambox_map);
147 module_init(init_rc_map_dreambox)
148 module_exit(exit_rc_map_dreambox)
150 MODULE_LICENSE("GPL");