Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / drivers / media / rc / keymaps / rc-total-media-in-hand-02.c
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3  * Total Media In Hand_02 remote controller keytable for Mygica X8507
4  *
5  * Copyright (C) 2012 Alfredo J. Delaiti <alfredodelaiti@netscape.net>
6  */
7
8 #include <media/rc-map.h>
9 #include <linux/module.h>
10
11
12 static struct rc_map_table total_media_in_hand_02[] = {
13         { 0x0000, KEY_NUMERIC_0 },
14         { 0x0001, KEY_NUMERIC_1 },
15         { 0x0002, KEY_NUMERIC_2 },
16         { 0x0003, KEY_NUMERIC_3 },
17         { 0x0004, KEY_NUMERIC_4 },
18         { 0x0005, KEY_NUMERIC_5 },
19         { 0x0006, KEY_NUMERIC_6 },
20         { 0x0007, KEY_NUMERIC_7 },
21         { 0x0008, KEY_NUMERIC_8 },
22         { 0x0009, KEY_NUMERIC_9 },
23         { 0x000a, KEY_MUTE },
24         { 0x000b, KEY_STOP },                   /* Stop */
25         { 0x000c, KEY_POWER2 },                 /* Turn on/off application */
26         { 0x000d, KEY_OK },                     /* OK */
27         { 0x000e, KEY_CAMERA },                 /* Snapshot */
28         { 0x000f, KEY_ZOOM },                   /* Full Screen/Restore */
29         { 0x0010, KEY_RIGHT },                  /* Right arrow */
30         { 0x0011, KEY_LEFT },                   /* Left arrow */
31         { 0x0012, KEY_CHANNELUP },
32         { 0x0013, KEY_CHANNELDOWN },
33         { 0x0014, KEY_SHUFFLE },
34         { 0x0016, KEY_PAUSE },
35         { 0x0017, KEY_PLAY },                   /* Play */
36         { 0x001e, KEY_TIME },                   /* Time Shift */
37         { 0x001f, KEY_RECORD },
38         { 0x0020, KEY_UP },
39         { 0x0021, KEY_DOWN },
40         { 0x0025, KEY_POWER },                  /* Turn off computer */
41         { 0x0026, KEY_REWIND },                 /* FR << */
42         { 0x0027, KEY_FASTFORWARD },            /* FF >> */
43         { 0x0029, KEY_ESC },
44         { 0x002b, KEY_VOLUMEUP },
45         { 0x002c, KEY_VOLUMEDOWN },
46         { 0x002d, KEY_CHANNEL },                /* CH Surfing */
47         { 0x0038, KEY_VIDEO },                  /* TV/AV/S-Video/YPbPr */
48 };
49
50 static struct rc_map_list total_media_in_hand_02_map = {
51         .map = {
52                 .scan     = total_media_in_hand_02,
53                 .size     = ARRAY_SIZE(total_media_in_hand_02),
54                 .rc_proto = RC_PROTO_RC5,
55                 .name     = RC_MAP_TOTAL_MEDIA_IN_HAND_02,
56         }
57 };
58
59 static int __init init_rc_map_total_media_in_hand_02(void)
60 {
61         return rc_map_register(&total_media_in_hand_02_map);
62 }
63
64 static void __exit exit_rc_map_total_media_in_hand_02(void)
65 {
66         rc_map_unregister(&total_media_in_hand_02_map);
67 }
68
69 module_init(init_rc_map_total_media_in_hand_02)
70 module_exit(exit_rc_map_total_media_in_hand_02)
71
72 MODULE_LICENSE("GPL");
73 MODULE_AUTHOR(" Alfredo J. Delaiti <alfredodelaiti@netscape.net>");