Branch data Line data Source code
1 : : // SPDX-License-Identifier: GPL-2.0+
2 : : // asus-pc39.h - Keytable for asus_pc39 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 : : /*
12 : : * Marc Fargas <telenieko@telenieko.com>
13 : : * this is the remote control that comes with the asus p7131
14 : : * which has a label saying is "Model PC-39"
15 : : */
16 : :
17 : : static struct rc_map_table asus_pc39[] = {
18 : : /* Keys 0 to 9 */
19 : : { 0x082a, KEY_NUMERIC_0 },
20 : : { 0x0816, KEY_NUMERIC_1 },
21 : : { 0x0812, KEY_NUMERIC_2 },
22 : : { 0x0814, KEY_NUMERIC_3 },
23 : : { 0x0836, KEY_NUMERIC_4 },
24 : : { 0x0832, KEY_NUMERIC_5 },
25 : : { 0x0834, KEY_NUMERIC_6 },
26 : : { 0x080e, KEY_NUMERIC_7 },
27 : : { 0x080a, KEY_NUMERIC_8 },
28 : : { 0x080c, KEY_NUMERIC_9 },
29 : :
30 : : { 0x0801, KEY_RADIO }, /* radio */
31 : : { 0x083c, KEY_MENU }, /* dvd/menu */
32 : : { 0x0815, KEY_VOLUMEUP },
33 : : { 0x0826, KEY_VOLUMEDOWN },
34 : : { 0x0808, KEY_UP },
35 : : { 0x0804, KEY_DOWN },
36 : : { 0x0818, KEY_LEFT },
37 : : { 0x0810, KEY_RIGHT },
38 : : { 0x081a, KEY_VIDEO }, /* video */
39 : : { 0x0806, KEY_AUDIO }, /* music */
40 : :
41 : : { 0x081e, KEY_TV }, /* tv */
42 : : { 0x0822, KEY_EXIT }, /* back */
43 : : { 0x0835, KEY_CHANNELUP }, /* channel / program + */
44 : : { 0x0824, KEY_CHANNELDOWN }, /* channel / program - */
45 : : { 0x0825, KEY_ENTER }, /* enter */
46 : :
47 : : { 0x0839, KEY_PAUSE }, /* play/pause */
48 : : { 0x0821, KEY_PREVIOUS }, /* rew */
49 : : { 0x0819, KEY_NEXT }, /* forward */
50 : : { 0x0831, KEY_REWIND }, /* backward << */
51 : : { 0x0805, KEY_FASTFORWARD }, /* forward >> */
52 : : { 0x0809, KEY_STOP },
53 : : { 0x0811, KEY_RECORD }, /* recording */
54 : : { 0x0829, KEY_POWER }, /* the button that reads "close" */
55 : :
56 : : { 0x082e, KEY_ZOOM }, /* full screen */
57 : : { 0x082c, KEY_MACRO }, /* recall */
58 : : { 0x081c, KEY_HOME }, /* home */
59 : : { 0x083a, KEY_PVR }, /* picture */
60 : : { 0x0802, KEY_MUTE }, /* mute */
61 : : { 0x083e, KEY_DVD }, /* dvd */
62 : : };
63 : :
64 : : static struct rc_map_list asus_pc39_map = {
65 : : .map = {
66 : : .scan = asus_pc39,
67 : : .size = ARRAY_SIZE(asus_pc39),
68 : : .rc_proto = RC_PROTO_RC5,
69 : : .name = RC_MAP_ASUS_PC39,
70 : : }
71 : : };
72 : :
73 : 3 : static int __init init_rc_map_asus_pc39(void)
74 : : {
75 : 3 : return rc_map_register(&asus_pc39_map);
76 : : }
77 : :
78 : 0 : static void __exit exit_rc_map_asus_pc39(void)
79 : : {
80 : 0 : rc_map_unregister(&asus_pc39_map);
81 : 0 : }
82 : :
83 : : module_init(init_rc_map_asus_pc39)
84 : : module_exit(exit_rc_map_asus_pc39)
85 : :
86 : : MODULE_LICENSE("GPL");
87 : : MODULE_AUTHOR("Mauro Carvalho Chehab");
|