diff options
author | Jarod Wilson <jarod@redhat.com> | 2010-06-01 16:30:35 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2010-08-02 13:05:48 -0400 |
commit | 0204fe2a20da12ddae1b564712ceeebc55214f97 (patch) | |
tree | 64c52ee75b74089f0878a62fdde2514dea7b991c /drivers/media/IR/keymaps | |
parent | 7366646e20f8800433333a7102e3ce488215e33f (diff) |
V4L/DVB: IR: add RC6 keymap for Windows Media Center Ed. remotes
This is the RC6 keymap for the Windows Media Center Edition remotes
that come bundled with MCE/eHome Infrared Remote transceivers. Tested
with 3 different variants of the remote, but its possible there are
still some additional keys missing, but its simple enough to add them
in later...
This patch also adds an IR_TYPE_ALL convenience macro to make life
easier for receivers that support all IR protocols.
v2: fix an erroneous comment that referred to imon devices
Signed-off-by: Jarod Wilson <jarod@redhat.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/IR/keymaps')
-rw-r--r-- | drivers/media/IR/keymaps/Makefile | 1 | ||||
-rw-r--r-- | drivers/media/IR/keymaps/rc-rc6-mce.c | 105 |
2 files changed, 106 insertions, 0 deletions
diff --git a/drivers/media/IR/keymaps/Makefile b/drivers/media/IR/keymaps/Makefile index aea649fbcf5a..c3def729d759 100644 --- a/drivers/media/IR/keymaps/Makefile +++ b/drivers/media/IR/keymaps/Makefile | |||
@@ -57,6 +57,7 @@ obj-$(CONFIG_RC_MAP) += rc-adstech-dvb-t-pci.o \ | |||
57 | rc-pv951.o \ | 57 | rc-pv951.o \ |
58 | rc-rc5-hauppauge-new.o \ | 58 | rc-rc5-hauppauge-new.o \ |
59 | rc-rc5-tv.o \ | 59 | rc-rc5-tv.o \ |
60 | rc-rc6-mce.o \ | ||
60 | rc-real-audio-220-32-keys.o \ | 61 | rc-real-audio-220-32-keys.o \ |
61 | rc-tbs-nec.o \ | 62 | rc-tbs-nec.o \ |
62 | rc-terratec-cinergy-xs.o \ | 63 | rc-terratec-cinergy-xs.o \ |
diff --git a/drivers/media/IR/keymaps/rc-rc6-mce.c b/drivers/media/IR/keymaps/rc-rc6-mce.c new file mode 100644 index 000000000000..c6726a8039be --- /dev/null +++ b/drivers/media/IR/keymaps/rc-rc6-mce.c | |||
@@ -0,0 +1,105 @@ | |||
1 | /* rc-rc6-mce.c - Keytable for Windows Media Center RC-6 remotes for use | ||
2 | * with the Media Center Edition eHome Infrared Transceiver. | ||
3 | * | ||
4 | * Copyright (c) 2010 by Jarod Wilson <jarod@redhat.com> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | */ | ||
11 | |||
12 | #include <media/rc-map.h> | ||
13 | |||
14 | static struct ir_scancode rc6_mce[] = { | ||
15 | { 0x800f0415, KEY_REWIND }, | ||
16 | { 0x800f0414, KEY_FASTFORWARD }, | ||
17 | { 0x800f041b, KEY_PREVIOUS }, | ||
18 | { 0x800f041a, KEY_NEXT }, | ||
19 | |||
20 | { 0x800f0416, KEY_PLAY }, | ||
21 | { 0x800f0418, KEY_PAUSE }, | ||
22 | { 0x800f0419, KEY_STOP }, | ||
23 | { 0x800f0417, KEY_RECORD }, | ||
24 | |||
25 | { 0x800f041e, KEY_UP }, | ||
26 | { 0x800f041f, KEY_DOWN }, | ||
27 | { 0x800f0420, KEY_LEFT }, | ||
28 | { 0x800f0421, KEY_RIGHT }, | ||
29 | |||
30 | { 0x800f040b, KEY_ENTER }, | ||
31 | { 0x800f0422, KEY_OK }, | ||
32 | { 0x800f0423, KEY_EXIT }, | ||
33 | { 0x800f040a, KEY_DELETE }, | ||
34 | |||
35 | { 0x800f040e, KEY_MUTE }, | ||
36 | { 0x800f0410, KEY_VOLUMEUP }, | ||
37 | { 0x800f0411, KEY_VOLUMEDOWN }, | ||
38 | { 0x800f0412, KEY_CHANNELUP }, | ||
39 | { 0x800f0413, KEY_CHANNELDOWN }, | ||
40 | |||
41 | { 0x800f0401, KEY_NUMERIC_1 }, | ||
42 | { 0x800f0402, KEY_NUMERIC_2 }, | ||
43 | { 0x800f0403, KEY_NUMERIC_3 }, | ||
44 | { 0x800f0404, KEY_NUMERIC_4 }, | ||
45 | { 0x800f0405, KEY_NUMERIC_5 }, | ||
46 | { 0x800f0406, KEY_NUMERIC_6 }, | ||
47 | { 0x800f0407, KEY_NUMERIC_7 }, | ||
48 | { 0x800f0408, KEY_NUMERIC_8 }, | ||
49 | { 0x800f0409, KEY_NUMERIC_9 }, | ||
50 | { 0x800f0400, KEY_NUMERIC_0 }, | ||
51 | |||
52 | { 0x800f041d, KEY_NUMERIC_STAR }, | ||
53 | { 0x800f041c, KEY_NUMERIC_POUND }, | ||
54 | |||
55 | { 0x800f0446, KEY_TV }, | ||
56 | { 0x800f0447, KEY_AUDIO }, /* My Music */ | ||
57 | { 0x800f0448, KEY_PVR }, /* RecordedTV */ | ||
58 | { 0x800f0449, KEY_CAMERA }, | ||
59 | { 0x800f044a, KEY_VIDEO }, | ||
60 | { 0x800f0424, KEY_DVD }, | ||
61 | { 0x800f0425, KEY_TUNER }, /* LiveTV */ | ||
62 | { 0x800f0450, KEY_RADIO }, | ||
63 | |||
64 | { 0x800f044c, KEY_LANGUAGE }, | ||
65 | { 0x800f0427, KEY_ZOOM }, /* Aspect */ | ||
66 | |||
67 | { 0x800f045b, KEY_RED }, | ||
68 | { 0x800f045c, KEY_GREEN }, | ||
69 | { 0x800f045d, KEY_YELLOW }, | ||
70 | { 0x800f045e, KEY_BLUE }, | ||
71 | |||
72 | { 0x800f040f, KEY_INFO }, | ||
73 | { 0x800f0426, KEY_EPG }, /* Guide */ | ||
74 | { 0x800f045a, KEY_SUBTITLE }, /* Caption/Teletext */ | ||
75 | { 0x800f044d, KEY_TITLE }, | ||
76 | |||
77 | { 0x800f040c, KEY_POWER }, | ||
78 | { 0x800f040d, KEY_PROG1 }, /* Windows MCE button */ | ||
79 | |||
80 | }; | ||
81 | |||
82 | static struct rc_keymap rc6_mce_map = { | ||
83 | .map = { | ||
84 | .scan = rc6_mce, | ||
85 | .size = ARRAY_SIZE(rc6_mce), | ||
86 | .ir_type = IR_TYPE_RC6, | ||
87 | .name = RC_MAP_RC6_MCE, | ||
88 | } | ||
89 | }; | ||
90 | |||
91 | static int __init init_rc_map_rc6_mce(void) | ||
92 | { | ||
93 | return ir_register_map(&rc6_mce_map); | ||
94 | } | ||
95 | |||
96 | static void __exit exit_rc_map_rc6_mce(void) | ||
97 | { | ||
98 | ir_unregister_map(&rc6_mce_map); | ||
99 | } | ||
100 | |||
101 | module_init(init_rc_map_rc6_mce) | ||
102 | module_exit(exit_rc_map_rc6_mce) | ||
103 | |||
104 | MODULE_LICENSE("GPL"); | ||
105 | MODULE_AUTHOR("Jarod Wilson <jarod@redhat.com>"); | ||