Linux-libre 5.4.48-gnu
[librecmc/linux-libre.git] / drivers / media / rc / keymaps / rc-encore-enltv2.c
1 // SPDX-License-Identifier: GPL-2.0+
2 // encore-enltv2.h - Keytable for encore_enltv2 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 /* Encore ENLTV2-FM  - silver plastic - "Wand Media" written at the botton
12     Mauro Carvalho Chehab <mchehab@kernel.org> */
13
14 static struct rc_map_table encore_enltv2[] = {
15         { 0x4c, KEY_POWER2 },
16         { 0x4a, KEY_TUNER },
17         { 0x40, KEY_NUMERIC_1 },
18         { 0x60, KEY_NUMERIC_2 },
19         { 0x50, KEY_NUMERIC_3 },
20         { 0x70, KEY_NUMERIC_4 },
21         { 0x48, KEY_NUMERIC_5 },
22         { 0x68, KEY_NUMERIC_6 },
23         { 0x58, KEY_NUMERIC_7 },
24         { 0x78, KEY_NUMERIC_8 },
25         { 0x44, KEY_NUMERIC_9 },
26         { 0x54, KEY_NUMERIC_0 },
27
28         { 0x64, KEY_LAST },             /* +100 */
29         { 0x4e, KEY_AGAIN },            /* Recall */
30
31         { 0x6c, KEY_VIDEO },            /* Video Source */
32         { 0x5e, KEY_MENU },
33         { 0x56, KEY_SCREEN },
34         { 0x7a, KEY_SETUP },
35
36         { 0x46, KEY_MUTE },
37         { 0x5c, KEY_MODE },             /* Stereo */
38         { 0x74, KEY_INFO },
39         { 0x7c, KEY_CLEAR },
40
41         { 0x55, KEY_UP },
42         { 0x49, KEY_DOWN },
43         { 0x7e, KEY_LEFT },
44         { 0x59, KEY_RIGHT },
45         { 0x6a, KEY_ENTER },
46
47         { 0x42, KEY_VOLUMEUP },
48         { 0x62, KEY_VOLUMEDOWN },
49         { 0x52, KEY_CHANNELUP },
50         { 0x72, KEY_CHANNELDOWN },
51
52         { 0x41, KEY_RECORD },
53         { 0x51, KEY_CAMERA },           /* Snapshot */
54         { 0x75, KEY_TIME },             /* Timeshift */
55         { 0x71, KEY_TV2 },              /* PIP */
56
57         { 0x45, KEY_REWIND },
58         { 0x6f, KEY_PAUSE },
59         { 0x7d, KEY_FORWARD },
60         { 0x79, KEY_STOP },
61 };
62
63 static struct rc_map_list encore_enltv2_map = {
64         .map = {
65                 .scan     = encore_enltv2,
66                 .size     = ARRAY_SIZE(encore_enltv2),
67                 .rc_proto = RC_PROTO_UNKNOWN,   /* Legacy IR type */
68                 .name     = RC_MAP_ENCORE_ENLTV2,
69         }
70 };
71
72 static int __init init_rc_map_encore_enltv2(void)
73 {
74         return rc_map_register(&encore_enltv2_map);
75 }
76
77 static void __exit exit_rc_map_encore_enltv2(void)
78 {
79         rc_map_unregister(&encore_enltv2_map);
80 }
81
82 module_init(init_rc_map_encore_enltv2)
83 module_exit(exit_rc_map_encore_enltv2)
84
85 MODULE_LICENSE("GPL");
86 MODULE_AUTHOR("Mauro Carvalho Chehab");