]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blame - drivers/media/rc/keymaps/rc-kworld-plus-tv-analog.c
drivers/media: Add module.h to all files using it implicitly
[mirror_ubuntu-artful-kernel.git] / drivers / media / rc / keymaps / rc-kworld-plus-tv-analog.c
CommitLineData
6686fa69
MCC
1/* kworld-plus-tv-analog.h - Keytable for kworld_plus_tv_analog Remote Controller
2 *
3 * keymap imported from ir-keymaps.c
4 *
5 * Copyright (c) 2010 by Mauro Carvalho Chehab <mchehab@redhat.com>
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation; either version 2 of the License, or
10 * (at your option) any later version.
11 */
12
13#include <media/rc-map.h>
7a707b89 14#include <linux/module.h>
6686fa69
MCC
15
16/* Kworld Plus TV Analog Lite PCI IR
17 Mauro Carvalho Chehab <mchehab@infradead.org>
18 */
19
2f4f58d6 20static struct rc_map_table kworld_plus_tv_analog[] = {
56c0893c 21 { 0x0c, KEY_MEDIA }, /* Kworld key */
6686fa69
MCC
22 { 0x16, KEY_CLOSECD }, /* -> ) */
23 { 0x1d, KEY_POWER2 },
24
25 { 0x00, KEY_1 },
26 { 0x01, KEY_2 },
27 { 0x02, KEY_3 }, /* Two keys have the same code: 3 and left */
28 { 0x03, KEY_4 }, /* Two keys have the same code: 3 and right */
29 { 0x04, KEY_5 },
30 { 0x05, KEY_6 },
31 { 0x06, KEY_7 },
32 { 0x07, KEY_8 },
33 { 0x08, KEY_9 },
34 { 0x0a, KEY_0 },
35
36 { 0x09, KEY_AGAIN },
37 { 0x14, KEY_MUTE },
38
39 { 0x20, KEY_UP },
40 { 0x21, KEY_DOWN },
41 { 0x0b, KEY_ENTER },
42
43 { 0x10, KEY_CHANNELUP },
44 { 0x11, KEY_CHANNELDOWN },
45
46 /* Couldn't map key left/key right since those
47 conflict with '3' and '4' scancodes
48 I dunno what the original driver does
49 */
50
51 { 0x13, KEY_VOLUMEUP },
52 { 0x12, KEY_VOLUMEDOWN },
53
54 /* The lower part of the IR
55 There are several duplicated keycodes there.
56 Most of them conflict with digits.
57 Add mappings just to the unused scancodes.
58 Somehow, the original driver has a way to know,
59 but this doesn't seem to be on some GPIO.
60 Also, it is not related to the time between keyup
61 and keydown.
62 */
63 { 0x19, KEY_TIME}, /* Timeshift */
64 { 0x1a, KEY_STOP},
65 { 0x1b, KEY_RECORD},
66
67 { 0x22, KEY_TEXT},
68
69 { 0x15, KEY_AUDIO}, /* ((*)) */
70 { 0x0f, KEY_ZOOM},
71 { 0x1c, KEY_CAMERA}, /* snapshot */
72
73 { 0x18, KEY_RED}, /* B */
74 { 0x23, KEY_GREEN}, /* C */
75};
76
d100e659 77static struct rc_map_list kworld_plus_tv_analog_map = {
6686fa69
MCC
78 .map = {
79 .scan = kworld_plus_tv_analog,
80 .size = ARRAY_SIZE(kworld_plus_tv_analog),
52b66144 81 .rc_type = RC_TYPE_UNKNOWN, /* Legacy IR type */
6686fa69
MCC
82 .name = RC_MAP_KWORLD_PLUS_TV_ANALOG,
83 }
84};
85
86static int __init init_rc_map_kworld_plus_tv_analog(void)
87{
d100e659 88 return rc_map_register(&kworld_plus_tv_analog_map);
6686fa69
MCC
89}
90
91static void __exit exit_rc_map_kworld_plus_tv_analog(void)
92{
d100e659 93 rc_map_unregister(&kworld_plus_tv_analog_map);
6686fa69
MCC
94}
95
96module_init(init_rc_map_kworld_plus_tv_analog)
97module_exit(exit_rc_map_kworld_plus_tv_analog)
98
99MODULE_LICENSE("GPL");
100MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@redhat.com>");