Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
drivers
media
rc
keymaps
rc-kworld-plus-tv-analog.c
Go to the documentation of this file.
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 <
[email protected]
>
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
>
14
#include <linux/module.h>
15
16
/* Kworld Plus TV Analog Lite PCI IR
17
Mauro Carvalho Chehab <
[email protected]
>
18
*/
19
20
static
struct
rc_map_table
kworld_plus_tv_analog[] = {
21
{ 0x0c,
KEY_MEDIA
},
/* Kworld key */
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
77
static
struct
rc_map_list
kworld_plus_tv_analog_map = {
78
.map = {
79
.scan = kworld_plus_tv_analog,
80
.size =
ARRAY_SIZE
(kworld_plus_tv_analog),
81
.rc_type =
RC_TYPE_UNKNOWN
,
/* Legacy IR type */
82
.name =
RC_MAP_KWORLD_PLUS_TV_ANALOG
,
83
}
84
};
85
86
static
int
__init
init_rc_map_kworld_plus_tv_analog(
void
)
87
{
88
return
rc_map_register
(&kworld_plus_tv_analog_map);
89
}
90
91
static
void
__exit
exit_rc_map_kworld_plus_tv_analog(
void
)
92
{
93
rc_map_unregister
(&kworld_plus_tv_analog_map);
94
}
95
96
module_init
(init_rc_map_kworld_plus_tv_analog)
97
module_exit
(exit_rc_map_kworld_plus_tv_analog)
98
99
MODULE_LICENSE
("GPL");
100
MODULE_AUTHOR
("Mauro Carvalho Chehab <
[email protected]
>");
Generated on Thu Jan 10 2013 13:50:27 for Linux Kernel by
1.8.2