1 // SPDX-License-Identifier: GPL-2.0+
3 // Copyright (C) 2018 Sean Young <sean@mess.org>
5 #include <media/rc-map.h>
6 #include <linux/module.h>
9 // Note that this remote has a stick which its own IR protocol,
10 // with 16 directions. This is supported by the imon_rsc BPF decoder
13 static struct rc_map_table imon_rsc
[] = {
14 { 0x801010, KEY_EXIT
},
15 { 0x80102f, KEY_POWER
},
16 { 0x80104a, KEY_SCREENSAVER
}, /* Screensaver */
17 { 0x801049, KEY_TIME
}, /* Timer */
18 { 0x801054, KEY_NUMERIC_1
},
19 { 0x801055, KEY_NUMERIC_2
},
20 { 0x801056, KEY_NUMERIC_3
},
21 { 0x801057, KEY_NUMERIC_4
},
22 { 0x801058, KEY_NUMERIC_5
},
23 { 0x801059, KEY_NUMERIC_6
},
24 { 0x80105a, KEY_NUMERIC_7
},
25 { 0x80105b, KEY_NUMERIC_8
},
26 { 0x80105c, KEY_NUMERIC_9
},
27 { 0x801081, KEY_SCREEN
}, /* Desktop */
28 { 0x80105d, KEY_NUMERIC_0
},
29 { 0x801082, KEY_ZOOM
}, /* Maximise */
30 { 0x801048, KEY_ESC
},
31 { 0x80104b, KEY_MEDIA
}, /* Windows key */
32 { 0x801083, KEY_MENU
},
33 { 0x801045, KEY_APPSELECT
}, /* app launcher */
34 { 0x801084, KEY_STOP
},
35 { 0x801046, KEY_CYCLEWINDOWS
},
36 { 0x801085, KEY_BACKSPACE
},
37 { 0x801086, KEY_KEYBOARD
},
38 { 0x801087, KEY_SPACE
},
39 { 0x80101e, KEY_RESERVED
}, /* shift tab */
41 { 0x80101f, KEY_TAB
},
42 { 0x80101b, BTN_LEFT
},
43 { 0x80101d, BTN_RIGHT
},
44 { 0x801016, BTN_MIDDLE
}, /* drag and drop */
45 { 0x801088, KEY_MUTE
},
46 { 0x80105e, KEY_VOLUMEDOWN
},
47 { 0x80105f, KEY_VOLUMEUP
},
48 { 0x80104c, KEY_PLAY
},
49 { 0x80104d, KEY_PAUSE
},
50 { 0x80104f, KEY_EJECTCD
},
51 { 0x801050, KEY_PREVIOUS
},
52 { 0x801051, KEY_NEXT
},
53 { 0x80104e, KEY_STOP
},
54 { 0x801052, KEY_REWIND
},
55 { 0x801053, KEY_FASTFORWARD
},
56 { 0x801089, KEY_FULL_SCREEN
} /* full screen */
59 static struct rc_map_list imon_rsc_map
= {
62 .size
= ARRAY_SIZE(imon_rsc
),
63 .rc_proto
= RC_PROTO_NECX
,
64 .name
= RC_MAP_IMON_RSC
,
68 static int __init
init_rc_map_imon_rsc(void)
70 return rc_map_register(&imon_rsc_map
);
73 static void __exit
exit_rc_map_imon_rsc(void)
75 rc_map_unregister(&imon_rsc_map
);
78 module_init(init_rc_map_imon_rsc
)
79 module_exit(exit_rc_map_imon_rsc
)
81 MODULE_LICENSE("GPL");
82 MODULE_AUTHOR("Sean Young <sean@mess.org>");