Branch data Line data Source code
1 : : // SPDX-License-Identifier: GPL-2.0-or-later
2 : : /*
3 : : * Medion X10 OR22/OR24 RF remote keytable
4 : : *
5 : : * Copyright (C) 2012 Anssi Hannula <anssi.hannula@iki.fi>
6 : : *
7 : : * This keymap is for several Medion X10 remotes that have the Windows MCE
8 : : * button. This has been tested with a "RF VISTA Remote Control", OR24V,
9 : : * P/N 20035335, but should work with other variants that have the same
10 : : * buttons, such as OR22V and OR24E.
11 : : */
12 : :
13 : : #include <linux/module.h>
14 : : #include <media/rc-map.h>
15 : :
16 : : static struct rc_map_table medion_x10_or2x[] = {
17 : : { 0x02, KEY_POWER },
18 : : { 0x16, KEY_TEXT }, /* "T" in a box, for teletext */
19 : :
20 : : { 0x09, KEY_VOLUMEUP },
21 : : { 0x08, KEY_VOLUMEDOWN },
22 : : { 0x00, KEY_MUTE },
23 : : { 0x0b, KEY_CHANNELUP },
24 : : { 0x0c, KEY_CHANNELDOWN },
25 : :
26 : : { 0x32, KEY_RED },
27 : : { 0x33, KEY_GREEN },
28 : : { 0x34, KEY_YELLOW },
29 : : { 0x35, KEY_BLUE },
30 : :
31 : : { 0x18, KEY_PVR }, /* record symbol inside a tv symbol */
32 : : { 0x04, KEY_DVD }, /* disc symbol */
33 : : { 0x31, KEY_EPG }, /* a tv schedule symbol */
34 : : { 0x1c, KEY_TV }, /* play symbol inside a tv symbol */
35 : : { 0x20, KEY_BACK },
36 : : { 0x2f, KEY_INFO },
37 : :
38 : : { 0x1a, KEY_UP },
39 : : { 0x22, KEY_DOWN },
40 : : { 0x1d, KEY_LEFT },
41 : : { 0x1f, KEY_RIGHT },
42 : : { 0x1e, KEY_OK },
43 : :
44 : : { 0x1b, KEY_MEDIA }, /* Windows MCE button */
45 : :
46 : : { 0x21, KEY_PREVIOUS },
47 : : { 0x23, KEY_NEXT },
48 : : { 0x24, KEY_REWIND },
49 : : { 0x26, KEY_FORWARD },
50 : : { 0x25, KEY_PLAY },
51 : : { 0x28, KEY_STOP },
52 : : { 0x29, KEY_PAUSE },
53 : : { 0x27, KEY_RECORD },
54 : :
55 : : { 0x0d, KEY_NUMERIC_1 },
56 : : { 0x0e, KEY_NUMERIC_2 },
57 : : { 0x0f, KEY_NUMERIC_3 },
58 : : { 0x10, KEY_NUMERIC_4 },
59 : : { 0x11, KEY_NUMERIC_5 },
60 : : { 0x12, KEY_NUMERIC_6 },
61 : : { 0x13, KEY_NUMERIC_7 },
62 : : { 0x14, KEY_NUMERIC_8 },
63 : : { 0x15, KEY_NUMERIC_9 },
64 : : { 0x17, KEY_NUMERIC_0 },
65 : : { 0x30, KEY_CLEAR },
66 : : { 0x36, KEY_ENTER },
67 : : { 0x37, KEY_NUMERIC_STAR },
68 : : { 0x38, KEY_NUMERIC_POUND },
69 : : };
70 : :
71 : : static struct rc_map_list medion_x10_or2x_map = {
72 : : .map = {
73 : : .scan = medion_x10_or2x,
74 : : .size = ARRAY_SIZE(medion_x10_or2x),
75 : : .rc_proto = RC_PROTO_OTHER,
76 : : .name = RC_MAP_MEDION_X10_OR2X,
77 : : }
78 : : };
79 : :
80 : 404 : static int __init init_rc_map_medion_x10_or2x(void)
81 : : {
82 : 404 : return rc_map_register(&medion_x10_or2x_map);
83 : : }
84 : :
85 : 0 : static void __exit exit_rc_map_medion_x10_or2x(void)
86 : : {
87 : 0 : rc_map_unregister(&medion_x10_or2x_map);
88 : 0 : }
89 : :
90 : : module_init(init_rc_map_medion_x10_or2x)
91 : : module_exit(exit_rc_map_medion_x10_or2x)
92 : :
93 : : MODULE_DESCRIPTION("Medion X10 OR22/OR24 RF remote keytable");
94 : : MODULE_AUTHOR("Anssi Hannula <anssi.hannula@iki.fi>");
95 : : MODULE_LICENSE("GPL");
|