diff options
Diffstat (limited to 'drivers/media/common/ir-keymaps.c')
-rw-r--r-- | drivers/media/common/ir-keymaps.c | 5022 |
1 files changed, 2698 insertions, 2324 deletions
diff --git a/drivers/media/common/ir-keymaps.c b/drivers/media/common/ir-keymaps.c index 4216328552f6..f6790172736a 100644 --- a/drivers/media/common/ir-keymaps.c +++ b/drivers/media/common/ir-keymaps.c | |||
@@ -1,8 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | 2 | Keytables for supported remote controls, used on drivers/media | |
3 | 3 | devices. | |
4 | Keytables for supported remote controls. This file is part of | ||
5 | video4linux. | ||
6 | 4 | ||
7 | This program is free software; you can redistribute it and/or modify | 5 | 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 | 6 | it under the terms of the GNU General Public License as published by |
@@ -17,7 +15,13 @@ | |||
17 | You should have received a copy of the GNU General Public License | 15 | You should have received a copy of the GNU General Public License |
18 | along with this program; if not, write to the Free Software | 16 | along with this program; if not, write to the Free Software |
19 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | 17 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. |
18 | */ | ||
20 | 19 | ||
20 | /* | ||
21 | * NOTICE FOR DEVELOPERS: | ||
22 | * The IR mappings should be as close as possible to what's | ||
23 | * specified at: | ||
24 | * http://linuxtv.org/wiki/index.php/Remote_Controllers | ||
21 | */ | 25 | */ |
22 | #include <linux/module.h> | 26 | #include <linux/module.h> |
23 | 27 | ||
@@ -25,589 +29,627 @@ | |||
25 | #include <media/ir-common.h> | 29 | #include <media/ir-common.h> |
26 | 30 | ||
27 | /* empty keytable, can be used as placeholder for not-yet created keytables */ | 31 | /* empty keytable, can be used as placeholder for not-yet created keytables */ |
28 | IR_KEYTAB_TYPE ir_codes_empty[IR_KEYTAB_SIZE] = { | 32 | static struct ir_scancode ir_codes_empty[] = { |
29 | [ 0x2a ] = KEY_COFFEE, | 33 | { 0x2a, KEY_COFFEE }, |
30 | }; | 34 | }; |
31 | 35 | ||
32 | EXPORT_SYMBOL_GPL(ir_codes_empty); | 36 | struct ir_scancode_table ir_codes_empty_table = { |
37 | .scan = ir_codes_empty, | ||
38 | .size = ARRAY_SIZE(ir_codes_empty), | ||
39 | }; | ||
40 | EXPORT_SYMBOL_GPL(ir_codes_empty_table); | ||
33 | 41 | ||
34 | /* Michal Majchrowicz <mmajchrowicz@gmail.com> */ | 42 | /* Michal Majchrowicz <mmajchrowicz@gmail.com> */ |
35 | IR_KEYTAB_TYPE ir_codes_proteus_2309[IR_KEYTAB_SIZE] = { | 43 | static struct ir_scancode ir_codes_proteus_2309[] = { |
36 | /* numeric */ | 44 | /* numeric */ |
37 | [ 0x00 ] = KEY_0, | 45 | { 0x00, KEY_0 }, |
38 | [ 0x01 ] = KEY_1, | 46 | { 0x01, KEY_1 }, |
39 | [ 0x02 ] = KEY_2, | 47 | { 0x02, KEY_2 }, |
40 | [ 0x03 ] = KEY_3, | 48 | { 0x03, KEY_3 }, |
41 | [ 0x04 ] = KEY_4, | 49 | { 0x04, KEY_4 }, |
42 | [ 0x05 ] = KEY_5, | 50 | { 0x05, KEY_5 }, |
43 | [ 0x06 ] = KEY_6, | 51 | { 0x06, KEY_6 }, |
44 | [ 0x07 ] = KEY_7, | 52 | { 0x07, KEY_7 }, |
45 | [ 0x08 ] = KEY_8, | 53 | { 0x08, KEY_8 }, |
46 | [ 0x09 ] = KEY_9, | 54 | { 0x09, KEY_9 }, |
47 | 55 | ||
48 | [ 0x5c ] = KEY_POWER, /* power */ | 56 | { 0x5c, KEY_POWER }, /* power */ |
49 | [ 0x20 ] = KEY_F, /* full screen */ | 57 | { 0x20, KEY_ZOOM }, /* full screen */ |
50 | [ 0x0f ] = KEY_BACKSPACE, /* recall */ | 58 | { 0x0f, KEY_BACKSPACE }, /* recall */ |
51 | [ 0x1b ] = KEY_ENTER, /* mute */ | 59 | { 0x1b, KEY_ENTER }, /* mute */ |
52 | [ 0x41 ] = KEY_RECORD, /* record */ | 60 | { 0x41, KEY_RECORD }, /* record */ |
53 | [ 0x43 ] = KEY_STOP, /* stop */ | 61 | { 0x43, KEY_STOP }, /* stop */ |
54 | [ 0x16 ] = KEY_S, | 62 | { 0x16, KEY_S }, |
55 | [ 0x1a ] = KEY_Q, /* off */ | 63 | { 0x1a, KEY_POWER2 }, /* off */ |
56 | [ 0x2e ] = KEY_RED, | 64 | { 0x2e, KEY_RED }, |
57 | [ 0x1f ] = KEY_DOWN, /* channel - */ | 65 | { 0x1f, KEY_CHANNELDOWN }, /* channel - */ |
58 | [ 0x1c ] = KEY_UP, /* channel + */ | 66 | { 0x1c, KEY_CHANNELUP }, /* channel + */ |
59 | [ 0x10 ] = KEY_LEFT, /* volume - */ | 67 | { 0x10, KEY_VOLUMEDOWN }, /* volume - */ |
60 | [ 0x1e ] = KEY_RIGHT, /* volume + */ | 68 | { 0x1e, KEY_VOLUMEUP }, /* volume + */ |
61 | [ 0x14 ] = KEY_F1, | 69 | { 0x14, KEY_F1 }, |
62 | }; | 70 | }; |
63 | 71 | ||
64 | EXPORT_SYMBOL_GPL(ir_codes_proteus_2309); | 72 | struct ir_scancode_table ir_codes_proteus_2309_table = { |
73 | .scan = ir_codes_proteus_2309, | ||
74 | .size = ARRAY_SIZE(ir_codes_proteus_2309), | ||
75 | }; | ||
76 | EXPORT_SYMBOL_GPL(ir_codes_proteus_2309_table); | ||
77 | |||
65 | /* Matt Jesson <dvb@jesson.eclipse.co.uk */ | 78 | /* Matt Jesson <dvb@jesson.eclipse.co.uk */ |
66 | IR_KEYTAB_TYPE ir_codes_avermedia_dvbt[IR_KEYTAB_SIZE] = { | 79 | static struct ir_scancode ir_codes_avermedia_dvbt[] = { |
67 | [ 0x28 ] = KEY_0, //'0' / 'enter' | 80 | { 0x28, KEY_0 }, /* '0' / 'enter' */ |
68 | [ 0x22 ] = KEY_1, //'1' | 81 | { 0x22, KEY_1 }, /* '1' */ |
69 | [ 0x12 ] = KEY_2, //'2' / 'up arrow' | 82 | { 0x12, KEY_2 }, /* '2' / 'up arrow' */ |
70 | [ 0x32 ] = KEY_3, //'3' | 83 | { 0x32, KEY_3 }, /* '3' */ |
71 | [ 0x24 ] = KEY_4, //'4' / 'left arrow' | 84 | { 0x24, KEY_4 }, /* '4' / 'left arrow' */ |
72 | [ 0x14 ] = KEY_5, //'5' | 85 | { 0x14, KEY_5 }, /* '5' */ |
73 | [ 0x34 ] = KEY_6, //'6' / 'right arrow' | 86 | { 0x34, KEY_6 }, /* '6' / 'right arrow' */ |
74 | [ 0x26 ] = KEY_7, //'7' | 87 | { 0x26, KEY_7 }, /* '7' */ |
75 | [ 0x16 ] = KEY_8, //'8' / 'down arrow' | 88 | { 0x16, KEY_8 }, /* '8' / 'down arrow' */ |
76 | [ 0x36 ] = KEY_9, //'9' | 89 | { 0x36, KEY_9 }, /* '9' */ |
77 | 90 | ||
78 | [ 0x20 ] = KEY_LIST, // 'source' | 91 | { 0x20, KEY_LIST }, /* 'source' */ |
79 | [ 0x10 ] = KEY_TEXT, // 'teletext' | 92 | { 0x10, KEY_TEXT }, /* 'teletext' */ |
80 | [ 0x00 ] = KEY_POWER, // 'power' | 93 | { 0x00, KEY_POWER }, /* 'power' */ |
81 | [ 0x04 ] = KEY_AUDIO, // 'audio' | 94 | { 0x04, KEY_AUDIO }, /* 'audio' */ |
82 | [ 0x06 ] = KEY_ZOOM, // 'full screen' | 95 | { 0x06, KEY_ZOOM }, /* 'full screen' */ |
83 | [ 0x18 ] = KEY_VIDEO, // 'display' | 96 | { 0x18, KEY_VIDEO }, /* 'display' */ |
84 | [ 0x38 ] = KEY_SEARCH, // 'loop' | 97 | { 0x38, KEY_SEARCH }, /* 'loop' */ |
85 | [ 0x08 ] = KEY_INFO, // 'preview' | 98 | { 0x08, KEY_INFO }, /* 'preview' */ |
86 | [ 0x2a ] = KEY_REWIND, // 'backward <<' | 99 | { 0x2a, KEY_REWIND }, /* 'backward <<' */ |
87 | [ 0x1a ] = KEY_FASTFORWARD, // 'forward >>' | 100 | { 0x1a, KEY_FASTFORWARD }, /* 'forward >>' */ |
88 | [ 0x3a ] = KEY_RECORD, // 'capture' | 101 | { 0x3a, KEY_RECORD }, /* 'capture' */ |
89 | [ 0x0a ] = KEY_MUTE, // 'mute' | 102 | { 0x0a, KEY_MUTE }, /* 'mute' */ |
90 | [ 0x2c ] = KEY_RECORD, // 'record' | 103 | { 0x2c, KEY_RECORD }, /* 'record' */ |
91 | [ 0x1c ] = KEY_PAUSE, // 'pause' | 104 | { 0x1c, KEY_PAUSE }, /* 'pause' */ |
92 | [ 0x3c ] = KEY_STOP, // 'stop' | 105 | { 0x3c, KEY_STOP }, /* 'stop' */ |
93 | [ 0x0c ] = KEY_PLAY, // 'play' | 106 | { 0x0c, KEY_PLAY }, /* 'play' */ |
94 | [ 0x2e ] = KEY_RED, // 'red' | 107 | { 0x2e, KEY_RED }, /* 'red' */ |
95 | [ 0x01 ] = KEY_BLUE, // 'blue' / 'cancel' | 108 | { 0x01, KEY_BLUE }, /* 'blue' / 'cancel' */ |
96 | [ 0x0e ] = KEY_YELLOW, // 'yellow' / 'ok' | 109 | { 0x0e, KEY_YELLOW }, /* 'yellow' / 'ok' */ |
97 | [ 0x21 ] = KEY_GREEN, // 'green' | 110 | { 0x21, KEY_GREEN }, /* 'green' */ |
98 | [ 0x11 ] = KEY_CHANNELDOWN, // 'channel -' | 111 | { 0x11, KEY_CHANNELDOWN }, /* 'channel -' */ |
99 | [ 0x31 ] = KEY_CHANNELUP, // 'channel +' | 112 | { 0x31, KEY_CHANNELUP }, /* 'channel +' */ |
100 | [ 0x1e ] = KEY_VOLUMEDOWN, // 'volume -' | 113 | { 0x1e, KEY_VOLUMEDOWN }, /* 'volume -' */ |
101 | [ 0x3e ] = KEY_VOLUMEUP, // 'volume +' | 114 | { 0x3e, KEY_VOLUMEUP }, /* 'volume +' */ |
102 | }; | 115 | }; |
103 | 116 | ||
104 | EXPORT_SYMBOL_GPL(ir_codes_avermedia_dvbt); | 117 | struct ir_scancode_table ir_codes_avermedia_dvbt_table = { |
118 | .scan = ir_codes_avermedia_dvbt, | ||
119 | .size = ARRAY_SIZE(ir_codes_avermedia_dvbt), | ||
120 | }; | ||
121 | EXPORT_SYMBOL_GPL(ir_codes_avermedia_dvbt_table); | ||
105 | 122 | ||
106 | /* Mauro Carvalho Chehab <mchehab@infradead.org> */ | 123 | /* Mauro Carvalho Chehab <mchehab@infradead.org> */ |
107 | IR_KEYTAB_TYPE ir_codes_avermedia_m135a[IR_KEYTAB_SIZE] = { | 124 | static struct ir_scancode ir_codes_avermedia_m135a[] = { |
108 | [0x00] = KEY_POWER2, | 125 | { 0x00, KEY_POWER2 }, |
109 | [0x2e] = KEY_DOT, /* '.' */ | 126 | { 0x2e, KEY_DOT }, /* '.' */ |
110 | [0x01] = KEY_MODE, /* TV/FM */ | 127 | { 0x01, KEY_MODE }, /* TV/FM */ |
111 | 128 | ||
112 | [0x05] = KEY_1, | 129 | { 0x05, KEY_1 }, |
113 | [0x06] = KEY_2, | 130 | { 0x06, KEY_2 }, |
114 | [0x07] = KEY_3, | 131 | { 0x07, KEY_3 }, |
115 | [0x09] = KEY_4, | 132 | { 0x09, KEY_4 }, |
116 | [0x0a] = KEY_5, | 133 | { 0x0a, KEY_5 }, |
117 | [0x0b] = KEY_6, | 134 | { 0x0b, KEY_6 }, |
118 | [0x0d] = KEY_7, | 135 | { 0x0d, KEY_7 }, |
119 | [0x0e] = KEY_8, | 136 | { 0x0e, KEY_8 }, |
120 | [0x0f] = KEY_9, | 137 | { 0x0f, KEY_9 }, |
121 | [0x11] = KEY_0, | 138 | { 0x11, KEY_0 }, |
122 | 139 | ||
123 | [0x13] = KEY_RIGHT, /* -> */ | 140 | { 0x13, KEY_RIGHT }, /* -> */ |
124 | [0x12] = KEY_LEFT, /* <- */ | 141 | { 0x12, KEY_LEFT }, /* <- */ |
125 | 142 | ||
126 | [0x17] = KEY_SLEEP, /* Capturar Imagem */ | 143 | { 0x17, KEY_SLEEP }, /* Capturar Imagem */ |
127 | [0x10] = KEY_SHUFFLE, /* Amostra */ | 144 | { 0x10, KEY_SHUFFLE }, /* Amostra */ |
128 | 145 | ||
129 | /* FIXME: The keys bellow aren't ok */ | 146 | /* FIXME: The keys bellow aren't ok */ |
130 | 147 | ||
131 | [0x43] = KEY_CHANNELUP, | 148 | { 0x43, KEY_CHANNELUP }, |
132 | [0x42] = KEY_CHANNELDOWN, | 149 | { 0x42, KEY_CHANNELDOWN }, |
133 | [0x1f] = KEY_VOLUMEUP, | 150 | { 0x1f, KEY_VOLUMEUP }, |
134 | [0x1e] = KEY_VOLUMEDOWN, | 151 | { 0x1e, KEY_VOLUMEDOWN }, |
135 | [0x0c] = KEY_ENTER, | 152 | { 0x0c, KEY_ENTER }, |
136 | 153 | ||
137 | [0x14] = KEY_MUTE, | 154 | { 0x14, KEY_MUTE }, |
138 | [0x08] = KEY_AUDIO, | 155 | { 0x08, KEY_AUDIO }, |
139 | 156 | ||
140 | [0x03] = KEY_TEXT, | 157 | { 0x03, KEY_TEXT }, |
141 | [0x04] = KEY_EPG, | 158 | { 0x04, KEY_EPG }, |
142 | [0x2b] = KEY_TV2, /* TV2 */ | 159 | { 0x2b, KEY_TV2 }, /* TV2 */ |
143 | 160 | ||
144 | [0x1d] = KEY_RED, | 161 | { 0x1d, KEY_RED }, |
145 | [0x1c] = KEY_YELLOW, | 162 | { 0x1c, KEY_YELLOW }, |
146 | [0x41] = KEY_GREEN, | 163 | { 0x41, KEY_GREEN }, |
147 | [0x40] = KEY_BLUE, | 164 | { 0x40, KEY_BLUE }, |
148 | 165 | ||
149 | [0x1a] = KEY_PLAYPAUSE, | 166 | { 0x1a, KEY_PLAYPAUSE }, |
150 | [0x19] = KEY_RECORD, | 167 | { 0x19, KEY_RECORD }, |
151 | [0x18] = KEY_PLAY, | 168 | { 0x18, KEY_PLAY }, |
152 | [0x1b] = KEY_STOP, | 169 | { 0x1b, KEY_STOP }, |
153 | }; | 170 | }; |
154 | EXPORT_SYMBOL_GPL(ir_codes_avermedia_m135a); | 171 | |
172 | struct ir_scancode_table ir_codes_avermedia_m135a_table = { | ||
173 | .scan = ir_codes_avermedia_m135a, | ||
174 | .size = ARRAY_SIZE(ir_codes_avermedia_m135a), | ||
175 | }; | ||
176 | EXPORT_SYMBOL_GPL(ir_codes_avermedia_m135a_table); | ||
155 | 177 | ||
156 | /* Oldrich Jedlicka <oldium.pro@seznam.cz> */ | 178 | /* Oldrich Jedlicka <oldium.pro@seznam.cz> */ |
157 | IR_KEYTAB_TYPE ir_codes_avermedia_cardbus[IR_KEYTAB_SIZE] = { | 179 | static struct ir_scancode ir_codes_avermedia_cardbus[] = { |
158 | [0x00] = KEY_POWER, | 180 | { 0x00, KEY_POWER }, |
159 | [0x01] = KEY_TUNER, /* TV/FM */ | 181 | { 0x01, KEY_TUNER }, /* TV/FM */ |
160 | [0x03] = KEY_TEXT, /* Teletext */ | 182 | { 0x03, KEY_TEXT }, /* Teletext */ |
161 | [0x04] = KEY_EPG, | 183 | { 0x04, KEY_EPG }, |
162 | [0x05] = KEY_1, | 184 | { 0x05, KEY_1 }, |
163 | [0x06] = KEY_2, | 185 | { 0x06, KEY_2 }, |
164 | [0x07] = KEY_3, | 186 | { 0x07, KEY_3 }, |
165 | [0x08] = KEY_AUDIO, | 187 | { 0x08, KEY_AUDIO }, |
166 | [0x09] = KEY_4, | 188 | { 0x09, KEY_4 }, |
167 | [0x0a] = KEY_5, | 189 | { 0x0a, KEY_5 }, |
168 | [0x0b] = KEY_6, | 190 | { 0x0b, KEY_6 }, |
169 | [0x0c] = KEY_ZOOM, /* Full screen */ | 191 | { 0x0c, KEY_ZOOM }, /* Full screen */ |
170 | [0x0d] = KEY_7, | 192 | { 0x0d, KEY_7 }, |
171 | [0x0e] = KEY_8, | 193 | { 0x0e, KEY_8 }, |
172 | [0x0f] = KEY_9, | 194 | { 0x0f, KEY_9 }, |
173 | [0x10] = KEY_PAGEUP, /* 16-CH PREV */ | 195 | { 0x10, KEY_PAGEUP }, /* 16-CH PREV */ |
174 | [0x11] = KEY_0, | 196 | { 0x11, KEY_0 }, |
175 | [0x12] = KEY_INFO, | 197 | { 0x12, KEY_INFO }, |
176 | [0x13] = KEY_AGAIN, /* CH RTN - channel return */ | 198 | { 0x13, KEY_AGAIN }, /* CH RTN - channel return */ |
177 | [0x14] = KEY_MUTE, | 199 | { 0x14, KEY_MUTE }, |
178 | [0x15] = KEY_EDIT, /* Autoscan */ | 200 | { 0x15, KEY_EDIT }, /* Autoscan */ |
179 | [0x17] = KEY_SAVE, /* Screenshot */ | 201 | { 0x17, KEY_SAVE }, /* Screenshot */ |
180 | [0x18] = KEY_PLAYPAUSE, | 202 | { 0x18, KEY_PLAYPAUSE }, |
181 | [0x19] = KEY_RECORD, | 203 | { 0x19, KEY_RECORD }, |
182 | [0x1a] = KEY_PLAY, | 204 | { 0x1a, KEY_PLAY }, |
183 | [0x1b] = KEY_STOP, | 205 | { 0x1b, KEY_STOP }, |
184 | [0x1c] = KEY_FASTFORWARD, | 206 | { 0x1c, KEY_FASTFORWARD }, |
185 | [0x1d] = KEY_REWIND, | 207 | { 0x1d, KEY_REWIND }, |
186 | [0x1e] = KEY_VOLUMEDOWN, | 208 | { 0x1e, KEY_VOLUMEDOWN }, |
187 | [0x1f] = KEY_VOLUMEUP, | 209 | { 0x1f, KEY_VOLUMEUP }, |
188 | [0x22] = KEY_SLEEP, /* Sleep */ | 210 | { 0x22, KEY_SLEEP }, /* Sleep */ |
189 | [0x23] = KEY_ZOOM, /* Aspect */ | 211 | { 0x23, KEY_ZOOM }, /* Aspect */ |
190 | [0x26] = KEY_SCREEN, /* Pos */ | 212 | { 0x26, KEY_SCREEN }, /* Pos */ |
191 | [0x27] = KEY_ANGLE, /* Size */ | 213 | { 0x27, KEY_ANGLE }, /* Size */ |
192 | [0x28] = KEY_SELECT, /* Select */ | 214 | { 0x28, KEY_SELECT }, /* Select */ |
193 | [0x29] = KEY_BLUE, /* Blue/Picture */ | 215 | { 0x29, KEY_BLUE }, /* Blue/Picture */ |
194 | [0x2a] = KEY_BACKSPACE, /* Back */ | 216 | { 0x2a, KEY_BACKSPACE }, /* Back */ |
195 | [0x2b] = KEY_MEDIA, /* PIP (Picture-in-picture) */ | 217 | { 0x2b, KEY_MEDIA }, /* PIP (Picture-in-picture) */ |
196 | [0x2c] = KEY_DOWN, | 218 | { 0x2c, KEY_DOWN }, |
197 | [0x2e] = KEY_DOT, | 219 | { 0x2e, KEY_DOT }, |
198 | [0x2f] = KEY_TV, /* Live TV */ | 220 | { 0x2f, KEY_TV }, /* Live TV */ |
199 | [0x32] = KEY_LEFT, | 221 | { 0x32, KEY_LEFT }, |
200 | [0x33] = KEY_CLEAR, /* Clear */ | 222 | { 0x33, KEY_CLEAR }, /* Clear */ |
201 | [0x35] = KEY_RED, /* Red/TV */ | 223 | { 0x35, KEY_RED }, /* Red/TV */ |
202 | [0x36] = KEY_UP, | 224 | { 0x36, KEY_UP }, |
203 | [0x37] = KEY_HOME, /* Home */ | 225 | { 0x37, KEY_HOME }, /* Home */ |
204 | [0x39] = KEY_GREEN, /* Green/Video */ | 226 | { 0x39, KEY_GREEN }, /* Green/Video */ |
205 | [0x3d] = KEY_YELLOW, /* Yellow/Music */ | 227 | { 0x3d, KEY_YELLOW }, /* Yellow/Music */ |
206 | [0x3e] = KEY_OK, /* Ok */ | 228 | { 0x3e, KEY_OK }, /* Ok */ |
207 | [0x3f] = KEY_RIGHT, | 229 | { 0x3f, KEY_RIGHT }, |
208 | [0x40] = KEY_NEXT, /* Next */ | 230 | { 0x40, KEY_NEXT }, /* Next */ |
209 | [0x41] = KEY_PREVIOUS, /* Previous */ | 231 | { 0x41, KEY_PREVIOUS }, /* Previous */ |
210 | [0x42] = KEY_CHANNELDOWN, /* Channel down */ | 232 | { 0x42, KEY_CHANNELDOWN }, /* Channel down */ |
211 | [0x43] = KEY_CHANNELUP /* Channel up */ | 233 | { 0x43, KEY_CHANNELUP }, /* Channel up */ |
212 | }; | 234 | }; |
213 | EXPORT_SYMBOL_GPL(ir_codes_avermedia_cardbus); | 235 | |
236 | struct ir_scancode_table ir_codes_avermedia_cardbus_table = { | ||
237 | .scan = ir_codes_avermedia_cardbus, | ||
238 | .size = ARRAY_SIZE(ir_codes_avermedia_cardbus), | ||
239 | }; | ||
240 | EXPORT_SYMBOL_GPL(ir_codes_avermedia_cardbus_table); | ||
214 | 241 | ||
215 | /* Attila Kondoros <attila.kondoros@chello.hu> */ | 242 | /* Attila Kondoros <attila.kondoros@chello.hu> */ |
216 | IR_KEYTAB_TYPE ir_codes_apac_viewcomp[IR_KEYTAB_SIZE] = { | 243 | static struct ir_scancode ir_codes_apac_viewcomp[] = { |
217 | 244 | ||
218 | [ 0x01 ] = KEY_1, | 245 | { 0x01, KEY_1 }, |
219 | [ 0x02 ] = KEY_2, | 246 | { 0x02, KEY_2 }, |
220 | [ 0x03 ] = KEY_3, | 247 | { 0x03, KEY_3 }, |
221 | [ 0x04 ] = KEY_4, | 248 | { 0x04, KEY_4 }, |
222 | [ 0x05 ] = KEY_5, | 249 | { 0x05, KEY_5 }, |
223 | [ 0x06 ] = KEY_6, | 250 | { 0x06, KEY_6 }, |
224 | [ 0x07 ] = KEY_7, | 251 | { 0x07, KEY_7 }, |
225 | [ 0x08 ] = KEY_8, | 252 | { 0x08, KEY_8 }, |
226 | [ 0x09 ] = KEY_9, | 253 | { 0x09, KEY_9 }, |
227 | [ 0x00 ] = KEY_0, | 254 | { 0x00, KEY_0 }, |
228 | [ 0x17 ] = KEY_LAST, // +100 | 255 | { 0x17, KEY_LAST }, /* +100 */ |
229 | [ 0x0a ] = KEY_LIST, // recall | 256 | { 0x0a, KEY_LIST }, /* recall */ |
230 | 257 | ||
231 | 258 | ||
232 | [ 0x1c ] = KEY_TUNER, // TV/FM | 259 | { 0x1c, KEY_TUNER }, /* TV/FM */ |
233 | [ 0x15 ] = KEY_SEARCH, // scan | 260 | { 0x15, KEY_SEARCH }, /* scan */ |
234 | [ 0x12 ] = KEY_POWER, // power | 261 | { 0x12, KEY_POWER }, /* power */ |
235 | [ 0x1f ] = KEY_VOLUMEDOWN, // vol up | 262 | { 0x1f, KEY_VOLUMEDOWN }, /* vol up */ |
236 | [ 0x1b ] = KEY_VOLUMEUP, // vol down | 263 | { 0x1b, KEY_VOLUMEUP }, /* vol down */ |
237 | [ 0x1e ] = KEY_CHANNELDOWN, // chn up | 264 | { 0x1e, KEY_CHANNELDOWN }, /* chn up */ |
238 | [ 0x1a ] = KEY_CHANNELUP, // chn down | 265 | { 0x1a, KEY_CHANNELUP }, /* chn down */ |
239 | 266 | ||
240 | [ 0x11 ] = KEY_VIDEO, // video | 267 | { 0x11, KEY_VIDEO }, /* video */ |
241 | [ 0x0f ] = KEY_ZOOM, // full screen | 268 | { 0x0f, KEY_ZOOM }, /* full screen */ |
242 | [ 0x13 ] = KEY_MUTE, // mute/unmute | 269 | { 0x13, KEY_MUTE }, /* mute/unmute */ |
243 | [ 0x10 ] = KEY_TEXT, // min | 270 | { 0x10, KEY_TEXT }, /* min */ |
244 | 271 | ||
245 | [ 0x0d ] = KEY_STOP, // freeze | 272 | { 0x0d, KEY_STOP }, /* freeze */ |
246 | [ 0x0e ] = KEY_RECORD, // record | 273 | { 0x0e, KEY_RECORD }, /* record */ |
247 | [ 0x1d ] = KEY_PLAYPAUSE, // stop | 274 | { 0x1d, KEY_PLAYPAUSE }, /* stop */ |
248 | [ 0x19 ] = KEY_PLAY, // play | 275 | { 0x19, KEY_PLAY }, /* play */ |
249 | 276 | ||
250 | [ 0x16 ] = KEY_GOTO, // osd | 277 | { 0x16, KEY_GOTO }, /* osd */ |
251 | [ 0x14 ] = KEY_REFRESH, // default | 278 | { 0x14, KEY_REFRESH }, /* default */ |
252 | [ 0x0c ] = KEY_KPPLUS, // fine tune >>>> | 279 | { 0x0c, KEY_KPPLUS }, /* fine tune >>>> */ |
253 | [ 0x18 ] = KEY_KPMINUS // fine tune <<<< | 280 | { 0x18, KEY_KPMINUS }, /* fine tune <<<< */ |
254 | }; | 281 | }; |
255 | 282 | ||
256 | EXPORT_SYMBOL_GPL(ir_codes_apac_viewcomp); | 283 | struct ir_scancode_table ir_codes_apac_viewcomp_table = { |
284 | .scan = ir_codes_apac_viewcomp, | ||
285 | .size = ARRAY_SIZE(ir_codes_apac_viewcomp), | ||
286 | }; | ||
287 | EXPORT_SYMBOL_GPL(ir_codes_apac_viewcomp_table); | ||
257 | 288 | ||
258 | /* ---------------------------------------------------------------------- */ | 289 | /* ---------------------------------------------------------------------- */ |
259 | 290 | ||
260 | IR_KEYTAB_TYPE ir_codes_pixelview[IR_KEYTAB_SIZE] = { | 291 | static struct ir_scancode ir_codes_pixelview[] = { |
261 | 292 | ||
262 | [ 0x1e ] = KEY_POWER, // power | 293 | { 0x1e, KEY_POWER }, /* power */ |
263 | [ 0x07 ] = KEY_MEDIA, // source | 294 | { 0x07, KEY_MEDIA }, /* source */ |
264 | [ 0x1c ] = KEY_SEARCH, // scan | 295 | { 0x1c, KEY_SEARCH }, /* scan */ |
265 | 296 | ||
266 | /* FIXME: duplicate keycodes? | ||
267 | * | ||
268 | * These four keys seem to share the same GPIO as CH+, CH-, <<< and >>> | ||
269 | * The GPIO values are | ||
270 | * 6397fb for both "Scan <" and "CH -", | ||
271 | * 639ffb for "Scan >" and "CH+", | ||
272 | * 6384fb for "Tune <" and "<<<", | ||
273 | * 638cfb for "Tune >" and ">>>", regardless of the mask. | ||
274 | * | ||
275 | * [ 0x17 ] = KEY_BACK, // fm scan << | ||
276 | * [ 0x1f ] = KEY_FORWARD, // fm scan >> | ||
277 | * | ||
278 | * [ 0x04 ] = KEY_LEFT, // fm tuning < | ||
279 | * [ 0x0c ] = KEY_RIGHT, // fm tuning > | ||
280 | * | ||
281 | * For now, these four keys are disabled. Pressing them will generate | ||
282 | * the CH+/CH-/<<</>>> events | ||
283 | */ | ||
284 | 297 | ||
285 | [ 0x03 ] = KEY_TUNER, // TV/FM | 298 | { 0x03, KEY_TUNER }, /* TV/FM */ |
286 | 299 | ||
287 | [ 0x00 ] = KEY_RECORD, | 300 | { 0x00, KEY_RECORD }, |
288 | [ 0x08 ] = KEY_STOP, | 301 | { 0x08, KEY_STOP }, |
289 | [ 0x11 ] = KEY_PLAY, | 302 | { 0x11, KEY_PLAY }, |
290 | 303 | ||
291 | [ 0x1a ] = KEY_PLAYPAUSE, // freeze | 304 | { 0x1a, KEY_PLAYPAUSE }, /* freeze */ |
292 | [ 0x19 ] = KEY_ZOOM, // zoom | 305 | { 0x19, KEY_ZOOM }, /* zoom */ |
293 | [ 0x0f ] = KEY_TEXT, // min | 306 | { 0x0f, KEY_TEXT }, /* min */ |
294 | 307 | ||
295 | [ 0x01 ] = KEY_1, | 308 | { 0x01, KEY_1 }, |
296 | [ 0x0b ] = KEY_2, | 309 | { 0x0b, KEY_2 }, |
297 | [ 0x1b ] = KEY_3, | 310 | { 0x1b, KEY_3 }, |
298 | [ 0x05 ] = KEY_4, | 311 | { 0x05, KEY_4 }, |
299 | [ 0x09 ] = KEY_5, | 312 | { 0x09, KEY_5 }, |
300 | [ 0x15 ] = KEY_6, | 313 | { 0x15, KEY_6 }, |
301 | [ 0x06 ] = KEY_7, | 314 | { 0x06, KEY_7 }, |
302 | [ 0x0a ] = KEY_8, | 315 | { 0x0a, KEY_8 }, |
303 | [ 0x12 ] = KEY_9, | 316 | { 0x12, KEY_9 }, |
304 | [ 0x02 ] = KEY_0, | 317 | { 0x02, KEY_0 }, |
305 | [ 0x10 ] = KEY_LAST, // +100 | 318 | { 0x10, KEY_LAST }, /* +100 */ |
306 | [ 0x13 ] = KEY_LIST, // recall | 319 | { 0x13, KEY_LIST }, /* recall */ |
307 | 320 | ||
308 | [ 0x1f ] = KEY_CHANNELUP, // chn down | 321 | { 0x1f, KEY_CHANNELUP }, /* chn down */ |
309 | [ 0x17 ] = KEY_CHANNELDOWN, // chn up | 322 | { 0x17, KEY_CHANNELDOWN }, /* chn up */ |
310 | [ 0x16 ] = KEY_VOLUMEUP, // vol down | 323 | { 0x16, KEY_VOLUMEUP }, /* vol down */ |
311 | [ 0x14 ] = KEY_VOLUMEDOWN, // vol up | 324 | { 0x14, KEY_VOLUMEDOWN }, /* vol up */ |
312 | 325 | ||
313 | [ 0x04 ] = KEY_KPMINUS, // <<< | 326 | { 0x04, KEY_KPMINUS }, /* <<< */ |
314 | [ 0x0e ] = KEY_SETUP, // function | 327 | { 0x0e, KEY_SETUP }, /* function */ |
315 | [ 0x0c ] = KEY_KPPLUS, // >>> | 328 | { 0x0c, KEY_KPPLUS }, /* >>> */ |
316 | 329 | ||
317 | [ 0x0d ] = KEY_GOTO, // mts | 330 | { 0x0d, KEY_GOTO }, /* mts */ |
318 | [ 0x1d ] = KEY_REFRESH, // reset | 331 | { 0x1d, KEY_REFRESH }, /* reset */ |
319 | [ 0x18 ] = KEY_MUTE // mute/unmute | 332 | { 0x18, KEY_MUTE }, /* mute/unmute */ |
320 | }; | 333 | }; |
321 | 334 | ||
322 | EXPORT_SYMBOL_GPL(ir_codes_pixelview); | 335 | struct ir_scancode_table ir_codes_pixelview_table = { |
336 | .scan = ir_codes_pixelview, | ||
337 | .size = ARRAY_SIZE(ir_codes_pixelview), | ||
338 | }; | ||
339 | EXPORT_SYMBOL_GPL(ir_codes_pixelview_table); | ||
323 | 340 | ||
324 | /* | 341 | /* |
325 | Mauro Carvalho Chehab <mchehab@infradead.org> | 342 | Mauro Carvalho Chehab <mchehab@infradead.org> |
326 | present on PV MPEG 8000GT | 343 | present on PV MPEG 8000GT |
327 | */ | 344 | */ |
328 | IR_KEYTAB_TYPE ir_codes_pixelview_new[IR_KEYTAB_SIZE] = { | 345 | static struct ir_scancode ir_codes_pixelview_new[] = { |
329 | [0x3c] = KEY_PAUSE, /* Timeshift */ | 346 | { 0x3c, KEY_TIME }, /* Timeshift */ |
330 | [0x12] = KEY_POWER, | 347 | { 0x12, KEY_POWER }, |
331 | 348 | ||
332 | [0x3d] = KEY_1, | 349 | { 0x3d, KEY_1 }, |
333 | [0x38] = KEY_2, | 350 | { 0x38, KEY_2 }, |
334 | [0x18] = KEY_3, | 351 | { 0x18, KEY_3 }, |
335 | [0x35] = KEY_4, | 352 | { 0x35, KEY_4 }, |
336 | [0x39] = KEY_5, | 353 | { 0x39, KEY_5 }, |
337 | [0x15] = KEY_6, | 354 | { 0x15, KEY_6 }, |
338 | [0x36] = KEY_7, | 355 | { 0x36, KEY_7 }, |
339 | [0x3a] = KEY_8, | 356 | { 0x3a, KEY_8 }, |
340 | [0x1e] = KEY_9, | 357 | { 0x1e, KEY_9 }, |
341 | [0x3e] = KEY_0, | 358 | { 0x3e, KEY_0 }, |
342 | 359 | ||
343 | [0x1c] = KEY_AGAIN, /* LOOP */ | 360 | { 0x1c, KEY_AGAIN }, /* LOOP */ |
344 | [0x3f] = KEY_MEDIA, /* Source */ | 361 | { 0x3f, KEY_MEDIA }, /* Source */ |
345 | [0x1f] = KEY_LAST, /* +100 */ | 362 | { 0x1f, KEY_LAST }, /* +100 */ |
346 | [0x1b] = KEY_MUTE, | 363 | { 0x1b, KEY_MUTE }, |
347 | 364 | ||
348 | [0x17] = KEY_CHANNELDOWN, | 365 | { 0x17, KEY_CHANNELDOWN }, |
349 | [0x16] = KEY_CHANNELUP, | 366 | { 0x16, KEY_CHANNELUP }, |
350 | [0x10] = KEY_VOLUMEUP, | 367 | { 0x10, KEY_VOLUMEUP }, |
351 | [0x14] = KEY_VOLUMEDOWN, | 368 | { 0x14, KEY_VOLUMEDOWN }, |
352 | [0x13] = KEY_ZOOM, | 369 | { 0x13, KEY_ZOOM }, |
353 | 370 | ||
354 | [0x19] = KEY_SHUFFLE, /* SNAPSHOT */ | 371 | { 0x19, KEY_CAMERA }, /* SNAPSHOT */ |
355 | [0x1a] = KEY_SEARCH, /* scan */ | 372 | { 0x1a, KEY_SEARCH }, /* scan */ |
356 | 373 | ||
357 | [0x37] = KEY_REWIND, /* << */ | 374 | { 0x37, KEY_REWIND }, /* << */ |
358 | [0x32] = KEY_RECORD, /* o (red) */ | 375 | { 0x32, KEY_RECORD }, /* o (red) */ |
359 | [0x33] = KEY_FORWARD, /* >> */ | 376 | { 0x33, KEY_FORWARD }, /* >> */ |
360 | [0x11] = KEY_STOP, /* square */ | 377 | { 0x11, KEY_STOP }, /* square */ |
361 | [0x3b] = KEY_PLAY, /* > */ | 378 | { 0x3b, KEY_PLAY }, /* > */ |
362 | [0x30] = KEY_PLAYPAUSE, /* || */ | 379 | { 0x30, KEY_PLAYPAUSE }, /* || */ |
363 | 380 | ||
364 | [0x31] = KEY_TV, | 381 | { 0x31, KEY_TV }, |
365 | [0x34] = KEY_RADIO, | 382 | { 0x34, KEY_RADIO }, |
366 | }; | 383 | }; |
367 | EXPORT_SYMBOL_GPL(ir_codes_pixelview_new); | 384 | |
368 | 385 | struct ir_scancode_table ir_codes_pixelview_new_table = { | |
369 | IR_KEYTAB_TYPE ir_codes_nebula[IR_KEYTAB_SIZE] = { | 386 | .scan = ir_codes_pixelview_new, |
370 | [ 0x00 ] = KEY_0, | 387 | .size = ARRAY_SIZE(ir_codes_pixelview_new), |
371 | [ 0x01 ] = KEY_1, | 388 | }; |
372 | [ 0x02 ] = KEY_2, | 389 | EXPORT_SYMBOL_GPL(ir_codes_pixelview_new_table); |
373 | [ 0x03 ] = KEY_3, | 390 | |
374 | [ 0x04 ] = KEY_4, | 391 | static struct ir_scancode ir_codes_nebula[] = { |
375 | [ 0x05 ] = KEY_5, | 392 | { 0x00, KEY_0 }, |
376 | [ 0x06 ] = KEY_6, | 393 | { 0x01, KEY_1 }, |
377 | [ 0x07 ] = KEY_7, | 394 | { 0x02, KEY_2 }, |
378 | [ 0x08 ] = KEY_8, | 395 | { 0x03, KEY_3 }, |
379 | [ 0x09 ] = KEY_9, | 396 | { 0x04, KEY_4 }, |
380 | [ 0x0a ] = KEY_TV, | 397 | { 0x05, KEY_5 }, |
381 | [ 0x0b ] = KEY_AUX, | 398 | { 0x06, KEY_6 }, |
382 | [ 0x0c ] = KEY_DVD, | 399 | { 0x07, KEY_7 }, |
383 | [ 0x0d ] = KEY_POWER, | 400 | { 0x08, KEY_8 }, |
384 | [ 0x0e ] = KEY_MHP, /* labelled 'Picture' */ | 401 | { 0x09, KEY_9 }, |
385 | [ 0x0f ] = KEY_AUDIO, | 402 | { 0x0a, KEY_TV }, |
386 | [ 0x10 ] = KEY_INFO, | 403 | { 0x0b, KEY_AUX }, |
387 | [ 0x11 ] = KEY_F13, /* 16:9 */ | 404 | { 0x0c, KEY_DVD }, |
388 | [ 0x12 ] = KEY_F14, /* 14:9 */ | 405 | { 0x0d, KEY_POWER }, |
389 | [ 0x13 ] = KEY_EPG, | 406 | { 0x0e, KEY_MHP }, /* labelled 'Picture' */ |
390 | [ 0x14 ] = KEY_EXIT, | 407 | { 0x0f, KEY_AUDIO }, |
391 | [ 0x15 ] = KEY_MENU, | 408 | { 0x10, KEY_INFO }, |
392 | [ 0x16 ] = KEY_UP, | 409 | { 0x11, KEY_F13 }, /* 16:9 */ |
393 | [ 0x17 ] = KEY_DOWN, | 410 | { 0x12, KEY_F14 }, /* 14:9 */ |
394 | [ 0x18 ] = KEY_LEFT, | 411 | { 0x13, KEY_EPG }, |
395 | [ 0x19 ] = KEY_RIGHT, | 412 | { 0x14, KEY_EXIT }, |
396 | [ 0x1a ] = KEY_ENTER, | 413 | { 0x15, KEY_MENU }, |
397 | [ 0x1b ] = KEY_CHANNELUP, | 414 | { 0x16, KEY_UP }, |
398 | [ 0x1c ] = KEY_CHANNELDOWN, | 415 | { 0x17, KEY_DOWN }, |
399 | [ 0x1d ] = KEY_VOLUMEUP, | 416 | { 0x18, KEY_LEFT }, |
400 | [ 0x1e ] = KEY_VOLUMEDOWN, | 417 | { 0x19, KEY_RIGHT }, |
401 | [ 0x1f ] = KEY_RED, | 418 | { 0x1a, KEY_ENTER }, |
402 | [ 0x20 ] = KEY_GREEN, | 419 | { 0x1b, KEY_CHANNELUP }, |
403 | [ 0x21 ] = KEY_YELLOW, | 420 | { 0x1c, KEY_CHANNELDOWN }, |
404 | [ 0x22 ] = KEY_BLUE, | 421 | { 0x1d, KEY_VOLUMEUP }, |
405 | [ 0x23 ] = KEY_SUBTITLE, | 422 | { 0x1e, KEY_VOLUMEDOWN }, |
406 | [ 0x24 ] = KEY_F15, /* AD */ | 423 | { 0x1f, KEY_RED }, |
407 | [ 0x25 ] = KEY_TEXT, | 424 | { 0x20, KEY_GREEN }, |
408 | [ 0x26 ] = KEY_MUTE, | 425 | { 0x21, KEY_YELLOW }, |
409 | [ 0x27 ] = KEY_REWIND, | 426 | { 0x22, KEY_BLUE }, |
410 | [ 0x28 ] = KEY_STOP, | 427 | { 0x23, KEY_SUBTITLE }, |
411 | [ 0x29 ] = KEY_PLAY, | 428 | { 0x24, KEY_F15 }, /* AD */ |
412 | [ 0x2a ] = KEY_FASTFORWARD, | 429 | { 0x25, KEY_TEXT }, |
413 | [ 0x2b ] = KEY_F16, /* chapter */ | 430 | { 0x26, KEY_MUTE }, |
414 | [ 0x2c ] = KEY_PAUSE, | 431 | { 0x27, KEY_REWIND }, |
415 | [ 0x2d ] = KEY_PLAY, | 432 | { 0x28, KEY_STOP }, |
416 | [ 0x2e ] = KEY_RECORD, | 433 | { 0x29, KEY_PLAY }, |
417 | [ 0x2f ] = KEY_F17, /* picture in picture */ | 434 | { 0x2a, KEY_FASTFORWARD }, |
418 | [ 0x30 ] = KEY_KPPLUS, /* zoom in */ | 435 | { 0x2b, KEY_F16 }, /* chapter */ |
419 | [ 0x31 ] = KEY_KPMINUS, /* zoom out */ | 436 | { 0x2c, KEY_PAUSE }, |
420 | [ 0x32 ] = KEY_F18, /* capture */ | 437 | { 0x2d, KEY_PLAY }, |
421 | [ 0x33 ] = KEY_F19, /* web */ | 438 | { 0x2e, KEY_RECORD }, |
422 | [ 0x34 ] = KEY_EMAIL, | 439 | { 0x2f, KEY_F17 }, /* picture in picture */ |
423 | [ 0x35 ] = KEY_PHONE, | 440 | { 0x30, KEY_KPPLUS }, /* zoom in */ |
424 | [ 0x36 ] = KEY_PC | 441 | { 0x31, KEY_KPMINUS }, /* zoom out */ |
425 | }; | 442 | { 0x32, KEY_F18 }, /* capture */ |
426 | 443 | { 0x33, KEY_F19 }, /* web */ | |
427 | EXPORT_SYMBOL_GPL(ir_codes_nebula); | 444 | { 0x34, KEY_EMAIL }, |
445 | { 0x35, KEY_PHONE }, | ||
446 | { 0x36, KEY_PC }, | ||
447 | }; | ||
448 | |||
449 | struct ir_scancode_table ir_codes_nebula_table = { | ||
450 | .scan = ir_codes_nebula, | ||
451 | .size = ARRAY_SIZE(ir_codes_nebula), | ||
452 | }; | ||
453 | EXPORT_SYMBOL_GPL(ir_codes_nebula_table); | ||
428 | 454 | ||
429 | /* DigitalNow DNTV Live DVB-T Remote */ | 455 | /* DigitalNow DNTV Live DVB-T Remote */ |
430 | IR_KEYTAB_TYPE ir_codes_dntv_live_dvb_t[IR_KEYTAB_SIZE] = { | 456 | static struct ir_scancode ir_codes_dntv_live_dvb_t[] = { |
431 | [ 0x00 ] = KEY_ESC, /* 'go up a level?' */ | 457 | { 0x00, KEY_ESC }, /* 'go up a level?' */ |
432 | /* Keys 0 to 9 */ | 458 | /* Keys 0 to 9 */ |
433 | [ 0x0a ] = KEY_0, | 459 | { 0x0a, KEY_0 }, |
434 | [ 0x01 ] = KEY_1, | 460 | { 0x01, KEY_1 }, |
435 | [ 0x02 ] = KEY_2, | 461 | { 0x02, KEY_2 }, |
436 | [ 0x03 ] = KEY_3, | 462 | { 0x03, KEY_3 }, |
437 | [ 0x04 ] = KEY_4, | 463 | { 0x04, KEY_4 }, |
438 | [ 0x05 ] = KEY_5, | 464 | { 0x05, KEY_5 }, |
439 | [ 0x06 ] = KEY_6, | 465 | { 0x06, KEY_6 }, |
440 | [ 0x07 ] = KEY_7, | 466 | { 0x07, KEY_7 }, |
441 | [ 0x08 ] = KEY_8, | 467 | { 0x08, KEY_8 }, |
442 | [ 0x09 ] = KEY_9, | 468 | { 0x09, KEY_9 }, |
443 | 469 | ||
444 | [ 0x0b ] = KEY_TUNER, /* tv/fm */ | 470 | { 0x0b, KEY_TUNER }, /* tv/fm */ |
445 | [ 0x0c ] = KEY_SEARCH, /* scan */ | 471 | { 0x0c, KEY_SEARCH }, /* scan */ |
446 | [ 0x0d ] = KEY_STOP, | 472 | { 0x0d, KEY_STOP }, |
447 | [ 0x0e ] = KEY_PAUSE, | 473 | { 0x0e, KEY_PAUSE }, |
448 | [ 0x0f ] = KEY_LIST, /* source */ | 474 | { 0x0f, KEY_LIST }, /* source */ |
449 | 475 | ||
450 | [ 0x10 ] = KEY_MUTE, | 476 | { 0x10, KEY_MUTE }, |
451 | [ 0x11 ] = KEY_REWIND, /* backward << */ | 477 | { 0x11, KEY_REWIND }, /* backward << */ |
452 | [ 0x12 ] = KEY_POWER, | 478 | { 0x12, KEY_POWER }, |
453 | [ 0x13 ] = KEY_S, /* snap */ | 479 | { 0x13, KEY_CAMERA }, /* snap */ |
454 | [ 0x14 ] = KEY_AUDIO, /* stereo */ | 480 | { 0x14, KEY_AUDIO }, /* stereo */ |
455 | [ 0x15 ] = KEY_CLEAR, /* reset */ | 481 | { 0x15, KEY_CLEAR }, /* reset */ |
456 | [ 0x16 ] = KEY_PLAY, | 482 | { 0x16, KEY_PLAY }, |
457 | [ 0x17 ] = KEY_ENTER, | 483 | { 0x17, KEY_ENTER }, |
458 | [ 0x18 ] = KEY_ZOOM, /* full screen */ | 484 | { 0x18, KEY_ZOOM }, /* full screen */ |
459 | [ 0x19 ] = KEY_FASTFORWARD, /* forward >> */ | 485 | { 0x19, KEY_FASTFORWARD }, /* forward >> */ |
460 | [ 0x1a ] = KEY_CHANNELUP, | 486 | { 0x1a, KEY_CHANNELUP }, |
461 | [ 0x1b ] = KEY_VOLUMEUP, | 487 | { 0x1b, KEY_VOLUMEUP }, |
462 | [ 0x1c ] = KEY_INFO, /* preview */ | 488 | { 0x1c, KEY_INFO }, /* preview */ |
463 | [ 0x1d ] = KEY_RECORD, /* record */ | 489 | { 0x1d, KEY_RECORD }, /* record */ |
464 | [ 0x1e ] = KEY_CHANNELDOWN, | 490 | { 0x1e, KEY_CHANNELDOWN }, |
465 | [ 0x1f ] = KEY_VOLUMEDOWN, | 491 | { 0x1f, KEY_VOLUMEDOWN }, |
466 | }; | 492 | }; |
467 | 493 | ||
468 | EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvb_t); | 494 | struct ir_scancode_table ir_codes_dntv_live_dvb_t_table = { |
495 | .scan = ir_codes_dntv_live_dvb_t, | ||
496 | .size = ARRAY_SIZE(ir_codes_dntv_live_dvb_t), | ||
497 | }; | ||
498 | EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvb_t_table); | ||
469 | 499 | ||
470 | /* ---------------------------------------------------------------------- */ | 500 | /* ---------------------------------------------------------------------- */ |
471 | 501 | ||
472 | /* IO-DATA BCTV7E Remote */ | 502 | /* IO-DATA BCTV7E Remote */ |
473 | IR_KEYTAB_TYPE ir_codes_iodata_bctv7e[IR_KEYTAB_SIZE] = { | 503 | static struct ir_scancode ir_codes_iodata_bctv7e[] = { |
474 | [ 0x40 ] = KEY_TV, | 504 | { 0x40, KEY_TV }, |
475 | [ 0x20 ] = KEY_RADIO, /* FM */ | 505 | { 0x20, KEY_RADIO }, /* FM */ |
476 | [ 0x60 ] = KEY_EPG, | 506 | { 0x60, KEY_EPG }, |
477 | [ 0x00 ] = KEY_POWER, | 507 | { 0x00, KEY_POWER }, |
478 | 508 | ||
479 | /* Keys 0 to 9 */ | 509 | /* Keys 0 to 9 */ |
480 | [ 0x44 ] = KEY_0, /* 10 */ | 510 | { 0x44, KEY_0 }, /* 10 */ |
481 | [ 0x50 ] = KEY_1, | 511 | { 0x50, KEY_1 }, |
482 | [ 0x30 ] = KEY_2, | 512 | { 0x30, KEY_2 }, |
483 | [ 0x70 ] = KEY_3, | 513 | { 0x70, KEY_3 }, |
484 | [ 0x48 ] = KEY_4, | 514 | { 0x48, KEY_4 }, |
485 | [ 0x28 ] = KEY_5, | 515 | { 0x28, KEY_5 }, |
486 | [ 0x68 ] = KEY_6, | 516 | { 0x68, KEY_6 }, |
487 | [ 0x58 ] = KEY_7, | 517 | { 0x58, KEY_7 }, |
488 | [ 0x38 ] = KEY_8, | 518 | { 0x38, KEY_8 }, |
489 | [ 0x78 ] = KEY_9, | 519 | { 0x78, KEY_9 }, |
490 | 520 | ||
491 | [ 0x10 ] = KEY_L, /* Live */ | 521 | { 0x10, KEY_L }, /* Live */ |
492 | [ 0x08 ] = KEY_T, /* Time Shift */ | 522 | { 0x08, KEY_TIME }, /* Time Shift */ |
493 | 523 | ||
494 | [ 0x18 ] = KEY_PLAYPAUSE, /* Play */ | 524 | { 0x18, KEY_PLAYPAUSE }, /* Play */ |
495 | 525 | ||
496 | [ 0x24 ] = KEY_ENTER, /* 11 */ | 526 | { 0x24, KEY_ENTER }, /* 11 */ |
497 | [ 0x64 ] = KEY_ESC, /* 12 */ | 527 | { 0x64, KEY_ESC }, /* 12 */ |
498 | [ 0x04 ] = KEY_M, /* Multi */ | 528 | { 0x04, KEY_M }, /* Multi */ |
499 | 529 | ||
500 | [ 0x54 ] = KEY_VIDEO, | 530 | { 0x54, KEY_VIDEO }, |
501 | [ 0x34 ] = KEY_CHANNELUP, | 531 | { 0x34, KEY_CHANNELUP }, |
502 | [ 0x74 ] = KEY_VOLUMEUP, | 532 | { 0x74, KEY_VOLUMEUP }, |
503 | [ 0x14 ] = KEY_MUTE, | 533 | { 0x14, KEY_MUTE }, |
504 | 534 | ||
505 | [ 0x4c ] = KEY_S, /* SVIDEO */ | 535 | { 0x4c, KEY_VCR }, /* SVIDEO */ |
506 | [ 0x2c ] = KEY_CHANNELDOWN, | 536 | { 0x2c, KEY_CHANNELDOWN }, |
507 | [ 0x6c ] = KEY_VOLUMEDOWN, | 537 | { 0x6c, KEY_VOLUMEDOWN }, |
508 | [ 0x0c ] = KEY_ZOOM, | 538 | { 0x0c, KEY_ZOOM }, |
509 | 539 | ||
510 | [ 0x5c ] = KEY_PAUSE, | 540 | { 0x5c, KEY_PAUSE }, |
511 | [ 0x3c ] = KEY_C, /* || (red) */ | 541 | { 0x3c, KEY_RED }, /* || (red) */ |
512 | [ 0x7c ] = KEY_RECORD, /* recording */ | 542 | { 0x7c, KEY_RECORD }, /* recording */ |
513 | [ 0x1c ] = KEY_STOP, | 543 | { 0x1c, KEY_STOP }, |
514 | 544 | ||
515 | [ 0x41 ] = KEY_REWIND, /* backward << */ | 545 | { 0x41, KEY_REWIND }, /* backward << */ |
516 | [ 0x21 ] = KEY_PLAY, | 546 | { 0x21, KEY_PLAY }, |
517 | [ 0x61 ] = KEY_FASTFORWARD, /* forward >> */ | 547 | { 0x61, KEY_FASTFORWARD }, /* forward >> */ |
518 | [ 0x01 ] = KEY_NEXT, /* skip >| */ | 548 | { 0x01, KEY_NEXT }, /* skip >| */ |
519 | }; | 549 | }; |
520 | 550 | ||
521 | EXPORT_SYMBOL_GPL(ir_codes_iodata_bctv7e); | 551 | struct ir_scancode_table ir_codes_iodata_bctv7e_table = { |
552 | .scan = ir_codes_iodata_bctv7e, | ||
553 | .size = ARRAY_SIZE(ir_codes_iodata_bctv7e), | ||
554 | }; | ||
555 | EXPORT_SYMBOL_GPL(ir_codes_iodata_bctv7e_table); | ||
522 | 556 | ||
523 | /* ---------------------------------------------------------------------- */ | 557 | /* ---------------------------------------------------------------------- */ |
524 | 558 | ||
525 | /* ADS Tech Instant TV DVB-T PCI Remote */ | 559 | /* ADS Tech Instant TV DVB-T PCI Remote */ |
526 | IR_KEYTAB_TYPE ir_codes_adstech_dvb_t_pci[IR_KEYTAB_SIZE] = { | 560 | static struct ir_scancode ir_codes_adstech_dvb_t_pci[] = { |
527 | /* Keys 0 to 9 */ | 561 | /* Keys 0 to 9 */ |
528 | [ 0x4d ] = KEY_0, | 562 | { 0x4d, KEY_0 }, |
529 | [ 0x57 ] = KEY_1, | 563 | { 0x57, KEY_1 }, |
530 | [ 0x4f ] = KEY_2, | 564 | { 0x4f, KEY_2 }, |
531 | [ 0x53 ] = KEY_3, | 565 | { 0x53, KEY_3 }, |
532 | [ 0x56 ] = KEY_4, | 566 | { 0x56, KEY_4 }, |
533 | [ 0x4e ] = KEY_5, | 567 | { 0x4e, KEY_5 }, |
534 | [ 0x5e ] = KEY_6, | 568 | { 0x5e, KEY_6 }, |
535 | [ 0x54 ] = KEY_7, | 569 | { 0x54, KEY_7 }, |
536 | [ 0x4c ] = KEY_8, | 570 | { 0x4c, KEY_8 }, |
537 | [ 0x5c ] = KEY_9, | 571 | { 0x5c, KEY_9 }, |
538 | 572 | ||
539 | [ 0x5b ] = KEY_POWER, | 573 | { 0x5b, KEY_POWER }, |
540 | [ 0x5f ] = KEY_MUTE, | 574 | { 0x5f, KEY_MUTE }, |
541 | [ 0x55 ] = KEY_GOTO, | 575 | { 0x55, KEY_GOTO }, |
542 | [ 0x5d ] = KEY_SEARCH, | 576 | { 0x5d, KEY_SEARCH }, |
543 | [ 0x17 ] = KEY_EPG, /* Guide */ | 577 | { 0x17, KEY_EPG }, /* Guide */ |
544 | [ 0x1f ] = KEY_MENU, | 578 | { 0x1f, KEY_MENU }, |
545 | [ 0x0f ] = KEY_UP, | 579 | { 0x0f, KEY_UP }, |
546 | [ 0x46 ] = KEY_DOWN, | 580 | { 0x46, KEY_DOWN }, |
547 | [ 0x16 ] = KEY_LEFT, | 581 | { 0x16, KEY_LEFT }, |
548 | [ 0x1e ] = KEY_RIGHT, | 582 | { 0x1e, KEY_RIGHT }, |
549 | [ 0x0e ] = KEY_SELECT, /* Enter */ | 583 | { 0x0e, KEY_SELECT }, /* Enter */ |
550 | [ 0x5a ] = KEY_INFO, | 584 | { 0x5a, KEY_INFO }, |
551 | [ 0x52 ] = KEY_EXIT, | 585 | { 0x52, KEY_EXIT }, |
552 | [ 0x59 ] = KEY_PREVIOUS, | 586 | { 0x59, KEY_PREVIOUS }, |
553 | [ 0x51 ] = KEY_NEXT, | 587 | { 0x51, KEY_NEXT }, |
554 | [ 0x58 ] = KEY_REWIND, | 588 | { 0x58, KEY_REWIND }, |
555 | [ 0x50 ] = KEY_FORWARD, | 589 | { 0x50, KEY_FORWARD }, |
556 | [ 0x44 ] = KEY_PLAYPAUSE, | 590 | { 0x44, KEY_PLAYPAUSE }, |
557 | [ 0x07 ] = KEY_STOP, | 591 | { 0x07, KEY_STOP }, |
558 | [ 0x1b ] = KEY_RECORD, | 592 | { 0x1b, KEY_RECORD }, |
559 | [ 0x13 ] = KEY_TUNER, /* Live */ | 593 | { 0x13, KEY_TUNER }, /* Live */ |
560 | [ 0x0a ] = KEY_A, | 594 | { 0x0a, KEY_A }, |
561 | [ 0x12 ] = KEY_B, | 595 | { 0x12, KEY_B }, |
562 | [ 0x03 ] = KEY_PROG1, /* 1 */ | 596 | { 0x03, KEY_PROG1 }, /* 1 */ |
563 | [ 0x01 ] = KEY_PROG2, /* 2 */ | 597 | { 0x01, KEY_PROG2 }, /* 2 */ |
564 | [ 0x00 ] = KEY_PROG3, /* 3 */ | 598 | { 0x00, KEY_PROG3 }, /* 3 */ |
565 | [ 0x06 ] = KEY_DVD, | 599 | { 0x06, KEY_DVD }, |
566 | [ 0x48 ] = KEY_AUX, /* Photo */ | 600 | { 0x48, KEY_AUX }, /* Photo */ |
567 | [ 0x40 ] = KEY_VIDEO, | 601 | { 0x40, KEY_VIDEO }, |
568 | [ 0x19 ] = KEY_AUDIO, /* Music */ | 602 | { 0x19, KEY_AUDIO }, /* Music */ |
569 | [ 0x0b ] = KEY_CHANNELUP, | 603 | { 0x0b, KEY_CHANNELUP }, |
570 | [ 0x08 ] = KEY_CHANNELDOWN, | 604 | { 0x08, KEY_CHANNELDOWN }, |
571 | [ 0x15 ] = KEY_VOLUMEUP, | 605 | { 0x15, KEY_VOLUMEUP }, |
572 | [ 0x1c ] = KEY_VOLUMEDOWN, | 606 | { 0x1c, KEY_VOLUMEDOWN }, |
573 | }; | 607 | }; |
574 | 608 | ||
575 | EXPORT_SYMBOL_GPL(ir_codes_adstech_dvb_t_pci); | 609 | struct ir_scancode_table ir_codes_adstech_dvb_t_pci_table = { |
610 | .scan = ir_codes_adstech_dvb_t_pci, | ||
611 | .size = ARRAY_SIZE(ir_codes_adstech_dvb_t_pci), | ||
612 | }; | ||
613 | EXPORT_SYMBOL_GPL(ir_codes_adstech_dvb_t_pci_table); | ||
576 | 614 | ||
577 | /* ---------------------------------------------------------------------- */ | 615 | /* ---------------------------------------------------------------------- */ |
578 | 616 | ||
579 | /* MSI TV@nywhere MASTER remote */ | 617 | /* MSI TV@nywhere MASTER remote */ |
580 | 618 | ||
581 | IR_KEYTAB_TYPE ir_codes_msi_tvanywhere[IR_KEYTAB_SIZE] = { | 619 | static struct ir_scancode ir_codes_msi_tvanywhere[] = { |
582 | /* Keys 0 to 9 */ | 620 | /* Keys 0 to 9 */ |
583 | [ 0x00 ] = KEY_0, | 621 | { 0x00, KEY_0 }, |
584 | [ 0x01 ] = KEY_1, | 622 | { 0x01, KEY_1 }, |
585 | [ 0x02 ] = KEY_2, | 623 | { 0x02, KEY_2 }, |
586 | [ 0x03 ] = KEY_3, | 624 | { 0x03, KEY_3 }, |
587 | [ 0x04 ] = KEY_4, | 625 | { 0x04, KEY_4 }, |
588 | [ 0x05 ] = KEY_5, | 626 | { 0x05, KEY_5 }, |
589 | [ 0x06 ] = KEY_6, | 627 | { 0x06, KEY_6 }, |
590 | [ 0x07 ] = KEY_7, | 628 | { 0x07, KEY_7 }, |
591 | [ 0x08 ] = KEY_8, | 629 | { 0x08, KEY_8 }, |
592 | [ 0x09 ] = KEY_9, | 630 | { 0x09, KEY_9 }, |
593 | 631 | ||
594 | [ 0x0c ] = KEY_MUTE, | 632 | { 0x0c, KEY_MUTE }, |
595 | [ 0x0f ] = KEY_SCREEN, /* Full Screen */ | 633 | { 0x0f, KEY_SCREEN }, /* Full Screen */ |
596 | [ 0x10 ] = KEY_F, /* Funtion */ | 634 | { 0x10, KEY_FN }, /* Funtion */ |
597 | [ 0x11 ] = KEY_T, /* Time shift */ | 635 | { 0x11, KEY_TIME }, /* Time shift */ |
598 | [ 0x12 ] = KEY_POWER, | 636 | { 0x12, KEY_POWER }, |
599 | [ 0x13 ] = KEY_MEDIA, /* MTS */ | 637 | { 0x13, KEY_MEDIA }, /* MTS */ |
600 | [ 0x14 ] = KEY_SLOW, | 638 | { 0x14, KEY_SLOW }, |
601 | [ 0x16 ] = KEY_REWIND, /* backward << */ | 639 | { 0x16, KEY_REWIND }, /* backward << */ |
602 | [ 0x17 ] = KEY_ENTER, /* Return */ | 640 | { 0x17, KEY_ENTER }, /* Return */ |
603 | [ 0x18 ] = KEY_FASTFORWARD, /* forward >> */ | 641 | { 0x18, KEY_FASTFORWARD }, /* forward >> */ |
604 | [ 0x1a ] = KEY_CHANNELUP, | 642 | { 0x1a, KEY_CHANNELUP }, |
605 | [ 0x1b ] = KEY_VOLUMEUP, | 643 | { 0x1b, KEY_VOLUMEUP }, |
606 | [ 0x1e ] = KEY_CHANNELDOWN, | 644 | { 0x1e, KEY_CHANNELDOWN }, |
607 | [ 0x1f ] = KEY_VOLUMEDOWN, | 645 | { 0x1f, KEY_VOLUMEDOWN }, |
608 | }; | 646 | }; |
609 | 647 | ||
610 | EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere); | 648 | struct ir_scancode_table ir_codes_msi_tvanywhere_table = { |
649 | .scan = ir_codes_msi_tvanywhere, | ||
650 | .size = ARRAY_SIZE(ir_codes_msi_tvanywhere), | ||
651 | }; | ||
652 | EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere_table); | ||
611 | 653 | ||
612 | /* ---------------------------------------------------------------------- */ | 654 | /* ---------------------------------------------------------------------- */ |
613 | 655 | ||
@@ -626,7 +668,7 @@ EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere); | |||
626 | 668 | ||
627 | */ | 669 | */ |
628 | 670 | ||
629 | IR_KEYTAB_TYPE ir_codes_msi_tvanywhere_plus[IR_KEYTAB_SIZE] = { | 671 | static struct ir_scancode ir_codes_msi_tvanywhere_plus[] = { |
630 | 672 | ||
631 | /* ---- Remote Button Layout ---- | 673 | /* ---- Remote Button Layout ---- |
632 | 674 | ||
@@ -648,596 +690,645 @@ IR_KEYTAB_TYPE ir_codes_msi_tvanywhere_plus[IR_KEYTAB_SIZE] = { | |||
648 | << FUNC >> RESET | 690 | << FUNC >> RESET |
649 | */ | 691 | */ |
650 | 692 | ||
651 | [0x01] = KEY_KP1, /* 1 */ | 693 | { 0x01, KEY_1 }, /* 1 */ |
652 | [0x0b] = KEY_KP2, /* 2 */ | 694 | { 0x0b, KEY_2 }, /* 2 */ |
653 | [0x1b] = KEY_KP3, /* 3 */ | 695 | { 0x1b, KEY_3 }, /* 3 */ |
654 | [0x05] = KEY_KP4, /* 4 */ | 696 | { 0x05, KEY_4 }, /* 4 */ |
655 | [0x09] = KEY_KP5, /* 5 */ | 697 | { 0x09, KEY_5 }, /* 5 */ |
656 | [0x15] = KEY_KP6, /* 6 */ | 698 | { 0x15, KEY_6 }, /* 6 */ |
657 | [0x06] = KEY_KP7, /* 7 */ | 699 | { 0x06, KEY_7 }, /* 7 */ |
658 | [0x0a] = KEY_KP8, /* 8 */ | 700 | { 0x0a, KEY_8 }, /* 8 */ |
659 | [0x12] = KEY_KP9, /* 9 */ | 701 | { 0x12, KEY_9 }, /* 9 */ |
660 | [0x02] = KEY_KP0, /* 0 */ | 702 | { 0x02, KEY_0 }, /* 0 */ |
661 | [0x10] = KEY_KPPLUS, /* + */ | 703 | { 0x10, KEY_KPPLUS }, /* + */ |
662 | [0x13] = KEY_AGAIN, /* Recall */ | 704 | { 0x13, KEY_AGAIN }, /* Recall */ |
663 | 705 | ||
664 | [0x1e] = KEY_POWER, /* Power */ | 706 | { 0x1e, KEY_POWER }, /* Power */ |
665 | [0x07] = KEY_TUNER, /* Source */ | 707 | { 0x07, KEY_TUNER }, /* Source */ |
666 | [0x1c] = KEY_SEARCH, /* Scan */ | 708 | { 0x1c, KEY_SEARCH }, /* Scan */ |
667 | [0x18] = KEY_MUTE, /* Mute */ | 709 | { 0x18, KEY_MUTE }, /* Mute */ |
668 | 710 | ||
669 | [0x03] = KEY_RADIO, /* TV/FM */ | 711 | { 0x03, KEY_RADIO }, /* TV/FM */ |
670 | /* The next four keys are duplicates that appear to send the | 712 | /* The next four keys are duplicates that appear to send the |
671 | same IR code as Ch+, Ch-, >>, and << . The raw code assigned | 713 | same IR code as Ch+, Ch-, >>, and << . The raw code assigned |
672 | to them is the actual code + 0x20 - they will never be | 714 | to them is the actual code + 0x20 - they will never be |
673 | detected as such unless some way is discovered to distinguish | 715 | detected as such unless some way is discovered to distinguish |
674 | these buttons from those that have the same code. */ | 716 | these buttons from those that have the same code. */ |
675 | [0x3f] = KEY_RIGHT, /* |> and Ch+ */ | 717 | { 0x3f, KEY_RIGHT }, /* |> and Ch+ */ |
676 | [0x37] = KEY_LEFT, /* <| and Ch- */ | 718 | { 0x37, KEY_LEFT }, /* <| and Ch- */ |
677 | [0x2c] = KEY_UP, /* ^^Up and >> */ | 719 | { 0x2c, KEY_UP }, /* ^^Up and >> */ |
678 | [0x24] = KEY_DOWN, /* vvDn and << */ | 720 | { 0x24, KEY_DOWN }, /* vvDn and << */ |
679 | 721 | ||
680 | [0x00] = KEY_RECORD, /* Record */ | 722 | { 0x00, KEY_RECORD }, /* Record */ |
681 | [0x08] = KEY_STOP, /* Stop */ | 723 | { 0x08, KEY_STOP }, /* Stop */ |
682 | [0x11] = KEY_PLAY, /* Play */ | 724 | { 0x11, KEY_PLAY }, /* Play */ |
683 | 725 | ||
684 | [0x0f] = KEY_CLOSE, /* Minimize */ | 726 | { 0x0f, KEY_CLOSE }, /* Minimize */ |
685 | [0x19] = KEY_ZOOM, /* Zoom */ | 727 | { 0x19, KEY_ZOOM }, /* Zoom */ |
686 | [0x1a] = KEY_SHUFFLE, /* Snapshot */ | 728 | { 0x1a, KEY_CAMERA }, /* Snapshot */ |
687 | [0x0d] = KEY_LANGUAGE, /* MTS */ | 729 | { 0x0d, KEY_LANGUAGE }, /* MTS */ |
688 | 730 | ||
689 | [0x14] = KEY_VOLUMEDOWN, /* Vol- */ | 731 | { 0x14, KEY_VOLUMEDOWN }, /* Vol- */ |
690 | [0x16] = KEY_VOLUMEUP, /* Vol+ */ | 732 | { 0x16, KEY_VOLUMEUP }, /* Vol+ */ |
691 | [0x17] = KEY_CHANNELDOWN, /* Ch- */ | 733 | { 0x17, KEY_CHANNELDOWN }, /* Ch- */ |
692 | [0x1f] = KEY_CHANNELUP, /* Ch+ */ | 734 | { 0x1f, KEY_CHANNELUP }, /* Ch+ */ |
735 | |||
736 | { 0x04, KEY_REWIND }, /* << */ | ||
737 | { 0x0e, KEY_MENU }, /* Function */ | ||
738 | { 0x0c, KEY_FASTFORWARD }, /* >> */ | ||
739 | { 0x1d, KEY_RESTART }, /* Reset */ | ||
740 | }; | ||
693 | 741 | ||
694 | [0x04] = KEY_REWIND, /* << */ | 742 | struct ir_scancode_table ir_codes_msi_tvanywhere_plus_table = { |
695 | [0x0e] = KEY_MENU, /* Function */ | 743 | .scan = ir_codes_msi_tvanywhere_plus, |
696 | [0x0c] = KEY_FASTFORWARD, /* >> */ | 744 | .size = ARRAY_SIZE(ir_codes_msi_tvanywhere_plus), |
697 | [0x1d] = KEY_RESTART, /* Reset */ | ||
698 | }; | 745 | }; |
699 | EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere_plus); | 746 | EXPORT_SYMBOL_GPL(ir_codes_msi_tvanywhere_plus_table); |
700 | 747 | ||
701 | /* ---------------------------------------------------------------------- */ | 748 | /* ---------------------------------------------------------------------- */ |
702 | 749 | ||
703 | /* Cinergy 1400 DVB-T */ | 750 | /* Cinergy 1400 DVB-T */ |
704 | IR_KEYTAB_TYPE ir_codes_cinergy_1400[IR_KEYTAB_SIZE] = { | 751 | static struct ir_scancode ir_codes_cinergy_1400[] = { |
705 | [ 0x01 ] = KEY_POWER, | 752 | { 0x01, KEY_POWER }, |
706 | [ 0x02 ] = KEY_1, | 753 | { 0x02, KEY_1 }, |
707 | [ 0x03 ] = KEY_2, | 754 | { 0x03, KEY_2 }, |
708 | [ 0x04 ] = KEY_3, | 755 | { 0x04, KEY_3 }, |
709 | [ 0x05 ] = KEY_4, | 756 | { 0x05, KEY_4 }, |
710 | [ 0x06 ] = KEY_5, | 757 | { 0x06, KEY_5 }, |
711 | [ 0x07 ] = KEY_6, | 758 | { 0x07, KEY_6 }, |
712 | [ 0x08 ] = KEY_7, | 759 | { 0x08, KEY_7 }, |
713 | [ 0x09 ] = KEY_8, | 760 | { 0x09, KEY_8 }, |
714 | [ 0x0a ] = KEY_9, | 761 | { 0x0a, KEY_9 }, |
715 | [ 0x0c ] = KEY_0, | 762 | { 0x0c, KEY_0 }, |
716 | 763 | ||
717 | [ 0x0b ] = KEY_VIDEO, | 764 | { 0x0b, KEY_VIDEO }, |
718 | [ 0x0d ] = KEY_REFRESH, | 765 | { 0x0d, KEY_REFRESH }, |
719 | [ 0x0e ] = KEY_SELECT, | 766 | { 0x0e, KEY_SELECT }, |
720 | [ 0x0f ] = KEY_EPG, | 767 | { 0x0f, KEY_EPG }, |
721 | [ 0x10 ] = KEY_UP, | 768 | { 0x10, KEY_UP }, |
722 | [ 0x11 ] = KEY_LEFT, | 769 | { 0x11, KEY_LEFT }, |
723 | [ 0x12 ] = KEY_OK, | 770 | { 0x12, KEY_OK }, |
724 | [ 0x13 ] = KEY_RIGHT, | 771 | { 0x13, KEY_RIGHT }, |
725 | [ 0x14 ] = KEY_DOWN, | 772 | { 0x14, KEY_DOWN }, |
726 | [ 0x15 ] = KEY_TEXT, | 773 | { 0x15, KEY_TEXT }, |
727 | [ 0x16 ] = KEY_INFO, | 774 | { 0x16, KEY_INFO }, |
728 | 775 | ||
729 | [ 0x17 ] = KEY_RED, | 776 | { 0x17, KEY_RED }, |
730 | [ 0x18 ] = KEY_GREEN, | 777 | { 0x18, KEY_GREEN }, |
731 | [ 0x19 ] = KEY_YELLOW, | 778 | { 0x19, KEY_YELLOW }, |
732 | [ 0x1a ] = KEY_BLUE, | 779 | { 0x1a, KEY_BLUE }, |
733 | 780 | ||
734 | [ 0x1b ] = KEY_CHANNELUP, | 781 | { 0x1b, KEY_CHANNELUP }, |
735 | [ 0x1c ] = KEY_VOLUMEUP, | 782 | { 0x1c, KEY_VOLUMEUP }, |
736 | [ 0x1d ] = KEY_MUTE, | 783 | { 0x1d, KEY_MUTE }, |
737 | [ 0x1e ] = KEY_VOLUMEDOWN, | 784 | { 0x1e, KEY_VOLUMEDOWN }, |
738 | [ 0x1f ] = KEY_CHANNELDOWN, | 785 | { 0x1f, KEY_CHANNELDOWN }, |
739 | 786 | ||
740 | [ 0x40 ] = KEY_PAUSE, | 787 | { 0x40, KEY_PAUSE }, |
741 | [ 0x4c ] = KEY_PLAY, | 788 | { 0x4c, KEY_PLAY }, |
742 | [ 0x58 ] = KEY_RECORD, | 789 | { 0x58, KEY_RECORD }, |
743 | [ 0x54 ] = KEY_PREVIOUS, | 790 | { 0x54, KEY_PREVIOUS }, |
744 | [ 0x48 ] = KEY_STOP, | 791 | { 0x48, KEY_STOP }, |
745 | [ 0x5c ] = KEY_NEXT, | 792 | { 0x5c, KEY_NEXT }, |
746 | }; | 793 | }; |
747 | 794 | ||
748 | EXPORT_SYMBOL_GPL(ir_codes_cinergy_1400); | 795 | struct ir_scancode_table ir_codes_cinergy_1400_table = { |
796 | .scan = ir_codes_cinergy_1400, | ||
797 | .size = ARRAY_SIZE(ir_codes_cinergy_1400), | ||
798 | }; | ||
799 | EXPORT_SYMBOL_GPL(ir_codes_cinergy_1400_table); | ||
749 | 800 | ||
750 | /* ---------------------------------------------------------------------- */ | 801 | /* ---------------------------------------------------------------------- */ |
751 | 802 | ||
752 | /* AVERTV STUDIO 303 Remote */ | 803 | /* AVERTV STUDIO 303 Remote */ |
753 | IR_KEYTAB_TYPE ir_codes_avertv_303[IR_KEYTAB_SIZE] = { | 804 | static struct ir_scancode ir_codes_avertv_303[] = { |
754 | [ 0x2a ] = KEY_1, | 805 | { 0x2a, KEY_1 }, |
755 | [ 0x32 ] = KEY_2, | 806 | { 0x32, KEY_2 }, |
756 | [ 0x3a ] = KEY_3, | 807 | { 0x3a, KEY_3 }, |
757 | [ 0x4a ] = KEY_4, | 808 | { 0x4a, KEY_4 }, |
758 | [ 0x52 ] = KEY_5, | 809 | { 0x52, KEY_5 }, |
759 | [ 0x5a ] = KEY_6, | 810 | { 0x5a, KEY_6 }, |
760 | [ 0x6a ] = KEY_7, | 811 | { 0x6a, KEY_7 }, |
761 | [ 0x72 ] = KEY_8, | 812 | { 0x72, KEY_8 }, |
762 | [ 0x7a ] = KEY_9, | 813 | { 0x7a, KEY_9 }, |
763 | [ 0x0e ] = KEY_0, | 814 | { 0x0e, KEY_0 }, |
764 | 815 | ||
765 | [ 0x02 ] = KEY_POWER, | 816 | { 0x02, KEY_POWER }, |
766 | [ 0x22 ] = KEY_VIDEO, | 817 | { 0x22, KEY_VIDEO }, |
767 | [ 0x42 ] = KEY_AUDIO, | 818 | { 0x42, KEY_AUDIO }, |
768 | [ 0x62 ] = KEY_ZOOM, | 819 | { 0x62, KEY_ZOOM }, |
769 | [ 0x0a ] = KEY_TV, | 820 | { 0x0a, KEY_TV }, |
770 | [ 0x12 ] = KEY_CD, | 821 | { 0x12, KEY_CD }, |
771 | [ 0x1a ] = KEY_TEXT, | 822 | { 0x1a, KEY_TEXT }, |
772 | 823 | ||
773 | [ 0x16 ] = KEY_SUBTITLE, | 824 | { 0x16, KEY_SUBTITLE }, |
774 | [ 0x1e ] = KEY_REWIND, | 825 | { 0x1e, KEY_REWIND }, |
775 | [ 0x06 ] = KEY_PRINT, | 826 | { 0x06, KEY_PRINT }, |
776 | 827 | ||
777 | [ 0x2e ] = KEY_SEARCH, | 828 | { 0x2e, KEY_SEARCH }, |
778 | [ 0x36 ] = KEY_SLEEP, | 829 | { 0x36, KEY_SLEEP }, |
779 | [ 0x3e ] = KEY_SHUFFLE, | 830 | { 0x3e, KEY_SHUFFLE }, |
780 | [ 0x26 ] = KEY_MUTE, | 831 | { 0x26, KEY_MUTE }, |
781 | 832 | ||
782 | [ 0x4e ] = KEY_RECORD, | 833 | { 0x4e, KEY_RECORD }, |
783 | [ 0x56 ] = KEY_PAUSE, | 834 | { 0x56, KEY_PAUSE }, |
784 | [ 0x5e ] = KEY_STOP, | 835 | { 0x5e, KEY_STOP }, |
785 | [ 0x46 ] = KEY_PLAY, | 836 | { 0x46, KEY_PLAY }, |
786 | 837 | ||
787 | [ 0x6e ] = KEY_RED, | 838 | { 0x6e, KEY_RED }, |
788 | [ 0x0b ] = KEY_GREEN, | 839 | { 0x0b, KEY_GREEN }, |
789 | [ 0x66 ] = KEY_YELLOW, | 840 | { 0x66, KEY_YELLOW }, |
790 | [ 0x03 ] = KEY_BLUE, | 841 | { 0x03, KEY_BLUE }, |
791 | 842 | ||
792 | [ 0x76 ] = KEY_LEFT, | 843 | { 0x76, KEY_LEFT }, |
793 | [ 0x7e ] = KEY_RIGHT, | 844 | { 0x7e, KEY_RIGHT }, |
794 | [ 0x13 ] = KEY_DOWN, | 845 | { 0x13, KEY_DOWN }, |
795 | [ 0x1b ] = KEY_UP, | 846 | { 0x1b, KEY_UP }, |
796 | }; | 847 | }; |
797 | 848 | ||
798 | EXPORT_SYMBOL_GPL(ir_codes_avertv_303); | 849 | struct ir_scancode_table ir_codes_avertv_303_table = { |
850 | .scan = ir_codes_avertv_303, | ||
851 | .size = ARRAY_SIZE(ir_codes_avertv_303), | ||
852 | }; | ||
853 | EXPORT_SYMBOL_GPL(ir_codes_avertv_303_table); | ||
799 | 854 | ||
800 | /* ---------------------------------------------------------------------- */ | 855 | /* ---------------------------------------------------------------------- */ |
801 | 856 | ||
802 | /* DigitalNow DNTV Live! DVB-T Pro Remote */ | 857 | /* DigitalNow DNTV Live! DVB-T Pro Remote */ |
803 | IR_KEYTAB_TYPE ir_codes_dntv_live_dvbt_pro[IR_KEYTAB_SIZE] = { | 858 | static struct ir_scancode ir_codes_dntv_live_dvbt_pro[] = { |
804 | [ 0x16 ] = KEY_POWER, | 859 | { 0x16, KEY_POWER }, |
805 | [ 0x5b ] = KEY_HOME, | 860 | { 0x5b, KEY_HOME }, |
806 | 861 | ||
807 | [ 0x55 ] = KEY_TV, /* live tv */ | 862 | { 0x55, KEY_TV }, /* live tv */ |
808 | [ 0x58 ] = KEY_TUNER, /* digital Radio */ | 863 | { 0x58, KEY_TUNER }, /* digital Radio */ |
809 | [ 0x5a ] = KEY_RADIO, /* FM radio */ | 864 | { 0x5a, KEY_RADIO }, /* FM radio */ |
810 | [ 0x59 ] = KEY_DVD, /* dvd menu */ | 865 | { 0x59, KEY_DVD }, /* dvd menu */ |
811 | [ 0x03 ] = KEY_1, | 866 | { 0x03, KEY_1 }, |
812 | [ 0x01 ] = KEY_2, | 867 | { 0x01, KEY_2 }, |
813 | [ 0x06 ] = KEY_3, | 868 | { 0x06, KEY_3 }, |
814 | [ 0x09 ] = KEY_4, | 869 | { 0x09, KEY_4 }, |
815 | [ 0x1d ] = KEY_5, | 870 | { 0x1d, KEY_5 }, |
816 | [ 0x1f ] = KEY_6, | 871 | { 0x1f, KEY_6 }, |
817 | [ 0x0d ] = KEY_7, | 872 | { 0x0d, KEY_7 }, |
818 | [ 0x19 ] = KEY_8, | 873 | { 0x19, KEY_8 }, |
819 | [ 0x1b ] = KEY_9, | 874 | { 0x1b, KEY_9 }, |
820 | [ 0x0c ] = KEY_CANCEL, | 875 | { 0x0c, KEY_CANCEL }, |
821 | [ 0x15 ] = KEY_0, | 876 | { 0x15, KEY_0 }, |
822 | [ 0x4a ] = KEY_CLEAR, | 877 | { 0x4a, KEY_CLEAR }, |
823 | [ 0x13 ] = KEY_BACK, | 878 | { 0x13, KEY_BACK }, |
824 | [ 0x00 ] = KEY_TAB, | 879 | { 0x00, KEY_TAB }, |
825 | [ 0x4b ] = KEY_UP, | 880 | { 0x4b, KEY_UP }, |
826 | [ 0x4e ] = KEY_LEFT, | 881 | { 0x4e, KEY_LEFT }, |
827 | [ 0x4f ] = KEY_OK, | 882 | { 0x4f, KEY_OK }, |
828 | [ 0x52 ] = KEY_RIGHT, | 883 | { 0x52, KEY_RIGHT }, |
829 | [ 0x51 ] = KEY_DOWN, | 884 | { 0x51, KEY_DOWN }, |
830 | [ 0x1e ] = KEY_VOLUMEUP, | 885 | { 0x1e, KEY_VOLUMEUP }, |
831 | [ 0x0a ] = KEY_VOLUMEDOWN, | 886 | { 0x0a, KEY_VOLUMEDOWN }, |
832 | [ 0x02 ] = KEY_CHANNELDOWN, | 887 | { 0x02, KEY_CHANNELDOWN }, |
833 | [ 0x05 ] = KEY_CHANNELUP, | 888 | { 0x05, KEY_CHANNELUP }, |
834 | [ 0x11 ] = KEY_RECORD, | 889 | { 0x11, KEY_RECORD }, |
835 | [ 0x14 ] = KEY_PLAY, | 890 | { 0x14, KEY_PLAY }, |
836 | [ 0x4c ] = KEY_PAUSE, | 891 | { 0x4c, KEY_PAUSE }, |
837 | [ 0x1a ] = KEY_STOP, | 892 | { 0x1a, KEY_STOP }, |
838 | [ 0x40 ] = KEY_REWIND, | 893 | { 0x40, KEY_REWIND }, |
839 | [ 0x12 ] = KEY_FASTFORWARD, | 894 | { 0x12, KEY_FASTFORWARD }, |
840 | [ 0x41 ] = KEY_PREVIOUSSONG, /* replay |< */ | 895 | { 0x41, KEY_PREVIOUSSONG }, /* replay |< */ |
841 | [ 0x42 ] = KEY_NEXTSONG, /* skip >| */ | 896 | { 0x42, KEY_NEXTSONG }, /* skip >| */ |
842 | [ 0x54 ] = KEY_CAMERA, /* capture */ | 897 | { 0x54, KEY_CAMERA }, /* capture */ |
843 | [ 0x50 ] = KEY_LANGUAGE, /* sap */ | 898 | { 0x50, KEY_LANGUAGE }, /* sap */ |
844 | [ 0x47 ] = KEY_TV2, /* pip */ | 899 | { 0x47, KEY_TV2 }, /* pip */ |
845 | [ 0x4d ] = KEY_SCREEN, | 900 | { 0x4d, KEY_SCREEN }, |
846 | [ 0x43 ] = KEY_SUBTITLE, | 901 | { 0x43, KEY_SUBTITLE }, |
847 | [ 0x10 ] = KEY_MUTE, | 902 | { 0x10, KEY_MUTE }, |
848 | [ 0x49 ] = KEY_AUDIO, /* l/r */ | 903 | { 0x49, KEY_AUDIO }, /* l/r */ |
849 | [ 0x07 ] = KEY_SLEEP, | 904 | { 0x07, KEY_SLEEP }, |
850 | [ 0x08 ] = KEY_VIDEO, /* a/v */ | 905 | { 0x08, KEY_VIDEO }, /* a/v */ |
851 | [ 0x0e ] = KEY_PREVIOUS, /* recall */ | 906 | { 0x0e, KEY_PREVIOUS }, /* recall */ |
852 | [ 0x45 ] = KEY_ZOOM, /* zoom + */ | 907 | { 0x45, KEY_ZOOM }, /* zoom + */ |
853 | [ 0x46 ] = KEY_ANGLE, /* zoom - */ | 908 | { 0x46, KEY_ANGLE }, /* zoom - */ |
854 | [ 0x56 ] = KEY_RED, | 909 | { 0x56, KEY_RED }, |
855 | [ 0x57 ] = KEY_GREEN, | 910 | { 0x57, KEY_GREEN }, |
856 | [ 0x5c ] = KEY_YELLOW, | 911 | { 0x5c, KEY_YELLOW }, |
857 | [ 0x5d ] = KEY_BLUE, | 912 | { 0x5d, KEY_BLUE }, |
858 | }; | 913 | }; |
859 | 914 | ||
860 | EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvbt_pro); | 915 | struct ir_scancode_table ir_codes_dntv_live_dvbt_pro_table = { |
861 | 916 | .scan = ir_codes_dntv_live_dvbt_pro, | |
862 | IR_KEYTAB_TYPE ir_codes_em_terratec[IR_KEYTAB_SIZE] = { | 917 | .size = ARRAY_SIZE(ir_codes_dntv_live_dvbt_pro), |
863 | [ 0x01 ] = KEY_CHANNEL, | 918 | }; |
864 | [ 0x02 ] = KEY_SELECT, | 919 | EXPORT_SYMBOL_GPL(ir_codes_dntv_live_dvbt_pro_table); |
865 | [ 0x03 ] = KEY_MUTE, | 920 | |
866 | [ 0x04 ] = KEY_POWER, | 921 | static struct ir_scancode ir_codes_em_terratec[] = { |
867 | [ 0x05 ] = KEY_1, | 922 | { 0x01, KEY_CHANNEL }, |
868 | [ 0x06 ] = KEY_2, | 923 | { 0x02, KEY_SELECT }, |
869 | [ 0x07 ] = KEY_3, | 924 | { 0x03, KEY_MUTE }, |
870 | [ 0x08 ] = KEY_CHANNELUP, | 925 | { 0x04, KEY_POWER }, |
871 | [ 0x09 ] = KEY_4, | 926 | { 0x05, KEY_1 }, |
872 | [ 0x0a ] = KEY_5, | 927 | { 0x06, KEY_2 }, |
873 | [ 0x0b ] = KEY_6, | 928 | { 0x07, KEY_3 }, |
874 | [ 0x0c ] = KEY_CHANNELDOWN, | 929 | { 0x08, KEY_CHANNELUP }, |
875 | [ 0x0d ] = KEY_7, | 930 | { 0x09, KEY_4 }, |
876 | [ 0x0e ] = KEY_8, | 931 | { 0x0a, KEY_5 }, |
877 | [ 0x0f ] = KEY_9, | 932 | { 0x0b, KEY_6 }, |
878 | [ 0x10 ] = KEY_VOLUMEUP, | 933 | { 0x0c, KEY_CHANNELDOWN }, |
879 | [ 0x11 ] = KEY_0, | 934 | { 0x0d, KEY_7 }, |
880 | [ 0x12 ] = KEY_MENU, | 935 | { 0x0e, KEY_8 }, |
881 | [ 0x13 ] = KEY_PRINT, | 936 | { 0x0f, KEY_9 }, |
882 | [ 0x14 ] = KEY_VOLUMEDOWN, | 937 | { 0x10, KEY_VOLUMEUP }, |
883 | [ 0x16 ] = KEY_PAUSE, | 938 | { 0x11, KEY_0 }, |
884 | [ 0x18 ] = KEY_RECORD, | 939 | { 0x12, KEY_MENU }, |
885 | [ 0x19 ] = KEY_REWIND, | 940 | { 0x13, KEY_PRINT }, |
886 | [ 0x1a ] = KEY_PLAY, | 941 | { 0x14, KEY_VOLUMEDOWN }, |
887 | [ 0x1b ] = KEY_FORWARD, | 942 | { 0x16, KEY_PAUSE }, |
888 | [ 0x1c ] = KEY_BACKSPACE, | 943 | { 0x18, KEY_RECORD }, |
889 | [ 0x1e ] = KEY_STOP, | 944 | { 0x19, KEY_REWIND }, |
890 | [ 0x40 ] = KEY_ZOOM, | 945 | { 0x1a, KEY_PLAY }, |
891 | }; | 946 | { 0x1b, KEY_FORWARD }, |
892 | 947 | { 0x1c, KEY_BACKSPACE }, | |
893 | EXPORT_SYMBOL_GPL(ir_codes_em_terratec); | 948 | { 0x1e, KEY_STOP }, |
894 | 949 | { 0x40, KEY_ZOOM }, | |
895 | IR_KEYTAB_TYPE ir_codes_pinnacle_grey[IR_KEYTAB_SIZE] = { | 950 | }; |
896 | [ 0x3a ] = KEY_0, | 951 | |
897 | [ 0x31 ] = KEY_1, | 952 | struct ir_scancode_table ir_codes_em_terratec_table = { |
898 | [ 0x32 ] = KEY_2, | 953 | .scan = ir_codes_em_terratec, |
899 | [ 0x33 ] = KEY_3, | 954 | .size = ARRAY_SIZE(ir_codes_em_terratec), |
900 | [ 0x34 ] = KEY_4, | 955 | }; |
901 | [ 0x35 ] = KEY_5, | 956 | EXPORT_SYMBOL_GPL(ir_codes_em_terratec_table); |
902 | [ 0x36 ] = KEY_6, | 957 | |
903 | [ 0x37 ] = KEY_7, | 958 | static struct ir_scancode ir_codes_pinnacle_grey[] = { |
904 | [ 0x38 ] = KEY_8, | 959 | { 0x3a, KEY_0 }, |
905 | [ 0x39 ] = KEY_9, | 960 | { 0x31, KEY_1 }, |
906 | 961 | { 0x32, KEY_2 }, | |
907 | [ 0x2f ] = KEY_POWER, | 962 | { 0x33, KEY_3 }, |
908 | 963 | { 0x34, KEY_4 }, | |
909 | [ 0x2e ] = KEY_P, | 964 | { 0x35, KEY_5 }, |
910 | [ 0x1f ] = KEY_L, | 965 | { 0x36, KEY_6 }, |
911 | [ 0x2b ] = KEY_I, | 966 | { 0x37, KEY_7 }, |
912 | 967 | { 0x38, KEY_8 }, | |
913 | [ 0x2d ] = KEY_SCREEN, | 968 | { 0x39, KEY_9 }, |
914 | [ 0x1e ] = KEY_ZOOM, | 969 | |
915 | [ 0x1b ] = KEY_VOLUMEUP, | 970 | { 0x2f, KEY_POWER }, |
916 | [ 0x0f ] = KEY_VOLUMEDOWN, | 971 | |
917 | [ 0x17 ] = KEY_CHANNELUP, | 972 | { 0x2e, KEY_P }, |
918 | [ 0x1c ] = KEY_CHANNELDOWN, | 973 | { 0x1f, KEY_L }, |
919 | [ 0x25 ] = KEY_INFO, | 974 | { 0x2b, KEY_I }, |
920 | 975 | ||
921 | [ 0x3c ] = KEY_MUTE, | 976 | { 0x2d, KEY_SCREEN }, |
922 | 977 | { 0x1e, KEY_ZOOM }, | |
923 | [ 0x3d ] = KEY_LEFT, | 978 | { 0x1b, KEY_VOLUMEUP }, |
924 | [ 0x3b ] = KEY_RIGHT, | 979 | { 0x0f, KEY_VOLUMEDOWN }, |
925 | 980 | { 0x17, KEY_CHANNELUP }, | |
926 | [ 0x3f ] = KEY_UP, | 981 | { 0x1c, KEY_CHANNELDOWN }, |
927 | [ 0x3e ] = KEY_DOWN, | 982 | { 0x25, KEY_INFO }, |
928 | [ 0x1a ] = KEY_ENTER, | 983 | |
929 | 984 | { 0x3c, KEY_MUTE }, | |
930 | [ 0x1d ] = KEY_MENU, | 985 | |
931 | [ 0x19 ] = KEY_AGAIN, | 986 | { 0x3d, KEY_LEFT }, |
932 | [ 0x16 ] = KEY_PREVIOUSSONG, | 987 | { 0x3b, KEY_RIGHT }, |
933 | [ 0x13 ] = KEY_NEXTSONG, | 988 | |
934 | [ 0x15 ] = KEY_PAUSE, | 989 | { 0x3f, KEY_UP }, |
935 | [ 0x0e ] = KEY_REWIND, | 990 | { 0x3e, KEY_DOWN }, |
936 | [ 0x0d ] = KEY_PLAY, | 991 | { 0x1a, KEY_ENTER }, |
937 | [ 0x0b ] = KEY_STOP, | 992 | |
938 | [ 0x07 ] = KEY_FORWARD, | 993 | { 0x1d, KEY_MENU }, |
939 | [ 0x27 ] = KEY_RECORD, | 994 | { 0x19, KEY_AGAIN }, |
940 | [ 0x26 ] = KEY_TUNER, | 995 | { 0x16, KEY_PREVIOUSSONG }, |
941 | [ 0x29 ] = KEY_TEXT, | 996 | { 0x13, KEY_NEXTSONG }, |
942 | [ 0x2a ] = KEY_MEDIA, | 997 | { 0x15, KEY_PAUSE }, |
943 | [ 0x18 ] = KEY_EPG, | 998 | { 0x0e, KEY_REWIND }, |
944 | }; | 999 | { 0x0d, KEY_PLAY }, |
945 | 1000 | { 0x0b, KEY_STOP }, | |
946 | EXPORT_SYMBOL_GPL(ir_codes_pinnacle_grey); | 1001 | { 0x07, KEY_FORWARD }, |
947 | 1002 | { 0x27, KEY_RECORD }, | |
948 | IR_KEYTAB_TYPE ir_codes_flyvideo[IR_KEYTAB_SIZE] = { | 1003 | { 0x26, KEY_TUNER }, |
949 | [ 0x0f ] = KEY_0, | 1004 | { 0x29, KEY_TEXT }, |
950 | [ 0x03 ] = KEY_1, | 1005 | { 0x2a, KEY_MEDIA }, |
951 | [ 0x04 ] = KEY_2, | 1006 | { 0x18, KEY_EPG }, |
952 | [ 0x05 ] = KEY_3, | 1007 | }; |
953 | [ 0x07 ] = KEY_4, | 1008 | |
954 | [ 0x08 ] = KEY_5, | 1009 | struct ir_scancode_table ir_codes_pinnacle_grey_table = { |
955 | [ 0x09 ] = KEY_6, | 1010 | .scan = ir_codes_pinnacle_grey, |
956 | [ 0x0b ] = KEY_7, | 1011 | .size = ARRAY_SIZE(ir_codes_pinnacle_grey), |
957 | [ 0x0c ] = KEY_8, | 1012 | }; |
958 | [ 0x0d ] = KEY_9, | 1013 | EXPORT_SYMBOL_GPL(ir_codes_pinnacle_grey_table); |
959 | 1014 | ||
960 | [ 0x0e ] = KEY_MODE, // Air/Cable | 1015 | static struct ir_scancode ir_codes_flyvideo[] = { |
961 | [ 0x11 ] = KEY_VIDEO, // Video | 1016 | { 0x0f, KEY_0 }, |
962 | [ 0x15 ] = KEY_AUDIO, // Audio | 1017 | { 0x03, KEY_1 }, |
963 | [ 0x00 ] = KEY_POWER, // Power | 1018 | { 0x04, KEY_2 }, |
964 | [ 0x18 ] = KEY_TUNER, // AV Source | 1019 | { 0x05, KEY_3 }, |
965 | [ 0x02 ] = KEY_ZOOM, // Fullscreen | 1020 | { 0x07, KEY_4 }, |
966 | [ 0x1a ] = KEY_LANGUAGE, // Stereo | 1021 | { 0x08, KEY_5 }, |
967 | [ 0x1b ] = KEY_MUTE, // Mute | 1022 | { 0x09, KEY_6 }, |
968 | [ 0x14 ] = KEY_VOLUMEUP, // Volume + | 1023 | { 0x0b, KEY_7 }, |
969 | [ 0x17 ] = KEY_VOLUMEDOWN, // Volume - | 1024 | { 0x0c, KEY_8 }, |
970 | [ 0x12 ] = KEY_CHANNELUP, // Channel + | 1025 | { 0x0d, KEY_9 }, |
971 | [ 0x13 ] = KEY_CHANNELDOWN, // Channel - | 1026 | |
972 | [ 0x06 ] = KEY_AGAIN, // Recall | 1027 | { 0x0e, KEY_MODE }, /* Air/Cable */ |
973 | [ 0x10 ] = KEY_ENTER, // Enter | 1028 | { 0x11, KEY_VIDEO }, /* Video */ |
974 | 1029 | { 0x15, KEY_AUDIO }, /* Audio */ | |
975 | [ 0x19 ] = KEY_BACK, // Rewind ( <<< ) | 1030 | { 0x00, KEY_POWER }, /* Power */ |
976 | [ 0x1f ] = KEY_FORWARD, // Forward ( >>> ) | 1031 | { 0x18, KEY_TUNER }, /* AV Source */ |
977 | [ 0x0a ] = KEY_ANGLE, // (no label, may be used as the PAUSE button) | 1032 | { 0x02, KEY_ZOOM }, /* Fullscreen */ |
978 | }; | 1033 | { 0x1a, KEY_LANGUAGE }, /* Stereo */ |
979 | 1034 | { 0x1b, KEY_MUTE }, /* Mute */ | |
980 | EXPORT_SYMBOL_GPL(ir_codes_flyvideo); | 1035 | { 0x14, KEY_VOLUMEUP }, /* Volume + */ |
981 | 1036 | { 0x17, KEY_VOLUMEDOWN },/* Volume - */ | |
982 | IR_KEYTAB_TYPE ir_codes_flydvb[IR_KEYTAB_SIZE] = { | 1037 | { 0x12, KEY_CHANNELUP },/* Channel + */ |
983 | [ 0x01 ] = KEY_ZOOM, // Full Screen | 1038 | { 0x13, KEY_CHANNELDOWN },/* Channel - */ |
984 | [ 0x00 ] = KEY_POWER, // Power | 1039 | { 0x06, KEY_AGAIN }, /* Recall */ |
985 | 1040 | { 0x10, KEY_ENTER }, /* Enter */ | |
986 | [ 0x03 ] = KEY_1, | 1041 | |
987 | [ 0x04 ] = KEY_2, | 1042 | { 0x19, KEY_BACK }, /* Rewind ( <<< ) */ |
988 | [ 0x05 ] = KEY_3, | 1043 | { 0x1f, KEY_FORWARD }, /* Forward ( >>> ) */ |
989 | [ 0x07 ] = KEY_4, | 1044 | { 0x0a, KEY_ANGLE }, /* no label, may be used as the PAUSE button */ |
990 | [ 0x08 ] = KEY_5, | 1045 | }; |
991 | [ 0x09 ] = KEY_6, | 1046 | |
992 | [ 0x0b ] = KEY_7, | 1047 | struct ir_scancode_table ir_codes_flyvideo_table = { |
993 | [ 0x0c ] = KEY_8, | 1048 | .scan = ir_codes_flyvideo, |
994 | [ 0x0d ] = KEY_9, | 1049 | .size = ARRAY_SIZE(ir_codes_flyvideo), |
995 | [ 0x06 ] = KEY_AGAIN, // Recall | 1050 | }; |
996 | [ 0x0f ] = KEY_0, | 1051 | EXPORT_SYMBOL_GPL(ir_codes_flyvideo_table); |
997 | [ 0x10 ] = KEY_MUTE, // Mute | 1052 | |
998 | [ 0x02 ] = KEY_RADIO, // TV/Radio | 1053 | static struct ir_scancode ir_codes_flydvb[] = { |
999 | [ 0x1b ] = KEY_LANGUAGE, // SAP (Second Audio Program) | 1054 | { 0x01, KEY_ZOOM }, /* Full Screen */ |
1000 | 1055 | { 0x00, KEY_POWER }, /* Power */ | |
1001 | [ 0x14 ] = KEY_VOLUMEUP, // VOL+ | 1056 | |
1002 | [ 0x17 ] = KEY_VOLUMEDOWN, // VOL- | 1057 | { 0x03, KEY_1 }, |
1003 | [ 0x12 ] = KEY_CHANNELUP, // CH+ | 1058 | { 0x04, KEY_2 }, |
1004 | [ 0x13 ] = KEY_CHANNELDOWN, // CH- | 1059 | { 0x05, KEY_3 }, |
1005 | [ 0x1d ] = KEY_ENTER, // Enter | 1060 | { 0x07, KEY_4 }, |
1006 | 1061 | { 0x08, KEY_5 }, | |
1007 | [ 0x1a ] = KEY_MODE, // PIP | 1062 | { 0x09, KEY_6 }, |
1008 | [ 0x18 ] = KEY_TUNER, // Source | 1063 | { 0x0b, KEY_7 }, |
1009 | 1064 | { 0x0c, KEY_8 }, | |
1010 | [ 0x1e ] = KEY_RECORD, // Record/Pause | 1065 | { 0x0d, KEY_9 }, |
1011 | [ 0x15 ] = KEY_ANGLE, // Swap (no label on key) | 1066 | { 0x06, KEY_AGAIN }, /* Recall */ |
1012 | [ 0x1c ] = KEY_PAUSE, // Timeshift/Pause | 1067 | { 0x0f, KEY_0 }, |
1013 | [ 0x19 ] = KEY_BACK, // Rewind << | 1068 | { 0x10, KEY_MUTE }, /* Mute */ |
1014 | [ 0x0a ] = KEY_PLAYPAUSE, // Play/Pause | 1069 | { 0x02, KEY_RADIO }, /* TV/Radio */ |
1015 | [ 0x1f ] = KEY_FORWARD, // Forward >> | 1070 | { 0x1b, KEY_LANGUAGE }, /* SAP (Second Audio Program) */ |
1016 | [ 0x16 ] = KEY_PREVIOUS, // Back |<< | 1071 | |
1017 | [ 0x11 ] = KEY_STOP, // Stop | 1072 | { 0x14, KEY_VOLUMEUP }, /* VOL+ */ |
1018 | [ 0x0e ] = KEY_NEXT, // End >>| | 1073 | { 0x17, KEY_VOLUMEDOWN }, /* VOL- */ |
1019 | }; | 1074 | { 0x12, KEY_CHANNELUP }, /* CH+ */ |
1020 | 1075 | { 0x13, KEY_CHANNELDOWN }, /* CH- */ | |
1021 | EXPORT_SYMBOL_GPL(ir_codes_flydvb); | 1076 | { 0x1d, KEY_ENTER }, /* Enter */ |
1022 | 1077 | ||
1023 | IR_KEYTAB_TYPE ir_codes_cinergy[IR_KEYTAB_SIZE] = { | 1078 | { 0x1a, KEY_MODE }, /* PIP */ |
1024 | [ 0x00 ] = KEY_0, | 1079 | { 0x18, KEY_TUNER }, /* Source */ |
1025 | [ 0x01 ] = KEY_1, | 1080 | |
1026 | [ 0x02 ] = KEY_2, | 1081 | { 0x1e, KEY_RECORD }, /* Record/Pause */ |
1027 | [ 0x03 ] = KEY_3, | 1082 | { 0x15, KEY_ANGLE }, /* Swap (no label on key) */ |
1028 | [ 0x04 ] = KEY_4, | 1083 | { 0x1c, KEY_PAUSE }, /* Timeshift/Pause */ |
1029 | [ 0x05 ] = KEY_5, | 1084 | { 0x19, KEY_BACK }, /* Rewind << */ |
1030 | [ 0x06 ] = KEY_6, | 1085 | { 0x0a, KEY_PLAYPAUSE }, /* Play/Pause */ |
1031 | [ 0x07 ] = KEY_7, | 1086 | { 0x1f, KEY_FORWARD }, /* Forward >> */ |
1032 | [ 0x08 ] = KEY_8, | 1087 | { 0x16, KEY_PREVIOUS }, /* Back |<< */ |
1033 | [ 0x09 ] = KEY_9, | 1088 | { 0x11, KEY_STOP }, /* Stop */ |
1034 | 1089 | { 0x0e, KEY_NEXT }, /* End >>| */ | |
1035 | [ 0x0a ] = KEY_POWER, | 1090 | }; |
1036 | [ 0x0b ] = KEY_PROG1, // app | 1091 | |
1037 | [ 0x0c ] = KEY_ZOOM, // zoom/fullscreen | 1092 | struct ir_scancode_table ir_codes_flydvb_table = { |
1038 | [ 0x0d ] = KEY_CHANNELUP, // channel | 1093 | .scan = ir_codes_flydvb, |
1039 | [ 0x0e ] = KEY_CHANNELDOWN, // channel- | 1094 | .size = ARRAY_SIZE(ir_codes_flydvb), |
1040 | [ 0x0f ] = KEY_VOLUMEUP, | 1095 | }; |
1041 | [ 0x10 ] = KEY_VOLUMEDOWN, | 1096 | EXPORT_SYMBOL_GPL(ir_codes_flydvb_table); |
1042 | [ 0x11 ] = KEY_TUNER, // AV | 1097 | |
1043 | [ 0x12 ] = KEY_NUMLOCK, // -/-- | 1098 | static struct ir_scancode ir_codes_cinergy[] = { |
1044 | [ 0x13 ] = KEY_AUDIO, // audio | 1099 | { 0x00, KEY_0 }, |
1045 | [ 0x14 ] = KEY_MUTE, | 1100 | { 0x01, KEY_1 }, |
1046 | [ 0x15 ] = KEY_UP, | 1101 | { 0x02, KEY_2 }, |
1047 | [ 0x16 ] = KEY_DOWN, | 1102 | { 0x03, KEY_3 }, |
1048 | [ 0x17 ] = KEY_LEFT, | 1103 | { 0x04, KEY_4 }, |
1049 | [ 0x18 ] = KEY_RIGHT, | 1104 | { 0x05, KEY_5 }, |
1050 | [ 0x19 ] = BTN_LEFT, | 1105 | { 0x06, KEY_6 }, |
1051 | [ 0x1a ] = BTN_RIGHT, | 1106 | { 0x07, KEY_7 }, |
1052 | [ 0x1b ] = KEY_WWW, // text | 1107 | { 0x08, KEY_8 }, |
1053 | [ 0x1c ] = KEY_REWIND, | 1108 | { 0x09, KEY_9 }, |
1054 | [ 0x1d ] = KEY_FORWARD, | 1109 | |
1055 | [ 0x1e ] = KEY_RECORD, | 1110 | { 0x0a, KEY_POWER }, |
1056 | [ 0x1f ] = KEY_PLAY, | 1111 | { 0x0b, KEY_PROG1 }, /* app */ |
1057 | [ 0x20 ] = KEY_PREVIOUSSONG, | 1112 | { 0x0c, KEY_ZOOM }, /* zoom/fullscreen */ |
1058 | [ 0x21 ] = KEY_NEXTSONG, | 1113 | { 0x0d, KEY_CHANNELUP }, /* channel */ |
1059 | [ 0x22 ] = KEY_PAUSE, | 1114 | { 0x0e, KEY_CHANNELDOWN }, /* channel- */ |
1060 | [ 0x23 ] = KEY_STOP, | 1115 | { 0x0f, KEY_VOLUMEUP }, |
1061 | }; | 1116 | { 0x10, KEY_VOLUMEDOWN }, |
1062 | 1117 | { 0x11, KEY_TUNER }, /* AV */ | |
1063 | EXPORT_SYMBOL_GPL(ir_codes_cinergy); | 1118 | { 0x12, KEY_NUMLOCK }, /* -/-- */ |
1119 | { 0x13, KEY_AUDIO }, /* audio */ | ||
1120 | { 0x14, KEY_MUTE }, | ||
1121 | { 0x15, KEY_UP }, | ||
1122 | { 0x16, KEY_DOWN }, | ||
1123 | { 0x17, KEY_LEFT }, | ||
1124 | { 0x18, KEY_RIGHT }, | ||
1125 | { 0x19, BTN_LEFT, }, | ||
1126 | { 0x1a, BTN_RIGHT, }, | ||
1127 | { 0x1b, KEY_WWW }, /* text */ | ||
1128 | { 0x1c, KEY_REWIND }, | ||
1129 | { 0x1d, KEY_FORWARD }, | ||
1130 | { 0x1e, KEY_RECORD }, | ||
1131 | { 0x1f, KEY_PLAY }, | ||
1132 | { 0x20, KEY_PREVIOUSSONG }, | ||
1133 | { 0x21, KEY_NEXTSONG }, | ||
1134 | { 0x22, KEY_PAUSE }, | ||
1135 | { 0x23, KEY_STOP }, | ||
1136 | }; | ||
1137 | |||
1138 | struct ir_scancode_table ir_codes_cinergy_table = { | ||
1139 | .scan = ir_codes_cinergy, | ||
1140 | .size = ARRAY_SIZE(ir_codes_cinergy), | ||
1141 | }; | ||
1142 | EXPORT_SYMBOL_GPL(ir_codes_cinergy_table); | ||
1064 | 1143 | ||
1065 | /* Alfons Geser <a.geser@cox.net> | 1144 | /* Alfons Geser <a.geser@cox.net> |
1066 | * updates from Job D. R. Borges <jobdrb@ig.com.br> */ | 1145 | * updates from Job D. R. Borges <jobdrb@ig.com.br> */ |
1067 | IR_KEYTAB_TYPE ir_codes_eztv[IR_KEYTAB_SIZE] = { | 1146 | static struct ir_scancode ir_codes_eztv[] = { |
1068 | [ 0x12 ] = KEY_POWER, | 1147 | { 0x12, KEY_POWER }, |
1069 | [ 0x01 ] = KEY_TV, // DVR | 1148 | { 0x01, KEY_TV }, /* DVR */ |
1070 | [ 0x15 ] = KEY_DVD, // DVD | 1149 | { 0x15, KEY_DVD }, /* DVD */ |
1071 | [ 0x17 ] = KEY_AUDIO, // music | 1150 | { 0x17, KEY_AUDIO }, /* music */ |
1072 | // DVR mode / DVD mode / music mode | 1151 | /* DVR mode / DVD mode / music mode */ |
1073 | 1152 | ||
1074 | [ 0x1b ] = KEY_MUTE, // mute | 1153 | { 0x1b, KEY_MUTE }, /* mute */ |
1075 | [ 0x02 ] = KEY_LANGUAGE, // MTS/SAP / audio / autoseek | 1154 | { 0x02, KEY_LANGUAGE }, /* MTS/SAP / audio / autoseek */ |
1076 | [ 0x1e ] = KEY_SUBTITLE, // closed captioning / subtitle / seek | 1155 | { 0x1e, KEY_SUBTITLE }, /* closed captioning / subtitle / seek */ |
1077 | [ 0x16 ] = KEY_ZOOM, // full screen | 1156 | { 0x16, KEY_ZOOM }, /* full screen */ |
1078 | [ 0x1c ] = KEY_VIDEO, // video source / eject / delall | 1157 | { 0x1c, KEY_VIDEO }, /* video source / eject / delall */ |
1079 | [ 0x1d ] = KEY_RESTART, // playback / angle / del | 1158 | { 0x1d, KEY_RESTART }, /* playback / angle / del */ |
1080 | [ 0x2f ] = KEY_SEARCH, // scan / menu / playlist | 1159 | { 0x2f, KEY_SEARCH }, /* scan / menu / playlist */ |
1081 | [ 0x30 ] = KEY_CHANNEL, // CH surfing / bookmark / memo | 1160 | { 0x30, KEY_CHANNEL }, /* CH surfing / bookmark / memo */ |
1082 | 1161 | ||
1083 | [ 0x31 ] = KEY_HELP, // help | 1162 | { 0x31, KEY_HELP }, /* help */ |
1084 | [ 0x32 ] = KEY_MODE, // num/memo | 1163 | { 0x32, KEY_MODE }, /* num/memo */ |
1085 | [ 0x33 ] = KEY_ESC, // cancel | 1164 | { 0x33, KEY_ESC }, /* cancel */ |
1086 | 1165 | ||
1087 | [ 0x0c ] = KEY_UP, // up | 1166 | { 0x0c, KEY_UP }, /* up */ |
1088 | [ 0x10 ] = KEY_DOWN, // down | 1167 | { 0x10, KEY_DOWN }, /* down */ |
1089 | [ 0x08 ] = KEY_LEFT, // left | 1168 | { 0x08, KEY_LEFT }, /* left */ |
1090 | [ 0x04 ] = KEY_RIGHT, // right | 1169 | { 0x04, KEY_RIGHT }, /* right */ |
1091 | [ 0x03 ] = KEY_SELECT, // select | 1170 | { 0x03, KEY_SELECT }, /* select */ |
1092 | 1171 | ||
1093 | [ 0x1f ] = KEY_REWIND, // rewind | 1172 | { 0x1f, KEY_REWIND }, /* rewind */ |
1094 | [ 0x20 ] = KEY_PLAYPAUSE, // play/pause | 1173 | { 0x20, KEY_PLAYPAUSE },/* play/pause */ |
1095 | [ 0x29 ] = KEY_FORWARD, // forward | 1174 | { 0x29, KEY_FORWARD }, /* forward */ |
1096 | [ 0x14 ] = KEY_AGAIN, // repeat | 1175 | { 0x14, KEY_AGAIN }, /* repeat */ |
1097 | [ 0x2b ] = KEY_RECORD, // recording | 1176 | { 0x2b, KEY_RECORD }, /* recording */ |
1098 | [ 0x2c ] = KEY_STOP, // stop | 1177 | { 0x2c, KEY_STOP }, /* stop */ |
1099 | [ 0x2d ] = KEY_PLAY, // play | 1178 | { 0x2d, KEY_PLAY }, /* play */ |
1100 | [ 0x2e ] = KEY_SHUFFLE, // snapshot / shuffle | 1179 | { 0x2e, KEY_CAMERA }, /* snapshot / shuffle */ |
1101 | 1180 | ||
1102 | [ 0x00 ] = KEY_0, | 1181 | { 0x00, KEY_0 }, |
1103 | [ 0x05 ] = KEY_1, | 1182 | { 0x05, KEY_1 }, |
1104 | [ 0x06 ] = KEY_2, | 1183 | { 0x06, KEY_2 }, |
1105 | [ 0x07 ] = KEY_3, | 1184 | { 0x07, KEY_3 }, |
1106 | [ 0x09 ] = KEY_4, | 1185 | { 0x09, KEY_4 }, |
1107 | [ 0x0a ] = KEY_5, | 1186 | { 0x0a, KEY_5 }, |
1108 | [ 0x0b ] = KEY_6, | 1187 | { 0x0b, KEY_6 }, |
1109 | [ 0x0d ] = KEY_7, | 1188 | { 0x0d, KEY_7 }, |
1110 | [ 0x0e ] = KEY_8, | 1189 | { 0x0e, KEY_8 }, |
1111 | [ 0x0f ] = KEY_9, | 1190 | { 0x0f, KEY_9 }, |
1112 | 1191 | ||
1113 | [ 0x2a ] = KEY_VOLUMEUP, | 1192 | { 0x2a, KEY_VOLUMEUP }, |
1114 | [ 0x11 ] = KEY_VOLUMEDOWN, | 1193 | { 0x11, KEY_VOLUMEDOWN }, |
1115 | [ 0x18 ] = KEY_CHANNELUP, // CH.tracking up | 1194 | { 0x18, KEY_CHANNELUP },/* CH.tracking up */ |
1116 | [ 0x19 ] = KEY_CHANNELDOWN, // CH.tracking down | 1195 | { 0x19, KEY_CHANNELDOWN },/* CH.tracking down */ |
1117 | 1196 | ||
1118 | [ 0x13 ] = KEY_ENTER, // enter | 1197 | { 0x13, KEY_ENTER }, /* enter */ |
1119 | [ 0x21 ] = KEY_DOT, // . (decimal dot) | 1198 | { 0x21, KEY_DOT }, /* . (decimal dot) */ |
1120 | }; | 1199 | }; |
1121 | 1200 | ||
1122 | EXPORT_SYMBOL_GPL(ir_codes_eztv); | 1201 | struct ir_scancode_table ir_codes_eztv_table = { |
1202 | .scan = ir_codes_eztv, | ||
1203 | .size = ARRAY_SIZE(ir_codes_eztv), | ||
1204 | }; | ||
1205 | EXPORT_SYMBOL_GPL(ir_codes_eztv_table); | ||
1123 | 1206 | ||
1124 | /* Alex Hermann <gaaf@gmx.net> */ | 1207 | /* Alex Hermann <gaaf@gmx.net> */ |
1125 | IR_KEYTAB_TYPE ir_codes_avermedia[IR_KEYTAB_SIZE] = { | 1208 | static struct ir_scancode ir_codes_avermedia[] = { |
1126 | [ 0x28 ] = KEY_1, | 1209 | { 0x28, KEY_1 }, |
1127 | [ 0x18 ] = KEY_2, | 1210 | { 0x18, KEY_2 }, |
1128 | [ 0x38 ] = KEY_3, | 1211 | { 0x38, KEY_3 }, |
1129 | [ 0x24 ] = KEY_4, | 1212 | { 0x24, KEY_4 }, |
1130 | [ 0x14 ] = KEY_5, | 1213 | { 0x14, KEY_5 }, |
1131 | [ 0x34 ] = KEY_6, | 1214 | { 0x34, KEY_6 }, |
1132 | [ 0x2c ] = KEY_7, | 1215 | { 0x2c, KEY_7 }, |
1133 | [ 0x1c ] = KEY_8, | 1216 | { 0x1c, KEY_8 }, |
1134 | [ 0x3c ] = KEY_9, | 1217 | { 0x3c, KEY_9 }, |
1135 | [ 0x22 ] = KEY_0, | 1218 | { 0x22, KEY_0 }, |
1136 | 1219 | ||
1137 | [ 0x20 ] = KEY_TV, /* TV/FM */ | 1220 | { 0x20, KEY_TV }, /* TV/FM */ |
1138 | [ 0x10 ] = KEY_CD, /* CD */ | 1221 | { 0x10, KEY_CD }, /* CD */ |
1139 | [ 0x30 ] = KEY_TEXT, /* TELETEXT */ | 1222 | { 0x30, KEY_TEXT }, /* TELETEXT */ |
1140 | [ 0x00 ] = KEY_POWER, /* POWER */ | 1223 | { 0x00, KEY_POWER }, /* POWER */ |
1141 | 1224 | ||
1142 | [ 0x08 ] = KEY_VIDEO, /* VIDEO */ | 1225 | { 0x08, KEY_VIDEO }, /* VIDEO */ |
1143 | [ 0x04 ] = KEY_AUDIO, /* AUDIO */ | 1226 | { 0x04, KEY_AUDIO }, /* AUDIO */ |
1144 | [ 0x0c ] = KEY_ZOOM, /* FULL SCREEN */ | 1227 | { 0x0c, KEY_ZOOM }, /* FULL SCREEN */ |
1145 | 1228 | ||
1146 | [ 0x12 ] = KEY_SUBTITLE, /* DISPLAY */ | 1229 | { 0x12, KEY_SUBTITLE }, /* DISPLAY */ |
1147 | [ 0x32 ] = KEY_REWIND, /* LOOP */ | 1230 | { 0x32, KEY_REWIND }, /* LOOP */ |
1148 | [ 0x02 ] = KEY_PRINT, /* PREVIEW */ | 1231 | { 0x02, KEY_PRINT }, /* PREVIEW */ |
1149 | 1232 | ||
1150 | [ 0x2a ] = KEY_SEARCH, /* AUTOSCAN */ | 1233 | { 0x2a, KEY_SEARCH }, /* AUTOSCAN */ |
1151 | [ 0x1a ] = KEY_SLEEP, /* FREEZE */ | 1234 | { 0x1a, KEY_SLEEP }, /* FREEZE */ |
1152 | [ 0x3a ] = KEY_SHUFFLE, /* SNAPSHOT */ | 1235 | { 0x3a, KEY_CAMERA }, /* SNAPSHOT */ |
1153 | [ 0x0a ] = KEY_MUTE, /* MUTE */ | 1236 | { 0x0a, KEY_MUTE }, /* MUTE */ |
1154 | 1237 | ||
1155 | [ 0x26 ] = KEY_RECORD, /* RECORD */ | 1238 | { 0x26, KEY_RECORD }, /* RECORD */ |
1156 | [ 0x16 ] = KEY_PAUSE, /* PAUSE */ | 1239 | { 0x16, KEY_PAUSE }, /* PAUSE */ |
1157 | [ 0x36 ] = KEY_STOP, /* STOP */ | 1240 | { 0x36, KEY_STOP }, /* STOP */ |
1158 | [ 0x06 ] = KEY_PLAY, /* PLAY */ | 1241 | { 0x06, KEY_PLAY }, /* PLAY */ |
1159 | 1242 | ||
1160 | [ 0x2e ] = KEY_RED, /* RED */ | 1243 | { 0x2e, KEY_RED }, /* RED */ |
1161 | [ 0x21 ] = KEY_GREEN, /* GREEN */ | 1244 | { 0x21, KEY_GREEN }, /* GREEN */ |
1162 | [ 0x0e ] = KEY_YELLOW, /* YELLOW */ | 1245 | { 0x0e, KEY_YELLOW }, /* YELLOW */ |
1163 | [ 0x01 ] = KEY_BLUE, /* BLUE */ | 1246 | { 0x01, KEY_BLUE }, /* BLUE */ |
1164 | 1247 | ||
1165 | [ 0x1e ] = KEY_VOLUMEDOWN, /* VOLUME- */ | 1248 | { 0x1e, KEY_VOLUMEDOWN }, /* VOLUME- */ |
1166 | [ 0x3e ] = KEY_VOLUMEUP, /* VOLUME+ */ | 1249 | { 0x3e, KEY_VOLUMEUP }, /* VOLUME+ */ |
1167 | [ 0x11 ] = KEY_CHANNELDOWN, /* CHANNEL/PAGE- */ | 1250 | { 0x11, KEY_CHANNELDOWN }, /* CHANNEL/PAGE- */ |
1168 | [ 0x31 ] = KEY_CHANNELUP /* CHANNEL/PAGE+ */ | 1251 | { 0x31, KEY_CHANNELUP } /* CHANNEL/PAGE+ */ |
1169 | }; | 1252 | }; |
1170 | 1253 | ||
1171 | EXPORT_SYMBOL_GPL(ir_codes_avermedia); | 1254 | struct ir_scancode_table ir_codes_avermedia_table = { |
1172 | 1255 | .scan = ir_codes_avermedia, | |
1173 | IR_KEYTAB_TYPE ir_codes_videomate_tv_pvr[IR_KEYTAB_SIZE] = { | 1256 | .size = ARRAY_SIZE(ir_codes_avermedia), |
1174 | [ 0x14 ] = KEY_MUTE, | 1257 | }; |
1175 | [ 0x24 ] = KEY_ZOOM, | 1258 | EXPORT_SYMBOL_GPL(ir_codes_avermedia_table); |
1176 | 1259 | ||
1177 | [ 0x01 ] = KEY_DVD, | 1260 | static struct ir_scancode ir_codes_videomate_tv_pvr[] = { |
1178 | [ 0x23 ] = KEY_RADIO, | 1261 | { 0x14, KEY_MUTE }, |
1179 | [ 0x00 ] = KEY_TV, | 1262 | { 0x24, KEY_ZOOM }, |
1180 | 1263 | ||
1181 | [ 0x0a ] = KEY_REWIND, | 1264 | { 0x01, KEY_DVD }, |
1182 | [ 0x08 ] = KEY_PLAYPAUSE, | 1265 | { 0x23, KEY_RADIO }, |
1183 | [ 0x0f ] = KEY_FORWARD, | 1266 | { 0x00, KEY_TV }, |
1184 | 1267 | ||
1185 | [ 0x02 ] = KEY_PREVIOUS, | 1268 | { 0x0a, KEY_REWIND }, |
1186 | [ 0x07 ] = KEY_STOP, | 1269 | { 0x08, KEY_PLAYPAUSE }, |
1187 | [ 0x06 ] = KEY_NEXT, | 1270 | { 0x0f, KEY_FORWARD }, |
1188 | 1271 | ||
1189 | [ 0x0c ] = KEY_UP, | 1272 | { 0x02, KEY_PREVIOUS }, |
1190 | [ 0x0e ] = KEY_DOWN, | 1273 | { 0x07, KEY_STOP }, |
1191 | [ 0x0b ] = KEY_LEFT, | 1274 | { 0x06, KEY_NEXT }, |
1192 | [ 0x0d ] = KEY_RIGHT, | 1275 | |
1193 | [ 0x11 ] = KEY_OK, | 1276 | { 0x0c, KEY_UP }, |
1194 | 1277 | { 0x0e, KEY_DOWN }, | |
1195 | [ 0x03 ] = KEY_MENU, | 1278 | { 0x0b, KEY_LEFT }, |
1196 | [ 0x09 ] = KEY_SETUP, | 1279 | { 0x0d, KEY_RIGHT }, |
1197 | [ 0x05 ] = KEY_VIDEO, | 1280 | { 0x11, KEY_OK }, |
1198 | [ 0x22 ] = KEY_CHANNEL, | 1281 | |
1199 | 1282 | { 0x03, KEY_MENU }, | |
1200 | [ 0x12 ] = KEY_VOLUMEUP, | 1283 | { 0x09, KEY_SETUP }, |
1201 | [ 0x15 ] = KEY_VOLUMEDOWN, | 1284 | { 0x05, KEY_VIDEO }, |
1202 | [ 0x10 ] = KEY_CHANNELUP, | 1285 | { 0x22, KEY_CHANNEL }, |
1203 | [ 0x13 ] = KEY_CHANNELDOWN, | 1286 | |
1204 | 1287 | { 0x12, KEY_VOLUMEUP }, | |
1205 | [ 0x04 ] = KEY_RECORD, | 1288 | { 0x15, KEY_VOLUMEDOWN }, |
1206 | 1289 | { 0x10, KEY_CHANNELUP }, | |
1207 | [ 0x16 ] = KEY_1, | 1290 | { 0x13, KEY_CHANNELDOWN }, |
1208 | [ 0x17 ] = KEY_2, | 1291 | |
1209 | [ 0x18 ] = KEY_3, | 1292 | { 0x04, KEY_RECORD }, |
1210 | [ 0x19 ] = KEY_4, | 1293 | |
1211 | [ 0x1a ] = KEY_5, | 1294 | { 0x16, KEY_1 }, |
1212 | [ 0x1b ] = KEY_6, | 1295 | { 0x17, KEY_2 }, |
1213 | [ 0x1c ] = KEY_7, | 1296 | { 0x18, KEY_3 }, |
1214 | [ 0x1d ] = KEY_8, | 1297 | { 0x19, KEY_4 }, |
1215 | [ 0x1e ] = KEY_9, | 1298 | { 0x1a, KEY_5 }, |
1216 | [ 0x1f ] = KEY_0, | 1299 | { 0x1b, KEY_6 }, |
1217 | 1300 | { 0x1c, KEY_7 }, | |
1218 | [ 0x20 ] = KEY_LANGUAGE, | 1301 | { 0x1d, KEY_8 }, |
1219 | [ 0x21 ] = KEY_SLEEP, | 1302 | { 0x1e, KEY_9 }, |
1220 | }; | 1303 | { 0x1f, KEY_0 }, |
1221 | 1304 | ||
1222 | EXPORT_SYMBOL_GPL(ir_codes_videomate_tv_pvr); | 1305 | { 0x20, KEY_LANGUAGE }, |
1306 | { 0x21, KEY_SLEEP }, | ||
1307 | }; | ||
1308 | |||
1309 | struct ir_scancode_table ir_codes_videomate_tv_pvr_table = { | ||
1310 | .scan = ir_codes_videomate_tv_pvr, | ||
1311 | .size = ARRAY_SIZE(ir_codes_videomate_tv_pvr), | ||
1312 | }; | ||
1313 | EXPORT_SYMBOL_GPL(ir_codes_videomate_tv_pvr_table); | ||
1223 | 1314 | ||
1224 | /* Michael Tokarev <mjt@tls.msk.ru> | 1315 | /* Michael Tokarev <mjt@tls.msk.ru> |
1225 | http://www.corpit.ru/mjt/beholdTV/remote_control.jpg | 1316 | http://www.corpit.ru/mjt/beholdTV/remote_control.jpg |
1226 | keytable is used by MANLI MTV00[ 0x0c ] and BeholdTV 40[13] at | 1317 | keytable is used by MANLI MTV00[0x0c] and BeholdTV 40[13] at |
1227 | least, and probably other cards too. | 1318 | least, and probably other cards too. |
1228 | The "ascii-art picture" below (in comments, first row | 1319 | The "ascii-art picture" below (in comments, first row |
1229 | is the keycode in hex, and subsequent row(s) shows | 1320 | is the keycode in hex, and subsequent row(s) shows |
1230 | the button labels (several variants when appropriate) | 1321 | the button labels (several variants when appropriate) |
1231 | helps to descide which keycodes to assign to the buttons. | 1322 | helps to descide which keycodes to assign to the buttons. |
1232 | */ | 1323 | */ |
1233 | IR_KEYTAB_TYPE ir_codes_manli[IR_KEYTAB_SIZE] = { | 1324 | static struct ir_scancode ir_codes_manli[] = { |
1234 | 1325 | ||
1235 | /* 0x1c 0x12 * | 1326 | /* 0x1c 0x12 * |
1236 | * FUNCTION POWER * | 1327 | * FUNCTION POWER * |
1237 | * FM (|) * | 1328 | * FM (|) * |
1238 | * */ | 1329 | * */ |
1239 | [ 0x1c ] = KEY_RADIO, /*XXX*/ | 1330 | { 0x1c, KEY_RADIO }, /*XXX*/ |
1240 | [ 0x12 ] = KEY_POWER, | 1331 | { 0x12, KEY_POWER }, |
1241 | 1332 | ||
1242 | /* 0x01 0x02 0x03 * | 1333 | /* 0x01 0x02 0x03 * |
1243 | * 1 2 3 * | 1334 | * 1 2 3 * |
@@ -1248,29 +1339,29 @@ IR_KEYTAB_TYPE ir_codes_manli[IR_KEYTAB_SIZE] = { | |||
1248 | * 0x07 0x08 0x09 * | 1339 | * 0x07 0x08 0x09 * |
1249 | * 7 8 9 * | 1340 | * 7 8 9 * |
1250 | * */ | 1341 | * */ |
1251 | [ 0x01 ] = KEY_1, | 1342 | { 0x01, KEY_1 }, |
1252 | [ 0x02 ] = KEY_2, | 1343 | { 0x02, KEY_2 }, |
1253 | [ 0x03 ] = KEY_3, | 1344 | { 0x03, KEY_3 }, |
1254 | [ 0x04 ] = KEY_4, | 1345 | { 0x04, KEY_4 }, |
1255 | [ 0x05 ] = KEY_5, | 1346 | { 0x05, KEY_5 }, |
1256 | [ 0x06 ] = KEY_6, | 1347 | { 0x06, KEY_6 }, |
1257 | [ 0x07 ] = KEY_7, | 1348 | { 0x07, KEY_7 }, |
1258 | [ 0x08 ] = KEY_8, | 1349 | { 0x08, KEY_8 }, |
1259 | [ 0x09 ] = KEY_9, | 1350 | { 0x09, KEY_9 }, |
1260 | 1351 | ||
1261 | /* 0x0a 0x00 0x17 * | 1352 | /* 0x0a 0x00 0x17 * |
1262 | * RECALL 0 +100 * | 1353 | * RECALL 0 +100 * |
1263 | * PLUS * | 1354 | * PLUS * |
1264 | * */ | 1355 | * */ |
1265 | [ 0x0a ] = KEY_AGAIN, /*XXX KEY_REWIND? */ | 1356 | { 0x0a, KEY_AGAIN }, /*XXX KEY_REWIND? */ |
1266 | [ 0x00 ] = KEY_0, | 1357 | { 0x00, KEY_0 }, |
1267 | [ 0x17 ] = KEY_DIGITS, /*XXX*/ | 1358 | { 0x17, KEY_DIGITS }, /*XXX*/ |
1268 | 1359 | ||
1269 | /* 0x14 0x10 * | 1360 | /* 0x14 0x10 * |
1270 | * MENU INFO * | 1361 | * MENU INFO * |
1271 | * OSD */ | 1362 | * OSD */ |
1272 | [ 0x14 ] = KEY_MENU, | 1363 | { 0x14, KEY_MENU }, |
1273 | [ 0x10 ] = KEY_INFO, | 1364 | { 0x10, KEY_INFO }, |
1274 | 1365 | ||
1275 | /* 0x0b * | 1366 | /* 0x0b * |
1276 | * Up * | 1367 | * Up * |
@@ -1281,18 +1372,18 @@ IR_KEYTAB_TYPE ir_codes_manli[IR_KEYTAB_SIZE] = { | |||
1281 | * 0x015 * | 1372 | * 0x015 * |
1282 | * Down * | 1373 | * Down * |
1283 | * */ | 1374 | * */ |
1284 | [ 0x0b ] = KEY_UP, /*XXX KEY_SCROLLUP? */ | 1375 | { 0x0b, KEY_UP }, |
1285 | [ 0x18 ] = KEY_LEFT, /*XXX KEY_BACK? */ | 1376 | { 0x18, KEY_LEFT }, |
1286 | [ 0x16 ] = KEY_OK, /*XXX KEY_SELECT? KEY_ENTER? */ | 1377 | { 0x16, KEY_OK }, /*XXX KEY_SELECT? KEY_ENTER? */ |
1287 | [ 0x0c ] = KEY_RIGHT, /*XXX KEY_FORWARD? */ | 1378 | { 0x0c, KEY_RIGHT }, |
1288 | [ 0x15 ] = KEY_DOWN, /*XXX KEY_SCROLLDOWN? */ | 1379 | { 0x15, KEY_DOWN }, |
1289 | 1380 | ||
1290 | /* 0x11 0x0d * | 1381 | /* 0x11 0x0d * |
1291 | * TV/AV MODE * | 1382 | * TV/AV MODE * |
1292 | * SOURCE STEREO * | 1383 | * SOURCE STEREO * |
1293 | * */ | 1384 | * */ |
1294 | [ 0x11 ] = KEY_TV, /*XXX*/ | 1385 | { 0x11, KEY_TV }, /*XXX*/ |
1295 | [ 0x0d ] = KEY_MODE, /*XXX there's no KEY_STEREO */ | 1386 | { 0x0d, KEY_MODE }, /*XXX there's no KEY_STEREO */ |
1296 | 1387 | ||
1297 | /* 0x0f 0x1b 0x1a * | 1388 | /* 0x0f 0x1b 0x1a * |
1298 | * AUDIO Vol+ Chan+ * | 1389 | * AUDIO Vol+ Chan+ * |
@@ -1301,891 +1392,967 @@ IR_KEYTAB_TYPE ir_codes_manli[IR_KEYTAB_SIZE] = { | |||
1301 | * 0x0e 0x1f 0x1e * | 1392 | * 0x0e 0x1f 0x1e * |
1302 | * SLEEP Vol- Chan- * | 1393 | * SLEEP Vol- Chan- * |
1303 | * */ | 1394 | * */ |
1304 | [ 0x0f ] = KEY_AUDIO, | 1395 | { 0x0f, KEY_AUDIO }, |
1305 | [ 0x1b ] = KEY_VOLUMEUP, | 1396 | { 0x1b, KEY_VOLUMEUP }, |
1306 | [ 0x1a ] = KEY_CHANNELUP, | 1397 | { 0x1a, KEY_CHANNELUP }, |
1307 | [ 0x0e ] = KEY_SLEEP, /*XXX maybe KEY_PAUSE */ | 1398 | { 0x0e, KEY_TIME }, |
1308 | [ 0x1f ] = KEY_VOLUMEDOWN, | 1399 | { 0x1f, KEY_VOLUMEDOWN }, |
1309 | [ 0x1e ] = KEY_CHANNELDOWN, | 1400 | { 0x1e, KEY_CHANNELDOWN }, |
1310 | 1401 | ||
1311 | /* 0x13 0x19 * | 1402 | /* 0x13 0x19 * |
1312 | * MUTE SNAPSHOT* | 1403 | * MUTE SNAPSHOT* |
1313 | * */ | 1404 | * */ |
1314 | [ 0x13 ] = KEY_MUTE, | 1405 | { 0x13, KEY_MUTE }, |
1315 | [ 0x19 ] = KEY_RECORD, /*XXX*/ | 1406 | { 0x19, KEY_CAMERA }, |
1316 | 1407 | ||
1317 | // 0x1d unused ? | 1408 | /* 0x1d unused ? */ |
1318 | }; | 1409 | }; |
1319 | 1410 | ||
1320 | EXPORT_SYMBOL_GPL(ir_codes_manli); | 1411 | struct ir_scancode_table ir_codes_manli_table = { |
1412 | .scan = ir_codes_manli, | ||
1413 | .size = ARRAY_SIZE(ir_codes_manli), | ||
1414 | }; | ||
1415 | EXPORT_SYMBOL_GPL(ir_codes_manli_table); | ||
1321 | 1416 | ||
1322 | /* Mike Baikov <mike@baikov.com> */ | 1417 | /* Mike Baikov <mike@baikov.com> */ |
1323 | IR_KEYTAB_TYPE ir_codes_gotview7135[IR_KEYTAB_SIZE] = { | 1418 | static struct ir_scancode ir_codes_gotview7135[] = { |
1324 | 1419 | ||
1325 | [ 0x11 ] = KEY_POWER, | 1420 | { 0x11, KEY_POWER }, |
1326 | [ 0x35 ] = KEY_TV, | 1421 | { 0x35, KEY_TV }, |
1327 | [ 0x1b ] = KEY_0, | 1422 | { 0x1b, KEY_0 }, |
1328 | [ 0x29 ] = KEY_1, | 1423 | { 0x29, KEY_1 }, |
1329 | [ 0x19 ] = KEY_2, | 1424 | { 0x19, KEY_2 }, |
1330 | [ 0x39 ] = KEY_3, | 1425 | { 0x39, KEY_3 }, |
1331 | [ 0x1f ] = KEY_4, | 1426 | { 0x1f, KEY_4 }, |
1332 | [ 0x2c ] = KEY_5, | 1427 | { 0x2c, KEY_5 }, |
1333 | [ 0x21 ] = KEY_6, | 1428 | { 0x21, KEY_6 }, |
1334 | [ 0x24 ] = KEY_7, | 1429 | { 0x24, KEY_7 }, |
1335 | [ 0x18 ] = KEY_8, | 1430 | { 0x18, KEY_8 }, |
1336 | [ 0x2b ] = KEY_9, | 1431 | { 0x2b, KEY_9 }, |
1337 | [ 0x3b ] = KEY_AGAIN, /* LOOP */ | 1432 | { 0x3b, KEY_AGAIN }, /* LOOP */ |
1338 | [ 0x06 ] = KEY_AUDIO, | 1433 | { 0x06, KEY_AUDIO }, |
1339 | [ 0x31 ] = KEY_PRINT, /* PREVIEW */ | 1434 | { 0x31, KEY_PRINT }, /* PREVIEW */ |
1340 | [ 0x3e ] = KEY_VIDEO, | 1435 | { 0x3e, KEY_VIDEO }, |
1341 | [ 0x10 ] = KEY_CHANNELUP, | 1436 | { 0x10, KEY_CHANNELUP }, |
1342 | [ 0x20 ] = KEY_CHANNELDOWN, | 1437 | { 0x20, KEY_CHANNELDOWN }, |
1343 | [ 0x0c ] = KEY_VOLUMEDOWN, | 1438 | { 0x0c, KEY_VOLUMEDOWN }, |
1344 | [ 0x28 ] = KEY_VOLUMEUP, | 1439 | { 0x28, KEY_VOLUMEUP }, |
1345 | [ 0x08 ] = KEY_MUTE, | 1440 | { 0x08, KEY_MUTE }, |
1346 | [ 0x26 ] = KEY_SEARCH, /*SCAN*/ | 1441 | { 0x26, KEY_SEARCH }, /* SCAN */ |
1347 | [ 0x3f ] = KEY_SHUFFLE, /* SNAPSHOT */ | 1442 | { 0x3f, KEY_CAMERA }, /* SNAPSHOT */ |
1348 | [ 0x12 ] = KEY_RECORD, | 1443 | { 0x12, KEY_RECORD }, |
1349 | [ 0x32 ] = KEY_STOP, | 1444 | { 0x32, KEY_STOP }, |
1350 | [ 0x3c ] = KEY_PLAY, | 1445 | { 0x3c, KEY_PLAY }, |
1351 | [ 0x1d ] = KEY_REWIND, | 1446 | { 0x1d, KEY_REWIND }, |
1352 | [ 0x2d ] = KEY_PAUSE, | 1447 | { 0x2d, KEY_PAUSE }, |
1353 | [ 0x0d ] = KEY_FORWARD, | 1448 | { 0x0d, KEY_FORWARD }, |
1354 | [ 0x05 ] = KEY_ZOOM, /*FULL*/ | 1449 | { 0x05, KEY_ZOOM }, /*FULL*/ |
1355 | 1450 | ||
1356 | [ 0x2a ] = KEY_F21, /* LIVE TIMESHIFT */ | 1451 | { 0x2a, KEY_F21 }, /* LIVE TIMESHIFT */ |
1357 | [ 0x0e ] = KEY_F22, /* MIN TIMESHIFT */ | 1452 | { 0x0e, KEY_F22 }, /* MIN TIMESHIFT */ |
1358 | [ 0x1e ] = KEY_F23, /* TIMESHIFT */ | 1453 | { 0x1e, KEY_TIME }, /* TIMESHIFT */ |
1359 | [ 0x38 ] = KEY_F24, /* NORMAL TIMESHIFT */ | 1454 | { 0x38, KEY_F24 }, /* NORMAL TIMESHIFT */ |
1360 | }; | 1455 | }; |
1361 | 1456 | ||
1362 | EXPORT_SYMBOL_GPL(ir_codes_gotview7135); | 1457 | struct ir_scancode_table ir_codes_gotview7135_table = { |
1363 | 1458 | .scan = ir_codes_gotview7135, | |
1364 | IR_KEYTAB_TYPE ir_codes_purpletv[IR_KEYTAB_SIZE] = { | 1459 | .size = ARRAY_SIZE(ir_codes_gotview7135), |
1365 | [ 0x03 ] = KEY_POWER, | 1460 | }; |
1366 | [ 0x6f ] = KEY_MUTE, | 1461 | EXPORT_SYMBOL_GPL(ir_codes_gotview7135_table); |
1367 | [ 0x10 ] = KEY_BACKSPACE, /* Recall */ | 1462 | |
1368 | 1463 | static struct ir_scancode ir_codes_purpletv[] = { | |
1369 | [ 0x11 ] = KEY_0, | 1464 | { 0x03, KEY_POWER }, |
1370 | [ 0x04 ] = KEY_1, | 1465 | { 0x6f, KEY_MUTE }, |
1371 | [ 0x05 ] = KEY_2, | 1466 | { 0x10, KEY_BACKSPACE }, /* Recall */ |
1372 | [ 0x06 ] = KEY_3, | 1467 | |
1373 | [ 0x08 ] = KEY_4, | 1468 | { 0x11, KEY_0 }, |
1374 | [ 0x09 ] = KEY_5, | 1469 | { 0x04, KEY_1 }, |
1375 | [ 0x0a ] = KEY_6, | 1470 | { 0x05, KEY_2 }, |
1376 | [ 0x0c ] = KEY_7, | 1471 | { 0x06, KEY_3 }, |
1377 | [ 0x0d ] = KEY_8, | 1472 | { 0x08, KEY_4 }, |
1378 | [ 0x0e ] = KEY_9, | 1473 | { 0x09, KEY_5 }, |
1379 | [ 0x12 ] = KEY_DOT, /* 100+ */ | 1474 | { 0x0a, KEY_6 }, |
1380 | 1475 | { 0x0c, KEY_7 }, | |
1381 | [ 0x07 ] = KEY_VOLUMEUP, | 1476 | { 0x0d, KEY_8 }, |
1382 | [ 0x0b ] = KEY_VOLUMEDOWN, | 1477 | { 0x0e, KEY_9 }, |
1383 | [ 0x1a ] = KEY_KPPLUS, | 1478 | { 0x12, KEY_DOT }, /* 100+ */ |
1384 | [ 0x18 ] = KEY_KPMINUS, | 1479 | |
1385 | [ 0x15 ] = KEY_UP, | 1480 | { 0x07, KEY_VOLUMEUP }, |
1386 | [ 0x1d ] = KEY_DOWN, | 1481 | { 0x0b, KEY_VOLUMEDOWN }, |
1387 | [ 0x0f ] = KEY_CHANNELUP, | 1482 | { 0x1a, KEY_KPPLUS }, |
1388 | [ 0x13 ] = KEY_CHANNELDOWN, | 1483 | { 0x18, KEY_KPMINUS }, |
1389 | [ 0x48 ] = KEY_ZOOM, | 1484 | { 0x15, KEY_UP }, |
1390 | 1485 | { 0x1d, KEY_DOWN }, | |
1391 | [ 0x1b ] = KEY_VIDEO, /* Video source */ | 1486 | { 0x0f, KEY_CHANNELUP }, |
1392 | [ 0x49 ] = KEY_LANGUAGE, /* MTS Select */ | 1487 | { 0x13, KEY_CHANNELDOWN }, |
1393 | [ 0x19 ] = KEY_SEARCH, /* Auto Scan */ | 1488 | { 0x48, KEY_ZOOM }, |
1394 | 1489 | ||
1395 | [ 0x4b ] = KEY_RECORD, | 1490 | { 0x1b, KEY_VIDEO }, /* Video source */ |
1396 | [ 0x46 ] = KEY_PLAY, | 1491 | { 0x1f, KEY_CAMERA }, /* Snapshot */ |
1397 | [ 0x45 ] = KEY_PAUSE, /* Pause */ | 1492 | { 0x49, KEY_LANGUAGE }, /* MTS Select */ |
1398 | [ 0x44 ] = KEY_STOP, | 1493 | { 0x19, KEY_SEARCH }, /* Auto Scan */ |
1399 | [ 0x40 ] = KEY_FORWARD, /* Forward ? */ | 1494 | |
1400 | [ 0x42 ] = KEY_REWIND, /* Backward ? */ | 1495 | { 0x4b, KEY_RECORD }, |
1401 | 1496 | { 0x46, KEY_PLAY }, | |
1402 | }; | 1497 | { 0x45, KEY_PAUSE }, /* Pause */ |
1403 | 1498 | { 0x44, KEY_STOP }, | |
1404 | EXPORT_SYMBOL_GPL(ir_codes_purpletv); | 1499 | { 0x43, KEY_TIME }, /* Time Shift */ |
1500 | { 0x17, KEY_CHANNEL }, /* SURF CH */ | ||
1501 | { 0x40, KEY_FORWARD }, /* Forward ? */ | ||
1502 | { 0x42, KEY_REWIND }, /* Backward ? */ | ||
1503 | |||
1504 | }; | ||
1505 | |||
1506 | struct ir_scancode_table ir_codes_purpletv_table = { | ||
1507 | .scan = ir_codes_purpletv, | ||
1508 | .size = ARRAY_SIZE(ir_codes_purpletv), | ||
1509 | }; | ||
1510 | EXPORT_SYMBOL_GPL(ir_codes_purpletv_table); | ||
1405 | 1511 | ||
1406 | /* Mapping for the 28 key remote control as seen at | 1512 | /* Mapping for the 28 key remote control as seen at |
1407 | http://www.sednacomputer.com/photo/cardbus-tv.jpg | 1513 | http://www.sednacomputer.com/photo/cardbus-tv.jpg |
1408 | Pavel Mihaylov <bin@bash.info> | 1514 | Pavel Mihaylov <bin@bash.info> |
1409 | Also for the remote bundled with Kozumi KTV-01C card */ | 1515 | Also for the remote bundled with Kozumi KTV-01C card */ |
1410 | IR_KEYTAB_TYPE ir_codes_pctv_sedna[IR_KEYTAB_SIZE] = { | 1516 | static struct ir_scancode ir_codes_pctv_sedna[] = { |
1411 | [ 0x00 ] = KEY_0, | 1517 | { 0x00, KEY_0 }, |
1412 | [ 0x01 ] = KEY_1, | 1518 | { 0x01, KEY_1 }, |
1413 | [ 0x02 ] = KEY_2, | 1519 | { 0x02, KEY_2 }, |
1414 | [ 0x03 ] = KEY_3, | 1520 | { 0x03, KEY_3 }, |
1415 | [ 0x04 ] = KEY_4, | 1521 | { 0x04, KEY_4 }, |
1416 | [ 0x05 ] = KEY_5, | 1522 | { 0x05, KEY_5 }, |
1417 | [ 0x06 ] = KEY_6, | 1523 | { 0x06, KEY_6 }, |
1418 | [ 0x07 ] = KEY_7, | 1524 | { 0x07, KEY_7 }, |
1419 | [ 0x08 ] = KEY_8, | 1525 | { 0x08, KEY_8 }, |
1420 | [ 0x09 ] = KEY_9, | 1526 | { 0x09, KEY_9 }, |
1421 | 1527 | ||
1422 | [ 0x0a ] = KEY_AGAIN, /* Recall */ | 1528 | { 0x0a, KEY_AGAIN }, /* Recall */ |
1423 | [ 0x0b ] = KEY_CHANNELUP, | 1529 | { 0x0b, KEY_CHANNELUP }, |
1424 | [ 0x0c ] = KEY_VOLUMEUP, | 1530 | { 0x0c, KEY_VOLUMEUP }, |
1425 | [ 0x0d ] = KEY_MODE, /* Stereo */ | 1531 | { 0x0d, KEY_MODE }, /* Stereo */ |
1426 | [ 0x0e ] = KEY_STOP, | 1532 | { 0x0e, KEY_STOP }, |
1427 | [ 0x0f ] = KEY_PREVIOUSSONG, | 1533 | { 0x0f, KEY_PREVIOUSSONG }, |
1428 | [ 0x10 ] = KEY_ZOOM, | 1534 | { 0x10, KEY_ZOOM }, |
1429 | [ 0x11 ] = KEY_TUNER, /* Source */ | 1535 | { 0x11, KEY_TUNER }, /* Source */ |
1430 | [ 0x12 ] = KEY_POWER, | 1536 | { 0x12, KEY_POWER }, |
1431 | [ 0x13 ] = KEY_MUTE, | 1537 | { 0x13, KEY_MUTE }, |
1432 | [ 0x15 ] = KEY_CHANNELDOWN, | 1538 | { 0x15, KEY_CHANNELDOWN }, |
1433 | [ 0x18 ] = KEY_VOLUMEDOWN, | 1539 | { 0x18, KEY_VOLUMEDOWN }, |
1434 | [ 0x19 ] = KEY_SHUFFLE, /* Snapshot */ | 1540 | { 0x19, KEY_CAMERA }, /* Snapshot */ |
1435 | [ 0x1a ] = KEY_NEXTSONG, | 1541 | { 0x1a, KEY_NEXTSONG }, |
1436 | [ 0x1b ] = KEY_TEXT, /* Time Shift */ | 1542 | { 0x1b, KEY_TIME }, /* Time Shift */ |
1437 | [ 0x1c ] = KEY_RADIO, /* FM Radio */ | 1543 | { 0x1c, KEY_RADIO }, /* FM Radio */ |
1438 | [ 0x1d ] = KEY_RECORD, | 1544 | { 0x1d, KEY_RECORD }, |
1439 | [ 0x1e ] = KEY_PAUSE, | 1545 | { 0x1e, KEY_PAUSE }, |
1440 | /* additional codes for Kozumi's remote */ | 1546 | /* additional codes for Kozumi's remote */ |
1441 | [0x14] = KEY_INFO, /* OSD */ | 1547 | { 0x14, KEY_INFO }, /* OSD */ |
1442 | [0x16] = KEY_OK, /* OK */ | 1548 | { 0x16, KEY_OK }, /* OK */ |
1443 | [0x17] = KEY_DIGITS, /* Plus */ | 1549 | { 0x17, KEY_DIGITS }, /* Plus */ |
1444 | [0x1f] = KEY_PLAY, /* Play */ | 1550 | { 0x1f, KEY_PLAY }, /* Play */ |
1445 | }; | 1551 | }; |
1446 | 1552 | ||
1447 | EXPORT_SYMBOL_GPL(ir_codes_pctv_sedna); | 1553 | struct ir_scancode_table ir_codes_pctv_sedna_table = { |
1554 | .scan = ir_codes_pctv_sedna, | ||
1555 | .size = ARRAY_SIZE(ir_codes_pctv_sedna), | ||
1556 | }; | ||
1557 | EXPORT_SYMBOL_GPL(ir_codes_pctv_sedna_table); | ||
1448 | 1558 | ||
1449 | /* Mark Phalan <phalanm@o2.ie> */ | 1559 | /* Mark Phalan <phalanm@o2.ie> */ |
1450 | IR_KEYTAB_TYPE ir_codes_pv951[IR_KEYTAB_SIZE] = { | 1560 | static struct ir_scancode ir_codes_pv951[] = { |
1451 | [ 0x00 ] = KEY_0, | 1561 | { 0x00, KEY_0 }, |
1452 | [ 0x01 ] = KEY_1, | 1562 | { 0x01, KEY_1 }, |
1453 | [ 0x02 ] = KEY_2, | 1563 | { 0x02, KEY_2 }, |
1454 | [ 0x03 ] = KEY_3, | 1564 | { 0x03, KEY_3 }, |
1455 | [ 0x04 ] = KEY_4, | 1565 | { 0x04, KEY_4 }, |
1456 | [ 0x05 ] = KEY_5, | 1566 | { 0x05, KEY_5 }, |
1457 | [ 0x06 ] = KEY_6, | 1567 | { 0x06, KEY_6 }, |
1458 | [ 0x07 ] = KEY_7, | 1568 | { 0x07, KEY_7 }, |
1459 | [ 0x08 ] = KEY_8, | 1569 | { 0x08, KEY_8 }, |
1460 | [ 0x09 ] = KEY_9, | 1570 | { 0x09, KEY_9 }, |
1461 | 1571 | ||
1462 | [ 0x12 ] = KEY_POWER, | 1572 | { 0x12, KEY_POWER }, |
1463 | [ 0x10 ] = KEY_MUTE, | 1573 | { 0x10, KEY_MUTE }, |
1464 | [ 0x1f ] = KEY_VOLUMEDOWN, | 1574 | { 0x1f, KEY_VOLUMEDOWN }, |
1465 | [ 0x1b ] = KEY_VOLUMEUP, | 1575 | { 0x1b, KEY_VOLUMEUP }, |
1466 | [ 0x1a ] = KEY_CHANNELUP, | 1576 | { 0x1a, KEY_CHANNELUP }, |
1467 | [ 0x1e ] = KEY_CHANNELDOWN, | 1577 | { 0x1e, KEY_CHANNELDOWN }, |
1468 | [ 0x0e ] = KEY_PAGEUP, | 1578 | { 0x0e, KEY_PAGEUP }, |
1469 | [ 0x1d ] = KEY_PAGEDOWN, | 1579 | { 0x1d, KEY_PAGEDOWN }, |
1470 | [ 0x13 ] = KEY_SOUND, | 1580 | { 0x13, KEY_SOUND }, |
1471 | 1581 | ||
1472 | [ 0x18 ] = KEY_KPPLUSMINUS, /* CH +/- */ | 1582 | { 0x18, KEY_KPPLUSMINUS }, /* CH +/- */ |
1473 | [ 0x16 ] = KEY_SUBTITLE, /* CC */ | 1583 | { 0x16, KEY_SUBTITLE }, /* CC */ |
1474 | [ 0x0d ] = KEY_TEXT, /* TTX */ | 1584 | { 0x0d, KEY_TEXT }, /* TTX */ |
1475 | [ 0x0b ] = KEY_TV, /* AIR/CBL */ | 1585 | { 0x0b, KEY_TV }, /* AIR/CBL */ |
1476 | [ 0x11 ] = KEY_PC, /* PC/TV */ | 1586 | { 0x11, KEY_PC }, /* PC/TV */ |
1477 | [ 0x17 ] = KEY_OK, /* CH RTN */ | 1587 | { 0x17, KEY_OK }, /* CH RTN */ |
1478 | [ 0x19 ] = KEY_MODE, /* FUNC */ | 1588 | { 0x19, KEY_MODE }, /* FUNC */ |
1479 | [ 0x0c ] = KEY_SEARCH, /* AUTOSCAN */ | 1589 | { 0x0c, KEY_SEARCH }, /* AUTOSCAN */ |
1480 | 1590 | ||
1481 | /* Not sure what to do with these ones! */ | 1591 | /* Not sure what to do with these ones! */ |
1482 | [ 0x0f ] = KEY_SELECT, /* SOURCE */ | 1592 | { 0x0f, KEY_SELECT }, /* SOURCE */ |
1483 | [ 0x0a ] = KEY_KPPLUS, /* +100 */ | 1593 | { 0x0a, KEY_KPPLUS }, /* +100 */ |
1484 | [ 0x14 ] = KEY_EQUAL, /* SYNC */ | 1594 | { 0x14, KEY_EQUAL }, /* SYNC */ |
1485 | [ 0x1c ] = KEY_MEDIA, /* PC/TV */ | 1595 | { 0x1c, KEY_MEDIA }, /* PC/TV */ |
1486 | }; | 1596 | }; |
1487 | 1597 | ||
1488 | EXPORT_SYMBOL_GPL(ir_codes_pv951); | 1598 | struct ir_scancode_table ir_codes_pv951_table = { |
1599 | .scan = ir_codes_pv951, | ||
1600 | .size = ARRAY_SIZE(ir_codes_pv951), | ||
1601 | }; | ||
1602 | EXPORT_SYMBOL_GPL(ir_codes_pv951_table); | ||
1489 | 1603 | ||
1490 | /* generic RC5 keytable */ | 1604 | /* generic RC5 keytable */ |
1491 | /* see http://users.pandora.be/nenya/electronics/rc5/codes00.htm */ | 1605 | /* see http://users.pandora.be/nenya/electronics/rc5/codes00.htm */ |
1492 | /* used by old (black) Hauppauge remotes */ | 1606 | /* used by old (black) Hauppauge remotes */ |
1493 | IR_KEYTAB_TYPE ir_codes_rc5_tv[IR_KEYTAB_SIZE] = { | 1607 | static struct ir_scancode ir_codes_rc5_tv[] = { |
1494 | /* Keys 0 to 9 */ | 1608 | /* Keys 0 to 9 */ |
1495 | [ 0x00 ] = KEY_0, | 1609 | { 0x00, KEY_0 }, |
1496 | [ 0x01 ] = KEY_1, | 1610 | { 0x01, KEY_1 }, |
1497 | [ 0x02 ] = KEY_2, | 1611 | { 0x02, KEY_2 }, |
1498 | [ 0x03 ] = KEY_3, | 1612 | { 0x03, KEY_3 }, |
1499 | [ 0x04 ] = KEY_4, | 1613 | { 0x04, KEY_4 }, |
1500 | [ 0x05 ] = KEY_5, | 1614 | { 0x05, KEY_5 }, |
1501 | [ 0x06 ] = KEY_6, | 1615 | { 0x06, KEY_6 }, |
1502 | [ 0x07 ] = KEY_7, | 1616 | { 0x07, KEY_7 }, |
1503 | [ 0x08 ] = KEY_8, | 1617 | { 0x08, KEY_8 }, |
1504 | [ 0x09 ] = KEY_9, | 1618 | { 0x09, KEY_9 }, |
1505 | 1619 | ||
1506 | [ 0x0b ] = KEY_CHANNEL, /* channel / program (japan: 11) */ | 1620 | { 0x0b, KEY_CHANNEL }, /* channel / program (japan: 11) */ |
1507 | [ 0x0c ] = KEY_POWER, /* standby */ | 1621 | { 0x0c, KEY_POWER }, /* standby */ |
1508 | [ 0x0d ] = KEY_MUTE, /* mute / demute */ | 1622 | { 0x0d, KEY_MUTE }, /* mute / demute */ |
1509 | [ 0x0f ] = KEY_TV, /* display */ | 1623 | { 0x0f, KEY_TV }, /* display */ |
1510 | [ 0x10 ] = KEY_VOLUMEUP, | 1624 | { 0x10, KEY_VOLUMEUP }, |
1511 | [ 0x11 ] = KEY_VOLUMEDOWN, | 1625 | { 0x11, KEY_VOLUMEDOWN }, |
1512 | [ 0x12 ] = KEY_BRIGHTNESSUP, | 1626 | { 0x12, KEY_BRIGHTNESSUP }, |
1513 | [ 0x13 ] = KEY_BRIGHTNESSDOWN, | 1627 | { 0x13, KEY_BRIGHTNESSDOWN }, |
1514 | [ 0x1e ] = KEY_SEARCH, /* search + */ | 1628 | { 0x1e, KEY_SEARCH }, /* search + */ |
1515 | [ 0x20 ] = KEY_CHANNELUP, /* channel / program + */ | 1629 | { 0x20, KEY_CHANNELUP }, /* channel / program + */ |
1516 | [ 0x21 ] = KEY_CHANNELDOWN, /* channel / program - */ | 1630 | { 0x21, KEY_CHANNELDOWN }, /* channel / program - */ |
1517 | [ 0x22 ] = KEY_CHANNEL, /* alt / channel */ | 1631 | { 0x22, KEY_CHANNEL }, /* alt / channel */ |
1518 | [ 0x23 ] = KEY_LANGUAGE, /* 1st / 2nd language */ | 1632 | { 0x23, KEY_LANGUAGE }, /* 1st / 2nd language */ |
1519 | [ 0x26 ] = KEY_SLEEP, /* sleeptimer */ | 1633 | { 0x26, KEY_SLEEP }, /* sleeptimer */ |
1520 | [ 0x2e ] = KEY_MENU, /* 2nd controls (USA: menu) */ | 1634 | { 0x2e, KEY_MENU }, /* 2nd controls (USA: menu) */ |
1521 | [ 0x30 ] = KEY_PAUSE, | 1635 | { 0x30, KEY_PAUSE }, |
1522 | [ 0x32 ] = KEY_REWIND, | 1636 | { 0x32, KEY_REWIND }, |
1523 | [ 0x33 ] = KEY_GOTO, | 1637 | { 0x33, KEY_GOTO }, |
1524 | [ 0x35 ] = KEY_PLAY, | 1638 | { 0x35, KEY_PLAY }, |
1525 | [ 0x36 ] = KEY_STOP, | 1639 | { 0x36, KEY_STOP }, |
1526 | [ 0x37 ] = KEY_RECORD, /* recording */ | 1640 | { 0x37, KEY_RECORD }, /* recording */ |
1527 | [ 0x3c ] = KEY_TEXT, /* teletext submode (Japan: 12) */ | 1641 | { 0x3c, KEY_TEXT }, /* teletext submode (Japan: 12) */ |
1528 | [ 0x3d ] = KEY_SUSPEND, /* system standby */ | 1642 | { 0x3d, KEY_SUSPEND }, /* system standby */ |
1529 | 1643 | ||
1530 | }; | 1644 | }; |
1531 | 1645 | ||
1532 | EXPORT_SYMBOL_GPL(ir_codes_rc5_tv); | 1646 | struct ir_scancode_table ir_codes_rc5_tv_table = { |
1647 | .scan = ir_codes_rc5_tv, | ||
1648 | .size = ARRAY_SIZE(ir_codes_rc5_tv), | ||
1649 | }; | ||
1650 | EXPORT_SYMBOL_GPL(ir_codes_rc5_tv_table); | ||
1533 | 1651 | ||
1534 | /* Table for Leadtek Winfast Remote Controls - used by both bttv and cx88 */ | 1652 | /* Table for Leadtek Winfast Remote Controls - used by both bttv and cx88 */ |
1535 | IR_KEYTAB_TYPE ir_codes_winfast[IR_KEYTAB_SIZE] = { | 1653 | static struct ir_scancode ir_codes_winfast[] = { |
1536 | /* Keys 0 to 9 */ | 1654 | /* Keys 0 to 9 */ |
1537 | [ 0x12 ] = KEY_0, | 1655 | { 0x12, KEY_0 }, |
1538 | [ 0x05 ] = KEY_1, | 1656 | { 0x05, KEY_1 }, |
1539 | [ 0x06 ] = KEY_2, | 1657 | { 0x06, KEY_2 }, |
1540 | [ 0x07 ] = KEY_3, | 1658 | { 0x07, KEY_3 }, |
1541 | [ 0x09 ] = KEY_4, | 1659 | { 0x09, KEY_4 }, |
1542 | [ 0x0a ] = KEY_5, | 1660 | { 0x0a, KEY_5 }, |
1543 | [ 0x0b ] = KEY_6, | 1661 | { 0x0b, KEY_6 }, |
1544 | [ 0x0d ] = KEY_7, | 1662 | { 0x0d, KEY_7 }, |
1545 | [ 0x0e ] = KEY_8, | 1663 | { 0x0e, KEY_8 }, |
1546 | [ 0x0f ] = KEY_9, | 1664 | { 0x0f, KEY_9 }, |
1547 | 1665 | ||
1548 | [ 0x00 ] = KEY_POWER, | 1666 | { 0x00, KEY_POWER }, |
1549 | [ 0x1b ] = KEY_AUDIO, /* Audio Source */ | 1667 | { 0x1b, KEY_AUDIO }, /* Audio Source */ |
1550 | [ 0x02 ] = KEY_TUNER, /* TV/FM, not on Y0400052 */ | 1668 | { 0x02, KEY_TUNER }, /* TV/FM, not on Y0400052 */ |
1551 | [ 0x1e ] = KEY_VIDEO, /* Video Source */ | 1669 | { 0x1e, KEY_VIDEO }, /* Video Source */ |
1552 | [ 0x16 ] = KEY_INFO, /* Display information */ | 1670 | { 0x16, KEY_INFO }, /* Display information */ |
1553 | [ 0x04 ] = KEY_VOLUMEUP, | 1671 | { 0x04, KEY_VOLUMEUP }, |
1554 | [ 0x08 ] = KEY_VOLUMEDOWN, | 1672 | { 0x08, KEY_VOLUMEDOWN }, |
1555 | [ 0x0c ] = KEY_CHANNELUP, | 1673 | { 0x0c, KEY_CHANNELUP }, |
1556 | [ 0x10 ] = KEY_CHANNELDOWN, | 1674 | { 0x10, KEY_CHANNELDOWN }, |
1557 | [ 0x03 ] = KEY_ZOOM, /* fullscreen */ | 1675 | { 0x03, KEY_ZOOM }, /* fullscreen */ |
1558 | [ 0x1f ] = KEY_TEXT, /* closed caption/teletext */ | 1676 | { 0x1f, KEY_TEXT }, /* closed caption/teletext */ |
1559 | [ 0x20 ] = KEY_SLEEP, | 1677 | { 0x20, KEY_SLEEP }, |
1560 | [ 0x29 ] = KEY_CLEAR, /* boss key */ | 1678 | { 0x29, KEY_CLEAR }, /* boss key */ |
1561 | [ 0x14 ] = KEY_MUTE, | 1679 | { 0x14, KEY_MUTE }, |
1562 | [ 0x2b ] = KEY_RED, | 1680 | { 0x2b, KEY_RED }, |
1563 | [ 0x2c ] = KEY_GREEN, | 1681 | { 0x2c, KEY_GREEN }, |
1564 | [ 0x2d ] = KEY_YELLOW, | 1682 | { 0x2d, KEY_YELLOW }, |
1565 | [ 0x2e ] = KEY_BLUE, | 1683 | { 0x2e, KEY_BLUE }, |
1566 | [ 0x18 ] = KEY_KPPLUS, /* fine tune + , not on Y040052 */ | 1684 | { 0x18, KEY_KPPLUS }, /* fine tune + , not on Y040052 */ |
1567 | [ 0x19 ] = KEY_KPMINUS, /* fine tune - , not on Y040052 */ | 1685 | { 0x19, KEY_KPMINUS }, /* fine tune - , not on Y040052 */ |
1568 | [ 0x2a ] = KEY_MEDIA, /* PIP (Picture in picture */ | 1686 | { 0x2a, KEY_MEDIA }, /* PIP (Picture in picture */ |
1569 | [ 0x21 ] = KEY_DOT, | 1687 | { 0x21, KEY_DOT }, |
1570 | [ 0x13 ] = KEY_ENTER, | 1688 | { 0x13, KEY_ENTER }, |
1571 | [ 0x11 ] = KEY_LAST, /* Recall (last channel */ | 1689 | { 0x11, KEY_LAST }, /* Recall (last channel */ |
1572 | [ 0x22 ] = KEY_PREVIOUS, | 1690 | { 0x22, KEY_PREVIOUS }, |
1573 | [ 0x23 ] = KEY_PLAYPAUSE, | 1691 | { 0x23, KEY_PLAYPAUSE }, |
1574 | [ 0x24 ] = KEY_NEXT, | 1692 | { 0x24, KEY_NEXT }, |
1575 | [ 0x25 ] = KEY_ARCHIVE, /* Time Shifting */ | 1693 | { 0x25, KEY_TIME }, /* Time Shifting */ |
1576 | [ 0x26 ] = KEY_STOP, | 1694 | { 0x26, KEY_STOP }, |
1577 | [ 0x27 ] = KEY_RECORD, | 1695 | { 0x27, KEY_RECORD }, |
1578 | [ 0x28 ] = KEY_SAVE, /* Screenshot */ | 1696 | { 0x28, KEY_SAVE }, /* Screenshot */ |
1579 | [ 0x2f ] = KEY_MENU, | 1697 | { 0x2f, KEY_MENU }, |
1580 | [ 0x30 ] = KEY_CANCEL, | 1698 | { 0x30, KEY_CANCEL }, |
1581 | [ 0x31 ] = KEY_CHANNEL, /* Channel Surf */ | 1699 | { 0x31, KEY_CHANNEL }, /* Channel Surf */ |
1582 | [ 0x32 ] = KEY_SUBTITLE, | 1700 | { 0x32, KEY_SUBTITLE }, |
1583 | [ 0x33 ] = KEY_LANGUAGE, | 1701 | { 0x33, KEY_LANGUAGE }, |
1584 | [ 0x34 ] = KEY_REWIND, | 1702 | { 0x34, KEY_REWIND }, |
1585 | [ 0x35 ] = KEY_FASTFORWARD, | 1703 | { 0x35, KEY_FASTFORWARD }, |
1586 | [ 0x36 ] = KEY_TV, | 1704 | { 0x36, KEY_TV }, |
1587 | [ 0x37 ] = KEY_RADIO, /* FM */ | 1705 | { 0x37, KEY_RADIO }, /* FM */ |
1588 | [ 0x38 ] = KEY_DVD, | 1706 | { 0x38, KEY_DVD }, |
1589 | 1707 | ||
1590 | [ 0x3e ] = KEY_F21, /* MCE +VOL, on Y04G0033 */ | 1708 | { 0x3e, KEY_F21 }, /* MCE +VOL, on Y04G0033 */ |
1591 | [ 0x3a ] = KEY_F22, /* MCE -VOL, on Y04G0033 */ | 1709 | { 0x3a, KEY_F22 }, /* MCE -VOL, on Y04G0033 */ |
1592 | [ 0x3b ] = KEY_F23, /* MCE +CH, on Y04G0033 */ | 1710 | { 0x3b, KEY_F23 }, /* MCE +CH, on Y04G0033 */ |
1593 | [ 0x3f ] = KEY_F24 /* MCE -CH, on Y04G0033 */ | 1711 | { 0x3f, KEY_F24 } /* MCE -CH, on Y04G0033 */ |
1594 | }; | 1712 | }; |
1595 | 1713 | ||
1596 | EXPORT_SYMBOL_GPL(ir_codes_winfast); | 1714 | struct ir_scancode_table ir_codes_winfast_table = { |
1597 | 1715 | .scan = ir_codes_winfast, | |
1598 | IR_KEYTAB_TYPE ir_codes_pinnacle_color[IR_KEYTAB_SIZE] = { | 1716 | .size = ARRAY_SIZE(ir_codes_winfast), |
1599 | [ 0x59 ] = KEY_MUTE, | 1717 | }; |
1600 | [ 0x4a ] = KEY_POWER, | 1718 | EXPORT_SYMBOL_GPL(ir_codes_winfast_table); |
1601 | 1719 | ||
1602 | [ 0x18 ] = KEY_TEXT, | 1720 | static struct ir_scancode ir_codes_pinnacle_color[] = { |
1603 | [ 0x26 ] = KEY_TV, | 1721 | { 0x59, KEY_MUTE }, |
1604 | [ 0x3d ] = KEY_PRINT, | 1722 | { 0x4a, KEY_POWER }, |
1605 | 1723 | ||
1606 | [ 0x48 ] = KEY_RED, | 1724 | { 0x18, KEY_TEXT }, |
1607 | [ 0x04 ] = KEY_GREEN, | 1725 | { 0x26, KEY_TV }, |
1608 | [ 0x11 ] = KEY_YELLOW, | 1726 | { 0x3d, KEY_PRINT }, |
1609 | [ 0x00 ] = KEY_BLUE, | 1727 | |
1610 | 1728 | { 0x48, KEY_RED }, | |
1611 | [ 0x2d ] = KEY_VOLUMEUP, | 1729 | { 0x04, KEY_GREEN }, |
1612 | [ 0x1e ] = KEY_VOLUMEDOWN, | 1730 | { 0x11, KEY_YELLOW }, |
1613 | 1731 | { 0x00, KEY_BLUE }, | |
1614 | [ 0x49 ] = KEY_MENU, | 1732 | |
1615 | 1733 | { 0x2d, KEY_VOLUMEUP }, | |
1616 | [ 0x16 ] = KEY_CHANNELUP, | 1734 | { 0x1e, KEY_VOLUMEDOWN }, |
1617 | [ 0x17 ] = KEY_CHANNELDOWN, | 1735 | |
1618 | 1736 | { 0x49, KEY_MENU }, | |
1619 | [ 0x20 ] = KEY_UP, | 1737 | |
1620 | [ 0x21 ] = KEY_DOWN, | 1738 | { 0x16, KEY_CHANNELUP }, |
1621 | [ 0x22 ] = KEY_LEFT, | 1739 | { 0x17, KEY_CHANNELDOWN }, |
1622 | [ 0x23 ] = KEY_RIGHT, | 1740 | |
1623 | [ 0x0d ] = KEY_SELECT, | 1741 | { 0x20, KEY_UP }, |
1624 | 1742 | { 0x21, KEY_DOWN }, | |
1625 | 1743 | { 0x22, KEY_LEFT }, | |
1626 | 1744 | { 0x23, KEY_RIGHT }, | |
1627 | [ 0x08 ] = KEY_BACK, | 1745 | { 0x0d, KEY_SELECT }, |
1628 | [ 0x07 ] = KEY_REFRESH, | 1746 | |
1629 | 1747 | { 0x08, KEY_BACK }, | |
1630 | [ 0x2f ] = KEY_ZOOM, | 1748 | { 0x07, KEY_REFRESH }, |
1631 | [ 0x29 ] = KEY_RECORD, | 1749 | |
1632 | 1750 | { 0x2f, KEY_ZOOM }, | |
1633 | [ 0x4b ] = KEY_PAUSE, | 1751 | { 0x29, KEY_RECORD }, |
1634 | [ 0x4d ] = KEY_REWIND, | 1752 | |
1635 | [ 0x2e ] = KEY_PLAY, | 1753 | { 0x4b, KEY_PAUSE }, |
1636 | [ 0x4e ] = KEY_FORWARD, | 1754 | { 0x4d, KEY_REWIND }, |
1637 | [ 0x53 ] = KEY_PREVIOUS, | 1755 | { 0x2e, KEY_PLAY }, |
1638 | [ 0x4c ] = KEY_STOP, | 1756 | { 0x4e, KEY_FORWARD }, |
1639 | [ 0x54 ] = KEY_NEXT, | 1757 | { 0x53, KEY_PREVIOUS }, |
1640 | 1758 | { 0x4c, KEY_STOP }, | |
1641 | [ 0x69 ] = KEY_0, | 1759 | { 0x54, KEY_NEXT }, |
1642 | [ 0x6a ] = KEY_1, | 1760 | |
1643 | [ 0x6b ] = KEY_2, | 1761 | { 0x69, KEY_0 }, |
1644 | [ 0x6c ] = KEY_3, | 1762 | { 0x6a, KEY_1 }, |
1645 | [ 0x6d ] = KEY_4, | 1763 | { 0x6b, KEY_2 }, |
1646 | [ 0x6e ] = KEY_5, | 1764 | { 0x6c, KEY_3 }, |
1647 | [ 0x6f ] = KEY_6, | 1765 | { 0x6d, KEY_4 }, |
1648 | [ 0x70 ] = KEY_7, | 1766 | { 0x6e, KEY_5 }, |
1649 | [ 0x71 ] = KEY_8, | 1767 | { 0x6f, KEY_6 }, |
1650 | [ 0x72 ] = KEY_9, | 1768 | { 0x70, KEY_7 }, |
1651 | 1769 | { 0x71, KEY_8 }, | |
1652 | [ 0x74 ] = KEY_CHANNEL, | 1770 | { 0x72, KEY_9 }, |
1653 | [ 0x0a ] = KEY_BACKSPACE, | 1771 | |
1654 | }; | 1772 | { 0x74, KEY_CHANNEL }, |
1655 | 1773 | { 0x0a, KEY_BACKSPACE }, | |
1656 | EXPORT_SYMBOL_GPL(ir_codes_pinnacle_color); | 1774 | }; |
1775 | |||
1776 | struct ir_scancode_table ir_codes_pinnacle_color_table = { | ||
1777 | .scan = ir_codes_pinnacle_color, | ||
1778 | .size = ARRAY_SIZE(ir_codes_pinnacle_color), | ||
1779 | }; | ||
1780 | EXPORT_SYMBOL_GPL(ir_codes_pinnacle_color_table); | ||
1657 | 1781 | ||
1658 | /* Hauppauge: the newer, gray remotes (seems there are multiple | 1782 | /* Hauppauge: the newer, gray remotes (seems there are multiple |
1659 | * slightly different versions), shipped with cx88+ivtv cards. | 1783 | * slightly different versions), shipped with cx88+ivtv cards. |
1660 | * almost rc5 coding, but some non-standard keys */ | 1784 | * almost rc5 coding, but some non-standard keys */ |
1661 | IR_KEYTAB_TYPE ir_codes_hauppauge_new[IR_KEYTAB_SIZE] = { | 1785 | static struct ir_scancode ir_codes_hauppauge_new[] = { |
1662 | /* Keys 0 to 9 */ | 1786 | /* Keys 0 to 9 */ |
1663 | [ 0x00 ] = KEY_0, | 1787 | { 0x00, KEY_0 }, |
1664 | [ 0x01 ] = KEY_1, | 1788 | { 0x01, KEY_1 }, |
1665 | [ 0x02 ] = KEY_2, | 1789 | { 0x02, KEY_2 }, |
1666 | [ 0x03 ] = KEY_3, | 1790 | { 0x03, KEY_3 }, |
1667 | [ 0x04 ] = KEY_4, | 1791 | { 0x04, KEY_4 }, |
1668 | [ 0x05 ] = KEY_5, | 1792 | { 0x05, KEY_5 }, |
1669 | [ 0x06 ] = KEY_6, | 1793 | { 0x06, KEY_6 }, |
1670 | [ 0x07 ] = KEY_7, | 1794 | { 0x07, KEY_7 }, |
1671 | [ 0x08 ] = KEY_8, | 1795 | { 0x08, KEY_8 }, |
1672 | [ 0x09 ] = KEY_9, | 1796 | { 0x09, KEY_9 }, |
1673 | 1797 | ||
1674 | [ 0x0a ] = KEY_TEXT, /* keypad asterisk as well */ | 1798 | { 0x0a, KEY_TEXT }, /* keypad asterisk as well */ |
1675 | [ 0x0b ] = KEY_RED, /* red button */ | 1799 | { 0x0b, KEY_RED }, /* red button */ |
1676 | [ 0x0c ] = KEY_RADIO, | 1800 | { 0x0c, KEY_RADIO }, |
1677 | [ 0x0d ] = KEY_MENU, | 1801 | { 0x0d, KEY_MENU }, |
1678 | [ 0x0e ] = KEY_SUBTITLE, /* also the # key */ | 1802 | { 0x0e, KEY_SUBTITLE }, /* also the # key */ |
1679 | [ 0x0f ] = KEY_MUTE, | 1803 | { 0x0f, KEY_MUTE }, |
1680 | [ 0x10 ] = KEY_VOLUMEUP, | 1804 | { 0x10, KEY_VOLUMEUP }, |
1681 | [ 0x11 ] = KEY_VOLUMEDOWN, | 1805 | { 0x11, KEY_VOLUMEDOWN }, |
1682 | [ 0x12 ] = KEY_PREVIOUS, /* previous channel */ | 1806 | { 0x12, KEY_PREVIOUS }, /* previous channel */ |
1683 | [ 0x14 ] = KEY_UP, | 1807 | { 0x14, KEY_UP }, |
1684 | [ 0x15 ] = KEY_DOWN, | 1808 | { 0x15, KEY_DOWN }, |
1685 | [ 0x16 ] = KEY_LEFT, | 1809 | { 0x16, KEY_LEFT }, |
1686 | [ 0x17 ] = KEY_RIGHT, | 1810 | { 0x17, KEY_RIGHT }, |
1687 | [ 0x18 ] = KEY_VIDEO, /* Videos */ | 1811 | { 0x18, KEY_VIDEO }, /* Videos */ |
1688 | [ 0x19 ] = KEY_AUDIO, /* Music */ | 1812 | { 0x19, KEY_AUDIO }, /* Music */ |
1689 | /* 0x1a: Pictures - presume this means | 1813 | /* 0x1a: Pictures - presume this means |
1690 | "Multimedia Home Platform" - | 1814 | "Multimedia Home Platform" - |
1691 | no "PICTURES" key in input.h | 1815 | no "PICTURES" key in input.h |
1692 | */ | 1816 | */ |
1693 | [ 0x1a ] = KEY_MHP, | 1817 | { 0x1a, KEY_MHP }, |
1694 | 1818 | ||
1695 | [ 0x1b ] = KEY_EPG, /* Guide */ | 1819 | { 0x1b, KEY_EPG }, /* Guide */ |
1696 | [ 0x1c ] = KEY_TV, | 1820 | { 0x1c, KEY_TV }, |
1697 | [ 0x1e ] = KEY_NEXTSONG, /* skip >| */ | 1821 | { 0x1e, KEY_NEXTSONG }, /* skip >| */ |
1698 | [ 0x1f ] = KEY_EXIT, /* back/exit */ | 1822 | { 0x1f, KEY_EXIT }, /* back/exit */ |
1699 | [ 0x20 ] = KEY_CHANNELUP, /* channel / program + */ | 1823 | { 0x20, KEY_CHANNELUP }, /* channel / program + */ |
1700 | [ 0x21 ] = KEY_CHANNELDOWN, /* channel / program - */ | 1824 | { 0x21, KEY_CHANNELDOWN }, /* channel / program - */ |
1701 | [ 0x22 ] = KEY_CHANNEL, /* source (old black remote) */ | 1825 | { 0x22, KEY_CHANNEL }, /* source (old black remote) */ |
1702 | [ 0x24 ] = KEY_PREVIOUSSONG, /* replay |< */ | 1826 | { 0x24, KEY_PREVIOUSSONG }, /* replay |< */ |
1703 | [ 0x25 ] = KEY_ENTER, /* OK */ | 1827 | { 0x25, KEY_ENTER }, /* OK */ |
1704 | [ 0x26 ] = KEY_SLEEP, /* minimize (old black remote) */ | 1828 | { 0x26, KEY_SLEEP }, /* minimize (old black remote) */ |
1705 | [ 0x29 ] = KEY_BLUE, /* blue key */ | 1829 | { 0x29, KEY_BLUE }, /* blue key */ |
1706 | [ 0x2e ] = KEY_GREEN, /* green button */ | 1830 | { 0x2e, KEY_GREEN }, /* green button */ |
1707 | [ 0x30 ] = KEY_PAUSE, /* pause */ | 1831 | { 0x30, KEY_PAUSE }, /* pause */ |
1708 | [ 0x32 ] = KEY_REWIND, /* backward << */ | 1832 | { 0x32, KEY_REWIND }, /* backward << */ |
1709 | [ 0x34 ] = KEY_FASTFORWARD, /* forward >> */ | 1833 | { 0x34, KEY_FASTFORWARD }, /* forward >> */ |
1710 | [ 0x35 ] = KEY_PLAY, | 1834 | { 0x35, KEY_PLAY }, |
1711 | [ 0x36 ] = KEY_STOP, | 1835 | { 0x36, KEY_STOP }, |
1712 | [ 0x37 ] = KEY_RECORD, /* recording */ | 1836 | { 0x37, KEY_RECORD }, /* recording */ |
1713 | [ 0x38 ] = KEY_YELLOW, /* yellow key */ | 1837 | { 0x38, KEY_YELLOW }, /* yellow key */ |
1714 | [ 0x3b ] = KEY_SELECT, /* top right button */ | 1838 | { 0x3b, KEY_SELECT }, /* top right button */ |
1715 | [ 0x3c ] = KEY_ZOOM, /* full */ | 1839 | { 0x3c, KEY_ZOOM }, /* full */ |
1716 | [ 0x3d ] = KEY_POWER, /* system power (green button) */ | 1840 | { 0x3d, KEY_POWER }, /* system power (green button) */ |
1717 | }; | 1841 | }; |
1718 | 1842 | ||
1719 | EXPORT_SYMBOL_GPL(ir_codes_hauppauge_new); | 1843 | struct ir_scancode_table ir_codes_hauppauge_new_table = { |
1720 | 1844 | .scan = ir_codes_hauppauge_new, | |
1721 | IR_KEYTAB_TYPE ir_codes_npgtech[IR_KEYTAB_SIZE] = { | 1845 | .size = ARRAY_SIZE(ir_codes_hauppauge_new), |
1722 | [ 0x1d ] = KEY_SWITCHVIDEOMODE, /* switch inputs */ | 1846 | }; |
1723 | [ 0x2a ] = KEY_FRONT, | 1847 | EXPORT_SYMBOL_GPL(ir_codes_hauppauge_new_table); |
1724 | 1848 | ||
1725 | [ 0x3e ] = KEY_1, | 1849 | static struct ir_scancode ir_codes_npgtech[] = { |
1726 | [ 0x02 ] = KEY_2, | 1850 | { 0x1d, KEY_SWITCHVIDEOMODE }, /* switch inputs */ |
1727 | [ 0x06 ] = KEY_3, | 1851 | { 0x2a, KEY_FRONT }, |
1728 | [ 0x0a ] = KEY_4, | 1852 | |
1729 | [ 0x0e ] = KEY_5, | 1853 | { 0x3e, KEY_1 }, |
1730 | [ 0x12 ] = KEY_6, | 1854 | { 0x02, KEY_2 }, |
1731 | [ 0x16 ] = KEY_7, | 1855 | { 0x06, KEY_3 }, |
1732 | [ 0x1a ] = KEY_8, | 1856 | { 0x0a, KEY_4 }, |
1733 | [ 0x1e ] = KEY_9, | 1857 | { 0x0e, KEY_5 }, |
1734 | [ 0x3a ] = KEY_0, | 1858 | { 0x12, KEY_6 }, |
1735 | [ 0x22 ] = KEY_NUMLOCK, /* -/-- */ | 1859 | { 0x16, KEY_7 }, |
1736 | [ 0x20 ] = KEY_REFRESH, | 1860 | { 0x1a, KEY_8 }, |
1737 | 1861 | { 0x1e, KEY_9 }, | |
1738 | [ 0x03 ] = KEY_BRIGHTNESSDOWN, | 1862 | { 0x3a, KEY_0 }, |
1739 | [ 0x28 ] = KEY_AUDIO, | 1863 | { 0x22, KEY_NUMLOCK }, /* -/-- */ |
1740 | [ 0x3c ] = KEY_UP, | 1864 | { 0x20, KEY_REFRESH }, |
1741 | [ 0x3f ] = KEY_LEFT, | 1865 | |
1742 | [ 0x2e ] = KEY_MUTE, | 1866 | { 0x03, KEY_BRIGHTNESSDOWN }, |
1743 | [ 0x3b ] = KEY_RIGHT, | 1867 | { 0x28, KEY_AUDIO }, |
1744 | [ 0x00 ] = KEY_DOWN, | 1868 | { 0x3c, KEY_CHANNELUP }, |
1745 | [ 0x07 ] = KEY_BRIGHTNESSUP, | 1869 | { 0x3f, KEY_VOLUMEDOWN }, |
1746 | [ 0x2c ] = KEY_TEXT, | 1870 | { 0x2e, KEY_MUTE }, |
1747 | 1871 | { 0x3b, KEY_VOLUMEUP }, | |
1748 | [ 0x37 ] = KEY_RECORD, | 1872 | { 0x00, KEY_CHANNELDOWN }, |
1749 | [ 0x17 ] = KEY_PLAY, | 1873 | { 0x07, KEY_BRIGHTNESSUP }, |
1750 | [ 0x13 ] = KEY_PAUSE, | 1874 | { 0x2c, KEY_TEXT }, |
1751 | [ 0x26 ] = KEY_STOP, | 1875 | |
1752 | [ 0x18 ] = KEY_FASTFORWARD, | 1876 | { 0x37, KEY_RECORD }, |
1753 | [ 0x14 ] = KEY_REWIND, | 1877 | { 0x17, KEY_PLAY }, |
1754 | [ 0x33 ] = KEY_ZOOM, | 1878 | { 0x13, KEY_PAUSE }, |
1755 | [ 0x32 ] = KEY_KEYBOARD, | 1879 | { 0x26, KEY_STOP }, |
1756 | [ 0x30 ] = KEY_GOTO, /* Pointing arrow */ | 1880 | { 0x18, KEY_FASTFORWARD }, |
1757 | [ 0x36 ] = KEY_MACRO, /* Maximize/Minimize (yellow) */ | 1881 | { 0x14, KEY_REWIND }, |
1758 | [ 0x0b ] = KEY_RADIO, | 1882 | { 0x33, KEY_ZOOM }, |
1759 | [ 0x10 ] = KEY_POWER, | 1883 | { 0x32, KEY_KEYBOARD }, |
1760 | 1884 | { 0x30, KEY_GOTO }, /* Pointing arrow */ | |
1761 | }; | 1885 | { 0x36, KEY_MACRO }, /* Maximize/Minimize (yellow) */ |
1762 | 1886 | { 0x0b, KEY_RADIO }, | |
1763 | EXPORT_SYMBOL_GPL(ir_codes_npgtech); | 1887 | { 0x10, KEY_POWER }, |
1888 | |||
1889 | }; | ||
1890 | |||
1891 | struct ir_scancode_table ir_codes_npgtech_table = { | ||
1892 | .scan = ir_codes_npgtech, | ||
1893 | .size = ARRAY_SIZE(ir_codes_npgtech), | ||
1894 | }; | ||
1895 | EXPORT_SYMBOL_GPL(ir_codes_npgtech_table); | ||
1764 | 1896 | ||
1765 | /* Norwood Micro (non-Pro) TV Tuner | 1897 | /* Norwood Micro (non-Pro) TV Tuner |
1766 | By Peter Naulls <peter@chocky.org> | 1898 | By Peter Naulls <peter@chocky.org> |
1767 | Key comments are the functions given in the manual */ | 1899 | Key comments are the functions given in the manual */ |
1768 | IR_KEYTAB_TYPE ir_codes_norwood[IR_KEYTAB_SIZE] = { | 1900 | static struct ir_scancode ir_codes_norwood[] = { |
1769 | /* Keys 0 to 9 */ | 1901 | /* Keys 0 to 9 */ |
1770 | [ 0x20 ] = KEY_0, | 1902 | { 0x20, KEY_0 }, |
1771 | [ 0x21 ] = KEY_1, | 1903 | { 0x21, KEY_1 }, |
1772 | [ 0x22 ] = KEY_2, | 1904 | { 0x22, KEY_2 }, |
1773 | [ 0x23 ] = KEY_3, | 1905 | { 0x23, KEY_3 }, |
1774 | [ 0x24 ] = KEY_4, | 1906 | { 0x24, KEY_4 }, |
1775 | [ 0x25 ] = KEY_5, | 1907 | { 0x25, KEY_5 }, |
1776 | [ 0x26 ] = KEY_6, | 1908 | { 0x26, KEY_6 }, |
1777 | [ 0x27 ] = KEY_7, | 1909 | { 0x27, KEY_7 }, |
1778 | [ 0x28 ] = KEY_8, | 1910 | { 0x28, KEY_8 }, |
1779 | [ 0x29 ] = KEY_9, | 1911 | { 0x29, KEY_9 }, |
1780 | 1912 | ||
1781 | [ 0x78 ] = KEY_TUNER, /* Video Source */ | 1913 | { 0x78, KEY_TUNER }, /* Video Source */ |
1782 | [ 0x2c ] = KEY_EXIT, /* Open/Close software */ | 1914 | { 0x2c, KEY_EXIT }, /* Open/Close software */ |
1783 | [ 0x2a ] = KEY_SELECT, /* 2 Digit Select */ | 1915 | { 0x2a, KEY_SELECT }, /* 2 Digit Select */ |
1784 | [ 0x69 ] = KEY_AGAIN, /* Recall */ | 1916 | { 0x69, KEY_AGAIN }, /* Recall */ |
1785 | 1917 | ||
1786 | [ 0x32 ] = KEY_BRIGHTNESSUP, /* Brightness increase */ | 1918 | { 0x32, KEY_BRIGHTNESSUP }, /* Brightness increase */ |
1787 | [ 0x33 ] = KEY_BRIGHTNESSDOWN, /* Brightness decrease */ | 1919 | { 0x33, KEY_BRIGHTNESSDOWN }, /* Brightness decrease */ |
1788 | [ 0x6b ] = KEY_KPPLUS, /* (not named >>>>>) */ | 1920 | { 0x6b, KEY_KPPLUS }, /* (not named >>>>>) */ |
1789 | [ 0x6c ] = KEY_KPMINUS, /* (not named <<<<<) */ | 1921 | { 0x6c, KEY_KPMINUS }, /* (not named <<<<<) */ |
1790 | 1922 | ||
1791 | [ 0x2d ] = KEY_MUTE, /* Mute */ | 1923 | { 0x2d, KEY_MUTE }, /* Mute */ |
1792 | [ 0x30 ] = KEY_VOLUMEUP, /* Volume up */ | 1924 | { 0x30, KEY_VOLUMEUP }, /* Volume up */ |
1793 | [ 0x31 ] = KEY_VOLUMEDOWN, /* Volume down */ | 1925 | { 0x31, KEY_VOLUMEDOWN }, /* Volume down */ |
1794 | [ 0x60 ] = KEY_CHANNELUP, /* Channel up */ | 1926 | { 0x60, KEY_CHANNELUP }, /* Channel up */ |
1795 | [ 0x61 ] = KEY_CHANNELDOWN, /* Channel down */ | 1927 | { 0x61, KEY_CHANNELDOWN }, /* Channel down */ |
1796 | 1928 | ||
1797 | [ 0x3f ] = KEY_RECORD, /* Record */ | 1929 | { 0x3f, KEY_RECORD }, /* Record */ |
1798 | [ 0x37 ] = KEY_PLAY, /* Play */ | 1930 | { 0x37, KEY_PLAY }, /* Play */ |
1799 | [ 0x36 ] = KEY_PAUSE, /* Pause */ | 1931 | { 0x36, KEY_PAUSE }, /* Pause */ |
1800 | [ 0x2b ] = KEY_STOP, /* Stop */ | 1932 | { 0x2b, KEY_STOP }, /* Stop */ |
1801 | [ 0x67 ] = KEY_FASTFORWARD, /* Foward */ | 1933 | { 0x67, KEY_FASTFORWARD }, /* Foward */ |
1802 | [ 0x66 ] = KEY_REWIND, /* Rewind */ | 1934 | { 0x66, KEY_REWIND }, /* Rewind */ |
1803 | [ 0x3e ] = KEY_SEARCH, /* Auto Scan */ | 1935 | { 0x3e, KEY_SEARCH }, /* Auto Scan */ |
1804 | [ 0x2e ] = KEY_CAMERA, /* Capture Video */ | 1936 | { 0x2e, KEY_CAMERA }, /* Capture Video */ |
1805 | [ 0x6d ] = KEY_MENU, /* Show/Hide Control */ | 1937 | { 0x6d, KEY_MENU }, /* Show/Hide Control */ |
1806 | [ 0x2f ] = KEY_ZOOM, /* Full Screen */ | 1938 | { 0x2f, KEY_ZOOM }, /* Full Screen */ |
1807 | [ 0x34 ] = KEY_RADIO, /* FM */ | 1939 | { 0x34, KEY_RADIO }, /* FM */ |
1808 | [ 0x65 ] = KEY_POWER, /* Computer power */ | 1940 | { 0x65, KEY_POWER }, /* Computer power */ |
1809 | }; | 1941 | }; |
1810 | 1942 | ||
1811 | EXPORT_SYMBOL_GPL(ir_codes_norwood); | 1943 | struct ir_scancode_table ir_codes_norwood_table = { |
1944 | .scan = ir_codes_norwood, | ||
1945 | .size = ARRAY_SIZE(ir_codes_norwood), | ||
1946 | }; | ||
1947 | EXPORT_SYMBOL_GPL(ir_codes_norwood_table); | ||
1812 | 1948 | ||
1813 | /* From reading the following remotes: | 1949 | /* From reading the following remotes: |
1814 | * Zenith Universal 7 / TV Mode 807 / VCR Mode 837 | 1950 | * Zenith Universal 7 / TV Mode 807 / VCR Mode 837 |
1815 | * Hauppauge (from NOVA-CI-s box product) | 1951 | * Hauppauge (from NOVA-CI-s box product) |
1816 | * This is a "middle of the road" approach, differences are noted | 1952 | * This is a "middle of the road" approach, differences are noted |
1817 | */ | 1953 | */ |
1818 | IR_KEYTAB_TYPE ir_codes_budget_ci_old[IR_KEYTAB_SIZE] = { | 1954 | static struct ir_scancode ir_codes_budget_ci_old[] = { |
1819 | [ 0x00 ] = KEY_0, | 1955 | { 0x00, KEY_0 }, |
1820 | [ 0x01 ] = KEY_1, | 1956 | { 0x01, KEY_1 }, |
1821 | [ 0x02 ] = KEY_2, | 1957 | { 0x02, KEY_2 }, |
1822 | [ 0x03 ] = KEY_3, | 1958 | { 0x03, KEY_3 }, |
1823 | [ 0x04 ] = KEY_4, | 1959 | { 0x04, KEY_4 }, |
1824 | [ 0x05 ] = KEY_5, | 1960 | { 0x05, KEY_5 }, |
1825 | [ 0x06 ] = KEY_6, | 1961 | { 0x06, KEY_6 }, |
1826 | [ 0x07 ] = KEY_7, | 1962 | { 0x07, KEY_7 }, |
1827 | [ 0x08 ] = KEY_8, | 1963 | { 0x08, KEY_8 }, |
1828 | [ 0x09 ] = KEY_9, | 1964 | { 0x09, KEY_9 }, |
1829 | [ 0x0a ] = KEY_ENTER, | 1965 | { 0x0a, KEY_ENTER }, |
1830 | [ 0x0b ] = KEY_RED, | 1966 | { 0x0b, KEY_RED }, |
1831 | [ 0x0c ] = KEY_POWER, /* RADIO on Hauppauge */ | 1967 | { 0x0c, KEY_POWER }, /* RADIO on Hauppauge */ |
1832 | [ 0x0d ] = KEY_MUTE, | 1968 | { 0x0d, KEY_MUTE }, |
1833 | [ 0x0f ] = KEY_A, /* TV on Hauppauge */ | 1969 | { 0x0f, KEY_A }, /* TV on Hauppauge */ |
1834 | [ 0x10 ] = KEY_VOLUMEUP, | 1970 | { 0x10, KEY_VOLUMEUP }, |
1835 | [ 0x11 ] = KEY_VOLUMEDOWN, | 1971 | { 0x11, KEY_VOLUMEDOWN }, |
1836 | [ 0x14 ] = KEY_B, | 1972 | { 0x14, KEY_B }, |
1837 | [ 0x1c ] = KEY_UP, | 1973 | { 0x1c, KEY_UP }, |
1838 | [ 0x1d ] = KEY_DOWN, | 1974 | { 0x1d, KEY_DOWN }, |
1839 | [ 0x1e ] = KEY_OPTION, /* RESERVED on Hauppauge */ | 1975 | { 0x1e, KEY_OPTION }, /* RESERVED on Hauppauge */ |
1840 | [ 0x1f ] = KEY_BREAK, | 1976 | { 0x1f, KEY_BREAK }, |
1841 | [ 0x20 ] = KEY_CHANNELUP, | 1977 | { 0x20, KEY_CHANNELUP }, |
1842 | [ 0x21 ] = KEY_CHANNELDOWN, | 1978 | { 0x21, KEY_CHANNELDOWN }, |
1843 | [ 0x22 ] = KEY_PREVIOUS, /* Prev. Ch on Zenith, SOURCE on Hauppauge */ | 1979 | { 0x22, KEY_PREVIOUS }, /* Prev Ch on Zenith, SOURCE on Hauppauge */ |
1844 | [ 0x24 ] = KEY_RESTART, | 1980 | { 0x24, KEY_RESTART }, |
1845 | [ 0x25 ] = KEY_OK, | 1981 | { 0x25, KEY_OK }, |
1846 | [ 0x26 ] = KEY_CYCLEWINDOWS, /* MINIMIZE on Hauppauge */ | 1982 | { 0x26, KEY_CYCLEWINDOWS }, /* MINIMIZE on Hauppauge */ |
1847 | [ 0x28 ] = KEY_ENTER, /* VCR mode on Zenith */ | 1983 | { 0x28, KEY_ENTER }, /* VCR mode on Zenith */ |
1848 | [ 0x29 ] = KEY_PAUSE, | 1984 | { 0x29, KEY_PAUSE }, |
1849 | [ 0x2b ] = KEY_RIGHT, | 1985 | { 0x2b, KEY_RIGHT }, |
1850 | [ 0x2c ] = KEY_LEFT, | 1986 | { 0x2c, KEY_LEFT }, |
1851 | [ 0x2e ] = KEY_MENU, /* FULL SCREEN on Hauppauge */ | 1987 | { 0x2e, KEY_MENU }, /* FULL SCREEN on Hauppauge */ |
1852 | [ 0x30 ] = KEY_SLOW, | 1988 | { 0x30, KEY_SLOW }, |
1853 | [ 0x31 ] = KEY_PREVIOUS, /* VCR mode on Zenith */ | 1989 | { 0x31, KEY_PREVIOUS }, /* VCR mode on Zenith */ |
1854 | [ 0x32 ] = KEY_REWIND, | 1990 | { 0x32, KEY_REWIND }, |
1855 | [ 0x34 ] = KEY_FASTFORWARD, | 1991 | { 0x34, KEY_FASTFORWARD }, |
1856 | [ 0x35 ] = KEY_PLAY, | 1992 | { 0x35, KEY_PLAY }, |
1857 | [ 0x36 ] = KEY_STOP, | 1993 | { 0x36, KEY_STOP }, |
1858 | [ 0x37 ] = KEY_RECORD, | 1994 | { 0x37, KEY_RECORD }, |
1859 | [ 0x38 ] = KEY_TUNER, /* TV/VCR on Zenith */ | 1995 | { 0x38, KEY_TUNER }, /* TV/VCR on Zenith */ |
1860 | [ 0x3a ] = KEY_C, | 1996 | { 0x3a, KEY_C }, |
1861 | [ 0x3c ] = KEY_EXIT, | 1997 | { 0x3c, KEY_EXIT }, |
1862 | [ 0x3d ] = KEY_POWER2, | 1998 | { 0x3d, KEY_POWER2 }, |
1863 | [ 0x3e ] = KEY_TUNER, | 1999 | { 0x3e, KEY_TUNER }, |
1864 | }; | 2000 | }; |
1865 | 2001 | ||
1866 | EXPORT_SYMBOL_GPL(ir_codes_budget_ci_old); | 2002 | struct ir_scancode_table ir_codes_budget_ci_old_table = { |
2003 | .scan = ir_codes_budget_ci_old, | ||
2004 | .size = ARRAY_SIZE(ir_codes_budget_ci_old), | ||
2005 | }; | ||
2006 | EXPORT_SYMBOL_GPL(ir_codes_budget_ci_old_table); | ||
1867 | 2007 | ||
1868 | /* | 2008 | /* |
1869 | * Marc Fargas <telenieko@telenieko.com> | 2009 | * Marc Fargas <telenieko@telenieko.com> |
1870 | * this is the remote control that comes with the asus p7131 | 2010 | * this is the remote control that comes with the asus p7131 |
1871 | * which has a label saying is "Model PC-39" | 2011 | * which has a label saying is "Model PC-39" |
1872 | */ | 2012 | */ |
1873 | IR_KEYTAB_TYPE ir_codes_asus_pc39[IR_KEYTAB_SIZE] = { | 2013 | static struct ir_scancode ir_codes_asus_pc39[] = { |
1874 | /* Keys 0 to 9 */ | 2014 | /* Keys 0 to 9 */ |
1875 | [ 0x15 ] = KEY_0, | 2015 | { 0x15, KEY_0 }, |
1876 | [ 0x29 ] = KEY_1, | 2016 | { 0x29, KEY_1 }, |
1877 | [ 0x2d ] = KEY_2, | 2017 | { 0x2d, KEY_2 }, |
1878 | [ 0x2b ] = KEY_3, | 2018 | { 0x2b, KEY_3 }, |
1879 | [ 0x09 ] = KEY_4, | 2019 | { 0x09, KEY_4 }, |
1880 | [ 0x0d ] = KEY_5, | 2020 | { 0x0d, KEY_5 }, |
1881 | [ 0x0b ] = KEY_6, | 2021 | { 0x0b, KEY_6 }, |
1882 | [ 0x31 ] = KEY_7, | 2022 | { 0x31, KEY_7 }, |
1883 | [ 0x35 ] = KEY_8, | 2023 | { 0x35, KEY_8 }, |
1884 | [ 0x33 ] = KEY_9, | 2024 | { 0x33, KEY_9 }, |
1885 | 2025 | ||
1886 | [ 0x3e ] = KEY_RADIO, /* radio */ | 2026 | { 0x3e, KEY_RADIO }, /* radio */ |
1887 | [ 0x03 ] = KEY_MENU, /* dvd/menu */ | 2027 | { 0x03, KEY_MENU }, /* dvd/menu */ |
1888 | [ 0x2a ] = KEY_VOLUMEUP, | 2028 | { 0x2a, KEY_VOLUMEUP }, |
1889 | [ 0x19 ] = KEY_VOLUMEDOWN, | 2029 | { 0x19, KEY_VOLUMEDOWN }, |
1890 | [ 0x37 ] = KEY_UP, | 2030 | { 0x37, KEY_UP }, |
1891 | [ 0x3b ] = KEY_DOWN, | 2031 | { 0x3b, KEY_DOWN }, |
1892 | [ 0x27 ] = KEY_LEFT, | 2032 | { 0x27, KEY_LEFT }, |
1893 | [ 0x2f ] = KEY_RIGHT, | 2033 | { 0x2f, KEY_RIGHT }, |
1894 | [ 0x25 ] = KEY_VIDEO, /* video */ | 2034 | { 0x25, KEY_VIDEO }, /* video */ |
1895 | [ 0x39 ] = KEY_AUDIO, /* music */ | 2035 | { 0x39, KEY_AUDIO }, /* music */ |
1896 | 2036 | ||
1897 | [ 0x21 ] = KEY_TV, /* tv */ | 2037 | { 0x21, KEY_TV }, /* tv */ |
1898 | [ 0x1d ] = KEY_EXIT, /* back */ | 2038 | { 0x1d, KEY_EXIT }, /* back */ |
1899 | [ 0x0a ] = KEY_CHANNELUP, /* channel / program + */ | 2039 | { 0x0a, KEY_CHANNELUP }, /* channel / program + */ |
1900 | [ 0x1b ] = KEY_CHANNELDOWN, /* channel / program - */ | 2040 | { 0x1b, KEY_CHANNELDOWN }, /* channel / program - */ |
1901 | [ 0x1a ] = KEY_ENTER, /* enter */ | 2041 | { 0x1a, KEY_ENTER }, /* enter */ |
1902 | 2042 | ||
1903 | [ 0x06 ] = KEY_PAUSE, /* play/pause */ | 2043 | { 0x06, KEY_PAUSE }, /* play/pause */ |
1904 | [ 0x1e ] = KEY_PREVIOUS, /* rew */ | 2044 | { 0x1e, KEY_PREVIOUS }, /* rew */ |
1905 | [ 0x26 ] = KEY_NEXT, /* forward */ | 2045 | { 0x26, KEY_NEXT }, /* forward */ |
1906 | [ 0x0e ] = KEY_REWIND, /* backward << */ | 2046 | { 0x0e, KEY_REWIND }, /* backward << */ |
1907 | [ 0x3a ] = KEY_FASTFORWARD, /* forward >> */ | 2047 | { 0x3a, KEY_FASTFORWARD }, /* forward >> */ |
1908 | [ 0x36 ] = KEY_STOP, | 2048 | { 0x36, KEY_STOP }, |
1909 | [ 0x2e ] = KEY_RECORD, /* recording */ | 2049 | { 0x2e, KEY_RECORD }, /* recording */ |
1910 | [ 0x16 ] = KEY_POWER, /* the button that reads "close" */ | 2050 | { 0x16, KEY_POWER }, /* the button that reads "close" */ |
1911 | 2051 | ||
1912 | [ 0x11 ] = KEY_ZOOM, /* full screen */ | 2052 | { 0x11, KEY_ZOOM }, /* full screen */ |
1913 | [ 0x13 ] = KEY_MACRO, /* recall */ | 2053 | { 0x13, KEY_MACRO }, /* recall */ |
1914 | [ 0x23 ] = KEY_HOME, /* home */ | 2054 | { 0x23, KEY_HOME }, /* home */ |
1915 | [ 0x05 ] = KEY_PVR, /* picture */ | 2055 | { 0x05, KEY_PVR }, /* picture */ |
1916 | [ 0x3d ] = KEY_MUTE, /* mute */ | 2056 | { 0x3d, KEY_MUTE }, /* mute */ |
1917 | [ 0x01 ] = KEY_DVD, /* dvd */ | 2057 | { 0x01, KEY_DVD }, /* dvd */ |
1918 | }; | 2058 | }; |
1919 | 2059 | ||
1920 | EXPORT_SYMBOL_GPL(ir_codes_asus_pc39); | 2060 | struct ir_scancode_table ir_codes_asus_pc39_table = { |
2061 | .scan = ir_codes_asus_pc39, | ||
2062 | .size = ARRAY_SIZE(ir_codes_asus_pc39), | ||
2063 | }; | ||
2064 | EXPORT_SYMBOL_GPL(ir_codes_asus_pc39_table); | ||
1921 | 2065 | ||
1922 | 2066 | ||
1923 | /* Encore ENLTV-FM - black plastic, white front cover with white glowing buttons | 2067 | /* Encore ENLTV-FM - black plastic, white front cover with white glowing buttons |
1924 | Juan Pablo Sormani <sorman@gmail.com> */ | 2068 | Juan Pablo Sormani <sorman@gmail.com> */ |
1925 | IR_KEYTAB_TYPE ir_codes_encore_enltv[IR_KEYTAB_SIZE] = { | 2069 | static struct ir_scancode ir_codes_encore_enltv[] = { |
1926 | 2070 | ||
1927 | /* Power button does nothing, neither in Windows app, | 2071 | /* Power button does nothing, neither in Windows app, |
1928 | although it sends data (used for BIOS wakeup?) */ | 2072 | although it sends data (used for BIOS wakeup?) */ |
1929 | [ 0x0d ] = KEY_MUTE, | 2073 | { 0x0d, KEY_MUTE }, |
1930 | 2074 | ||
1931 | [ 0x1e ] = KEY_TV, | 2075 | { 0x1e, KEY_TV }, |
1932 | [ 0x00 ] = KEY_VIDEO, | 2076 | { 0x00, KEY_VIDEO }, |
1933 | [ 0x01 ] = KEY_AUDIO, /* music */ | 2077 | { 0x01, KEY_AUDIO }, /* music */ |
1934 | [ 0x02 ] = KEY_MHP, /* picture */ | 2078 | { 0x02, KEY_MHP }, /* picture */ |
1935 | 2079 | ||
1936 | [ 0x1f ] = KEY_1, | 2080 | { 0x1f, KEY_1 }, |
1937 | [ 0x03 ] = KEY_2, | 2081 | { 0x03, KEY_2 }, |
1938 | [ 0x04 ] = KEY_3, | 2082 | { 0x04, KEY_3 }, |
1939 | [ 0x05 ] = KEY_4, | 2083 | { 0x05, KEY_4 }, |
1940 | [ 0x1c ] = KEY_5, | 2084 | { 0x1c, KEY_5 }, |
1941 | [ 0x06 ] = KEY_6, | 2085 | { 0x06, KEY_6 }, |
1942 | [ 0x07 ] = KEY_7, | 2086 | { 0x07, KEY_7 }, |
1943 | [ 0x08 ] = KEY_8, | 2087 | { 0x08, KEY_8 }, |
1944 | [ 0x1d ] = KEY_9, | 2088 | { 0x1d, KEY_9 }, |
1945 | [ 0x0a ] = KEY_0, | 2089 | { 0x0a, KEY_0 }, |
1946 | 2090 | ||
1947 | [ 0x09 ] = KEY_LIST, /* -/-- */ | 2091 | { 0x09, KEY_LIST }, /* -/-- */ |
1948 | [ 0x0b ] = KEY_LAST, /* recall */ | 2092 | { 0x0b, KEY_LAST }, /* recall */ |
1949 | 2093 | ||
1950 | [ 0x14 ] = KEY_HOME, /* win start menu */ | 2094 | { 0x14, KEY_HOME }, /* win start menu */ |
1951 | [ 0x15 ] = KEY_EXIT, /* exit */ | 2095 | { 0x15, KEY_EXIT }, /* exit */ |
1952 | [ 0x16 ] = KEY_UP, | 2096 | { 0x16, KEY_CHANNELUP }, /* UP */ |
1953 | [ 0x12 ] = KEY_DOWN, | 2097 | { 0x12, KEY_CHANNELDOWN }, /* DOWN */ |
1954 | [ 0x0c ] = KEY_RIGHT, | 2098 | { 0x0c, KEY_VOLUMEUP }, /* RIGHT */ |
1955 | [ 0x17 ] = KEY_LEFT, | 2099 | { 0x17, KEY_VOLUMEDOWN }, /* LEFT */ |
1956 | 2100 | ||
1957 | [ 0x18 ] = KEY_ENTER, /* OK */ | 2101 | { 0x18, KEY_ENTER }, /* OK */ |
1958 | 2102 | ||
1959 | [ 0x0e ] = KEY_ESC, | 2103 | { 0x0e, KEY_ESC }, |
1960 | [ 0x13 ] = KEY_D, /* desktop */ | 2104 | { 0x13, KEY_CYCLEWINDOWS }, /* desktop */ |
1961 | [ 0x11 ] = KEY_TAB, | 2105 | { 0x11, KEY_TAB }, |
1962 | [ 0x19 ] = KEY_SWITCHVIDEOMODE, /* switch */ | 2106 | { 0x19, KEY_SWITCHVIDEOMODE }, /* switch */ |
1963 | 2107 | ||
1964 | [ 0x1a ] = KEY_MENU, | 2108 | { 0x1a, KEY_MENU }, |
1965 | [ 0x1b ] = KEY_ZOOM, /* fullscreen */ | 2109 | { 0x1b, KEY_ZOOM }, /* fullscreen */ |
1966 | [ 0x44 ] = KEY_TIME, /* time shift */ | 2110 | { 0x44, KEY_TIME }, /* time shift */ |
1967 | [ 0x40 ] = KEY_MODE, /* source */ | 2111 | { 0x40, KEY_MODE }, /* source */ |
1968 | 2112 | ||
1969 | [ 0x5a ] = KEY_RECORD, | 2113 | { 0x5a, KEY_RECORD }, |
1970 | [ 0x42 ] = KEY_PLAY, /* play/pause */ | 2114 | { 0x42, KEY_PLAY }, /* play/pause */ |
1971 | [ 0x45 ] = KEY_STOP, | 2115 | { 0x45, KEY_STOP }, |
1972 | [ 0x43 ] = KEY_CAMERA, /* camera icon */ | 2116 | { 0x43, KEY_CAMERA }, /* camera icon */ |
1973 | 2117 | ||
1974 | [ 0x48 ] = KEY_REWIND, | 2118 | { 0x48, KEY_REWIND }, |
1975 | [ 0x4a ] = KEY_FASTFORWARD, | 2119 | { 0x4a, KEY_FASTFORWARD }, |
1976 | [ 0x49 ] = KEY_PREVIOUS, | 2120 | { 0x49, KEY_PREVIOUS }, |
1977 | [ 0x4b ] = KEY_NEXT, | 2121 | { 0x4b, KEY_NEXT }, |
1978 | 2122 | ||
1979 | [ 0x4c ] = KEY_FAVORITES, /* tv wall */ | 2123 | { 0x4c, KEY_FAVORITES }, /* tv wall */ |
1980 | [ 0x4d ] = KEY_SOUND, /* DVD sound */ | 2124 | { 0x4d, KEY_SOUND }, /* DVD sound */ |
1981 | [ 0x4e ] = KEY_LANGUAGE, /* DVD lang */ | 2125 | { 0x4e, KEY_LANGUAGE }, /* DVD lang */ |
1982 | [ 0x4f ] = KEY_TEXT, /* DVD text */ | 2126 | { 0x4f, KEY_TEXT }, /* DVD text */ |
1983 | 2127 | ||
1984 | [ 0x50 ] = KEY_SLEEP, /* shutdown */ | 2128 | { 0x50, KEY_SLEEP }, /* shutdown */ |
1985 | [ 0x51 ] = KEY_MODE, /* stereo > main */ | 2129 | { 0x51, KEY_MODE }, /* stereo > main */ |
1986 | [ 0x52 ] = KEY_SELECT, /* stereo > sap */ | 2130 | { 0x52, KEY_SELECT }, /* stereo > sap */ |
1987 | [ 0x53 ] = KEY_PROG1, /* teletext */ | 2131 | { 0x53, KEY_PROG1 }, /* teletext */ |
1988 | 2132 | ||
1989 | 2133 | ||
1990 | [ 0x59 ] = KEY_RED, /* AP1 */ | 2134 | { 0x59, KEY_RED }, /* AP1 */ |
1991 | [ 0x41 ] = KEY_GREEN, /* AP2 */ | 2135 | { 0x41, KEY_GREEN }, /* AP2 */ |
1992 | [ 0x47 ] = KEY_YELLOW, /* AP3 */ | 2136 | { 0x47, KEY_YELLOW }, /* AP3 */ |
1993 | [ 0x57 ] = KEY_BLUE, /* AP4 */ | 2137 | { 0x57, KEY_BLUE }, /* AP4 */ |
1994 | }; | 2138 | }; |
1995 | EXPORT_SYMBOL_GPL(ir_codes_encore_enltv); | 2139 | |
2140 | struct ir_scancode_table ir_codes_encore_enltv_table = { | ||
2141 | .scan = ir_codes_encore_enltv, | ||
2142 | .size = ARRAY_SIZE(ir_codes_encore_enltv), | ||
2143 | }; | ||
2144 | EXPORT_SYMBOL_GPL(ir_codes_encore_enltv_table); | ||
1996 | 2145 | ||
1997 | /* Encore ENLTV2-FM - silver plastic - "Wand Media" written at the botton | 2146 | /* Encore ENLTV2-FM - silver plastic - "Wand Media" written at the botton |
1998 | Mauro Carvalho Chehab <mchehab@infradead.org> */ | 2147 | Mauro Carvalho Chehab <mchehab@infradead.org> */ |
1999 | IR_KEYTAB_TYPE ir_codes_encore_enltv2[IR_KEYTAB_SIZE] = { | 2148 | static struct ir_scancode ir_codes_encore_enltv2[] = { |
2000 | [0x4c] = KEY_POWER2, | 2149 | { 0x4c, KEY_POWER2 }, |
2001 | [0x4a] = KEY_TUNER, | 2150 | { 0x4a, KEY_TUNER }, |
2002 | [0x40] = KEY_1, | 2151 | { 0x40, KEY_1 }, |
2003 | [0x60] = KEY_2, | 2152 | { 0x60, KEY_2 }, |
2004 | [0x50] = KEY_3, | 2153 | { 0x50, KEY_3 }, |
2005 | [0x70] = KEY_4, | 2154 | { 0x70, KEY_4 }, |
2006 | [0x48] = KEY_5, | 2155 | { 0x48, KEY_5 }, |
2007 | [0x68] = KEY_6, | 2156 | { 0x68, KEY_6 }, |
2008 | [0x58] = KEY_7, | 2157 | { 0x58, KEY_7 }, |
2009 | [0x78] = KEY_8, | 2158 | { 0x78, KEY_8 }, |
2010 | [0x44] = KEY_9, | 2159 | { 0x44, KEY_9 }, |
2011 | [0x54] = KEY_0, | 2160 | { 0x54, KEY_0 }, |
2012 | 2161 | ||
2013 | [0x64] = KEY_LAST, /* +100 */ | 2162 | { 0x64, KEY_LAST }, /* +100 */ |
2014 | [0x4e] = KEY_AGAIN, /* Recall */ | 2163 | { 0x4e, KEY_AGAIN }, /* Recall */ |
2015 | 2164 | ||
2016 | [0x6c] = KEY_SWITCHVIDEOMODE, /* Video Source */ | 2165 | { 0x6c, KEY_SWITCHVIDEOMODE }, /* Video Source */ |
2017 | [0x5e] = KEY_MENU, | 2166 | { 0x5e, KEY_MENU }, |
2018 | [0x56] = KEY_SCREEN, | 2167 | { 0x56, KEY_SCREEN }, |
2019 | [0x7a] = KEY_SETUP, | 2168 | { 0x7a, KEY_SETUP }, |
2020 | 2169 | ||
2021 | [0x46] = KEY_MUTE, | 2170 | { 0x46, KEY_MUTE }, |
2022 | [0x5c] = KEY_MODE, /* Stereo */ | 2171 | { 0x5c, KEY_MODE }, /* Stereo */ |
2023 | [0x74] = KEY_INFO, | 2172 | { 0x74, KEY_INFO }, |
2024 | [0x7c] = KEY_CLEAR, | 2173 | { 0x7c, KEY_CLEAR }, |
2025 | 2174 | ||
2026 | [0x55] = KEY_UP, | 2175 | { 0x55, KEY_UP }, |
2027 | [0x49] = KEY_DOWN, | 2176 | { 0x49, KEY_DOWN }, |
2028 | [0x7e] = KEY_LEFT, | 2177 | { 0x7e, KEY_LEFT }, |
2029 | [0x59] = KEY_RIGHT, | 2178 | { 0x59, KEY_RIGHT }, |
2030 | [0x6a] = KEY_ENTER, | 2179 | { 0x6a, KEY_ENTER }, |
2031 | 2180 | ||
2032 | [0x42] = KEY_VOLUMEUP, | 2181 | { 0x42, KEY_VOLUMEUP }, |
2033 | [0x62] = KEY_VOLUMEDOWN, | 2182 | { 0x62, KEY_VOLUMEDOWN }, |
2034 | [0x52] = KEY_CHANNELUP, | 2183 | { 0x52, KEY_CHANNELUP }, |
2035 | [0x72] = KEY_CHANNELDOWN, | 2184 | { 0x72, KEY_CHANNELDOWN }, |
2036 | 2185 | ||
2037 | [0x41] = KEY_RECORD, | 2186 | { 0x41, KEY_RECORD }, |
2038 | [0x51] = KEY_SHUFFLE, /* Snapshot */ | 2187 | { 0x51, KEY_CAMERA }, /* Snapshot */ |
2039 | [0x75] = KEY_TIME, /* Timeshift */ | 2188 | { 0x75, KEY_TIME }, /* Timeshift */ |
2040 | [0x71] = KEY_TV2, /* PIP */ | 2189 | { 0x71, KEY_TV2 }, /* PIP */ |
2041 | 2190 | ||
2042 | [0x45] = KEY_REWIND, | 2191 | { 0x45, KEY_REWIND }, |
2043 | [0x6f] = KEY_PAUSE, | 2192 | { 0x6f, KEY_PAUSE }, |
2044 | [0x7d] = KEY_FORWARD, | 2193 | { 0x7d, KEY_FORWARD }, |
2045 | [0x79] = KEY_STOP, | 2194 | { 0x79, KEY_STOP }, |
2046 | }; | 2195 | }; |
2047 | EXPORT_SYMBOL_GPL(ir_codes_encore_enltv2); | 2196 | |
2197 | struct ir_scancode_table ir_codes_encore_enltv2_table = { | ||
2198 | .scan = ir_codes_encore_enltv2, | ||
2199 | .size = ARRAY_SIZE(ir_codes_encore_enltv2), | ||
2200 | }; | ||
2201 | EXPORT_SYMBOL_GPL(ir_codes_encore_enltv2_table); | ||
2048 | 2202 | ||
2049 | /* for the Technotrend 1500 bundled remotes (grey and black): */ | 2203 | /* for the Technotrend 1500 bundled remotes (grey and black): */ |
2050 | IR_KEYTAB_TYPE ir_codes_tt_1500[IR_KEYTAB_SIZE] = { | 2204 | static struct ir_scancode ir_codes_tt_1500[] = { |
2051 | [ 0x01 ] = KEY_POWER, | 2205 | { 0x01, KEY_POWER }, |
2052 | [ 0x02 ] = KEY_SHUFFLE, /* ? double-arrow key */ | 2206 | { 0x02, KEY_SHUFFLE }, /* ? double-arrow key */ |
2053 | [ 0x03 ] = KEY_1, | 2207 | { 0x03, KEY_1 }, |
2054 | [ 0x04 ] = KEY_2, | 2208 | { 0x04, KEY_2 }, |
2055 | [ 0x05 ] = KEY_3, | 2209 | { 0x05, KEY_3 }, |
2056 | [ 0x06 ] = KEY_4, | 2210 | { 0x06, KEY_4 }, |
2057 | [ 0x07 ] = KEY_5, | 2211 | { 0x07, KEY_5 }, |
2058 | [ 0x08 ] = KEY_6, | 2212 | { 0x08, KEY_6 }, |
2059 | [ 0x09 ] = KEY_7, | 2213 | { 0x09, KEY_7 }, |
2060 | [ 0x0a ] = KEY_8, | 2214 | { 0x0a, KEY_8 }, |
2061 | [ 0x0b ] = KEY_9, | 2215 | { 0x0b, KEY_9 }, |
2062 | [ 0x0c ] = KEY_0, | 2216 | { 0x0c, KEY_0 }, |
2063 | [ 0x0d ] = KEY_UP, | 2217 | { 0x0d, KEY_UP }, |
2064 | [ 0x0e ] = KEY_LEFT, | 2218 | { 0x0e, KEY_LEFT }, |
2065 | [ 0x0f ] = KEY_OK, | 2219 | { 0x0f, KEY_OK }, |
2066 | [ 0x10 ] = KEY_RIGHT, | 2220 | { 0x10, KEY_RIGHT }, |
2067 | [ 0x11 ] = KEY_DOWN, | 2221 | { 0x11, KEY_DOWN }, |
2068 | [ 0x12 ] = KEY_INFO, | 2222 | { 0x12, KEY_INFO }, |
2069 | [ 0x13 ] = KEY_EXIT, | 2223 | { 0x13, KEY_EXIT }, |
2070 | [ 0x14 ] = KEY_RED, | 2224 | { 0x14, KEY_RED }, |
2071 | [ 0x15 ] = KEY_GREEN, | 2225 | { 0x15, KEY_GREEN }, |
2072 | [ 0x16 ] = KEY_YELLOW, | 2226 | { 0x16, KEY_YELLOW }, |
2073 | [ 0x17 ] = KEY_BLUE, | 2227 | { 0x17, KEY_BLUE }, |
2074 | [ 0x18 ] = KEY_MUTE, | 2228 | { 0x18, KEY_MUTE }, |
2075 | [ 0x19 ] = KEY_TEXT, | 2229 | { 0x19, KEY_TEXT }, |
2076 | [ 0x1a ] = KEY_MODE, /* ? TV/Radio */ | 2230 | { 0x1a, KEY_MODE }, /* ? TV/Radio */ |
2077 | [ 0x21 ] = KEY_OPTION, | 2231 | { 0x21, KEY_OPTION }, |
2078 | [ 0x22 ] = KEY_EPG, | 2232 | { 0x22, KEY_EPG }, |
2079 | [ 0x23 ] = KEY_CHANNELUP, | 2233 | { 0x23, KEY_CHANNELUP }, |
2080 | [ 0x24 ] = KEY_CHANNELDOWN, | 2234 | { 0x24, KEY_CHANNELDOWN }, |
2081 | [ 0x25 ] = KEY_VOLUMEUP, | 2235 | { 0x25, KEY_VOLUMEUP }, |
2082 | [ 0x26 ] = KEY_VOLUMEDOWN, | 2236 | { 0x26, KEY_VOLUMEDOWN }, |
2083 | [ 0x27 ] = KEY_SETUP, | 2237 | { 0x27, KEY_SETUP }, |
2084 | [ 0x3a ] = KEY_RECORD, /* these keys are only in the black remote */ | 2238 | { 0x3a, KEY_RECORD }, /* these keys are only in the black remote */ |
2085 | [ 0x3b ] = KEY_PLAY, | 2239 | { 0x3b, KEY_PLAY }, |
2086 | [ 0x3c ] = KEY_STOP, | 2240 | { 0x3c, KEY_STOP }, |
2087 | [ 0x3d ] = KEY_REWIND, | 2241 | { 0x3d, KEY_REWIND }, |
2088 | [ 0x3e ] = KEY_PAUSE, | 2242 | { 0x3e, KEY_PAUSE }, |
2089 | [ 0x3f ] = KEY_FORWARD, | 2243 | { 0x3f, KEY_FORWARD }, |
2090 | }; | 2244 | }; |
2091 | 2245 | ||
2092 | EXPORT_SYMBOL_GPL(ir_codes_tt_1500); | 2246 | struct ir_scancode_table ir_codes_tt_1500_table = { |
2247 | .scan = ir_codes_tt_1500, | ||
2248 | .size = ARRAY_SIZE(ir_codes_tt_1500), | ||
2249 | }; | ||
2250 | EXPORT_SYMBOL_GPL(ir_codes_tt_1500_table); | ||
2093 | 2251 | ||
2094 | /* DViCO FUSION HDTV MCE remote */ | 2252 | /* DViCO FUSION HDTV MCE remote */ |
2095 | IR_KEYTAB_TYPE ir_codes_fusionhdtv_mce[IR_KEYTAB_SIZE] = { | 2253 | static struct ir_scancode ir_codes_fusionhdtv_mce[] = { |
2096 | 2254 | ||
2097 | [ 0x0b ] = KEY_1, | 2255 | { 0x0b, KEY_1 }, |
2098 | [ 0x17 ] = KEY_2, | 2256 | { 0x17, KEY_2 }, |
2099 | [ 0x1b ] = KEY_3, | 2257 | { 0x1b, KEY_3 }, |
2100 | [ 0x07 ] = KEY_4, | 2258 | { 0x07, KEY_4 }, |
2101 | [ 0x50 ] = KEY_5, | 2259 | { 0x50, KEY_5 }, |
2102 | [ 0x54 ] = KEY_6, | 2260 | { 0x54, KEY_6 }, |
2103 | [ 0x48 ] = KEY_7, | 2261 | { 0x48, KEY_7 }, |
2104 | [ 0x4c ] = KEY_8, | 2262 | { 0x4c, KEY_8 }, |
2105 | [ 0x58 ] = KEY_9, | 2263 | { 0x58, KEY_9 }, |
2106 | [ 0x03 ] = KEY_0, | 2264 | { 0x03, KEY_0 }, |
2107 | 2265 | ||
2108 | [ 0x5e ] = KEY_OK, | 2266 | { 0x5e, KEY_OK }, |
2109 | [ 0x51 ] = KEY_UP, | 2267 | { 0x51, KEY_UP }, |
2110 | [ 0x53 ] = KEY_DOWN, | 2268 | { 0x53, KEY_DOWN }, |
2111 | [ 0x5b ] = KEY_LEFT, | 2269 | { 0x5b, KEY_LEFT }, |
2112 | [ 0x5f ] = KEY_RIGHT, | 2270 | { 0x5f, KEY_RIGHT }, |
2113 | 2271 | ||
2114 | [ 0x02 ] = KEY_TV, /* Labeled DTV on remote */ | 2272 | { 0x02, KEY_TV }, /* Labeled DTV on remote */ |
2115 | [ 0x0e ] = KEY_MP3, | 2273 | { 0x0e, KEY_MP3 }, |
2116 | [ 0x1a ] = KEY_DVD, | 2274 | { 0x1a, KEY_DVD }, |
2117 | [ 0x1e ] = KEY_FAVORITES, /* Labeled CPF on remote */ | 2275 | { 0x1e, KEY_FAVORITES }, /* Labeled CPF on remote */ |
2118 | [ 0x16 ] = KEY_SETUP, | 2276 | { 0x16, KEY_SETUP }, |
2119 | [ 0x46 ] = KEY_POWER2, /* TV On/Off button on remote */ | 2277 | { 0x46, KEY_POWER2 }, /* TV On/Off button on remote */ |
2120 | [ 0x0a ] = KEY_EPG, /* Labeled Guide on remote */ | 2278 | { 0x0a, KEY_EPG }, /* Labeled Guide on remote */ |
2121 | 2279 | ||
2122 | [ 0x49 ] = KEY_BACK, | 2280 | { 0x49, KEY_BACK }, |
2123 | [ 0x59 ] = KEY_INFO, /* Labeled MORE on remote */ | 2281 | { 0x59, KEY_INFO }, /* Labeled MORE on remote */ |
2124 | [ 0x4d ] = KEY_MENU, /* Labeled DVDMENU on remote */ | 2282 | { 0x4d, KEY_MENU }, /* Labeled DVDMENU on remote */ |
2125 | [ 0x55 ] = KEY_CYCLEWINDOWS, /* Labeled ALT-TAB on remote */ | 2283 | { 0x55, KEY_CYCLEWINDOWS }, /* Labeled ALT-TAB on remote */ |
2126 | 2284 | ||
2127 | [ 0x0f ] = KEY_PREVIOUSSONG, /* Labeled |<< REPLAY on remote */ | 2285 | { 0x0f, KEY_PREVIOUSSONG }, /* Labeled |<< REPLAY on remote */ |
2128 | [ 0x12 ] = KEY_NEXTSONG, /* Labeled >>| SKIP on remote */ | 2286 | { 0x12, KEY_NEXTSONG }, /* Labeled >>| SKIP on remote */ |
2129 | [ 0x42 ] = KEY_ENTER, /* Labeled START with a green | 2287 | { 0x42, KEY_ENTER }, /* Labeled START with a green |
2130 | * MS windows logo on remote */ | 2288 | MS windows logo on remote */ |
2131 | 2289 | ||
2132 | [ 0x15 ] = KEY_VOLUMEUP, | 2290 | { 0x15, KEY_VOLUMEUP }, |
2133 | [ 0x05 ] = KEY_VOLUMEDOWN, | 2291 | { 0x05, KEY_VOLUMEDOWN }, |
2134 | [ 0x11 ] = KEY_CHANNELUP, | 2292 | { 0x11, KEY_CHANNELUP }, |
2135 | [ 0x09 ] = KEY_CHANNELDOWN, | 2293 | { 0x09, KEY_CHANNELDOWN }, |
2136 | 2294 | ||
2137 | [ 0x52 ] = KEY_CAMERA, | 2295 | { 0x52, KEY_CAMERA }, |
2138 | [ 0x5a ] = KEY_TUNER, | 2296 | { 0x5a, KEY_TUNER }, |
2139 | [ 0x19 ] = KEY_OPEN, | 2297 | { 0x19, KEY_OPEN }, |
2140 | 2298 | ||
2141 | [ 0x13 ] = KEY_MODE, /* 4:3 16:9 select */ | 2299 | { 0x13, KEY_MODE }, /* 4:3 16:9 select */ |
2142 | [ 0x1f ] = KEY_ZOOM, | 2300 | { 0x1f, KEY_ZOOM }, |
2143 | 2301 | ||
2144 | [ 0x43 ] = KEY_REWIND, | 2302 | { 0x43, KEY_REWIND }, |
2145 | [ 0x47 ] = KEY_PLAYPAUSE, | 2303 | { 0x47, KEY_PLAYPAUSE }, |
2146 | [ 0x4f ] = KEY_FASTFORWARD, | 2304 | { 0x4f, KEY_FASTFORWARD }, |
2147 | [ 0x57 ] = KEY_MUTE, | 2305 | { 0x57, KEY_MUTE }, |
2148 | [ 0x0d ] = KEY_STOP, | 2306 | { 0x0d, KEY_STOP }, |
2149 | [ 0x01 ] = KEY_RECORD, | 2307 | { 0x01, KEY_RECORD }, |
2150 | [ 0x4e ] = KEY_POWER, | 2308 | { 0x4e, KEY_POWER }, |
2151 | }; | 2309 | }; |
2152 | 2310 | ||
2153 | EXPORT_SYMBOL_GPL(ir_codes_fusionhdtv_mce); | 2311 | struct ir_scancode_table ir_codes_fusionhdtv_mce_table = { |
2312 | .scan = ir_codes_fusionhdtv_mce, | ||
2313 | .size = ARRAY_SIZE(ir_codes_fusionhdtv_mce), | ||
2314 | }; | ||
2315 | EXPORT_SYMBOL_GPL(ir_codes_fusionhdtv_mce_table); | ||
2154 | 2316 | ||
2155 | /* Pinnacle PCTV HD 800i mini remote */ | 2317 | /* Pinnacle PCTV HD 800i mini remote */ |
2156 | IR_KEYTAB_TYPE ir_codes_pinnacle_pctv_hd[IR_KEYTAB_SIZE] = { | 2318 | static struct ir_scancode ir_codes_pinnacle_pctv_hd[] = { |
2157 | 2319 | ||
2158 | [0x0f] = KEY_1, | 2320 | { 0x0f, KEY_1 }, |
2159 | [0x15] = KEY_2, | 2321 | { 0x15, KEY_2 }, |
2160 | [0x10] = KEY_3, | 2322 | { 0x10, KEY_3 }, |
2161 | [0x18] = KEY_4, | 2323 | { 0x18, KEY_4 }, |
2162 | [0x1b] = KEY_5, | 2324 | { 0x1b, KEY_5 }, |
2163 | [0x1e] = KEY_6, | 2325 | { 0x1e, KEY_6 }, |
2164 | [0x11] = KEY_7, | 2326 | { 0x11, KEY_7 }, |
2165 | [0x21] = KEY_8, | 2327 | { 0x21, KEY_8 }, |
2166 | [0x12] = KEY_9, | 2328 | { 0x12, KEY_9 }, |
2167 | [0x27] = KEY_0, | 2329 | { 0x27, KEY_0 }, |
2168 | 2330 | ||
2169 | [0x24] = KEY_ZOOM, | 2331 | { 0x24, KEY_ZOOM }, |
2170 | [0x2a] = KEY_SUBTITLE, | 2332 | { 0x2a, KEY_SUBTITLE }, |
2171 | 2333 | ||
2172 | [0x00] = KEY_MUTE, | 2334 | { 0x00, KEY_MUTE }, |
2173 | [0x01] = KEY_ENTER, /* Pinnacle Logo */ | 2335 | { 0x01, KEY_ENTER }, /* Pinnacle Logo */ |
2174 | [0x39] = KEY_POWER, | 2336 | { 0x39, KEY_POWER }, |
2175 | 2337 | ||
2176 | [0x03] = KEY_VOLUMEUP, | 2338 | { 0x03, KEY_VOLUMEUP }, |
2177 | [0x09] = KEY_VOLUMEDOWN, | 2339 | { 0x09, KEY_VOLUMEDOWN }, |
2178 | [0x06] = KEY_CHANNELUP, | 2340 | { 0x06, KEY_CHANNELUP }, |
2179 | [0x0c] = KEY_CHANNELDOWN, | 2341 | { 0x0c, KEY_CHANNELDOWN }, |
2180 | 2342 | ||
2181 | [0x2d] = KEY_REWIND, | 2343 | { 0x2d, KEY_REWIND }, |
2182 | [0x30] = KEY_PLAYPAUSE, | 2344 | { 0x30, KEY_PLAYPAUSE }, |
2183 | [0x33] = KEY_FASTFORWARD, | 2345 | { 0x33, KEY_FASTFORWARD }, |
2184 | [0x3c] = KEY_STOP, | 2346 | { 0x3c, KEY_STOP }, |
2185 | [0x36] = KEY_RECORD, | 2347 | { 0x36, KEY_RECORD }, |
2186 | [0x3f] = KEY_EPG, /* Labeled "?" */ | 2348 | { 0x3f, KEY_EPG }, /* Labeled "?" */ |
2187 | }; | 2349 | }; |
2188 | EXPORT_SYMBOL_GPL(ir_codes_pinnacle_pctv_hd); | 2350 | |
2351 | struct ir_scancode_table ir_codes_pinnacle_pctv_hd_table = { | ||
2352 | .scan = ir_codes_pinnacle_pctv_hd, | ||
2353 | .size = ARRAY_SIZE(ir_codes_pinnacle_pctv_hd), | ||
2354 | }; | ||
2355 | EXPORT_SYMBOL_GPL(ir_codes_pinnacle_pctv_hd_table); | ||
2189 | 2356 | ||
2190 | /* | 2357 | /* |
2191 | * Igor Kuznetsov <igk72@ya.ru> | 2358 | * Igor Kuznetsov <igk72@ya.ru> |
@@ -2198,13 +2365,13 @@ EXPORT_SYMBOL_GPL(ir_codes_pinnacle_pctv_hd); | |||
2198 | * the button labels (several variants when appropriate) | 2365 | * the button labels (several variants when appropriate) |
2199 | * helps to descide which keycodes to assign to the buttons. | 2366 | * helps to descide which keycodes to assign to the buttons. |
2200 | */ | 2367 | */ |
2201 | IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE] = { | 2368 | static struct ir_scancode ir_codes_behold[] = { |
2202 | 2369 | ||
2203 | /* 0x1c 0x12 * | 2370 | /* 0x1c 0x12 * |
2204 | * TV/FM POWER * | 2371 | * TV/FM POWER * |
2205 | * */ | 2372 | * */ |
2206 | [ 0x1c ] = KEY_TUNER, /*XXX KEY_TV KEY_RADIO */ | 2373 | { 0x1c, KEY_TUNER }, /* XXX KEY_TV / KEY_RADIO */ |
2207 | [ 0x12 ] = KEY_POWER, | 2374 | { 0x12, KEY_POWER }, |
2208 | 2375 | ||
2209 | /* 0x01 0x02 0x03 * | 2376 | /* 0x01 0x02 0x03 * |
2210 | * 1 2 3 * | 2377 | * 1 2 3 * |
@@ -2215,28 +2382,28 @@ IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE] = { | |||
2215 | * 0x07 0x08 0x09 * | 2382 | * 0x07 0x08 0x09 * |
2216 | * 7 8 9 * | 2383 | * 7 8 9 * |
2217 | * */ | 2384 | * */ |
2218 | [ 0x01 ] = KEY_1, | 2385 | { 0x01, KEY_1 }, |
2219 | [ 0x02 ] = KEY_2, | 2386 | { 0x02, KEY_2 }, |
2220 | [ 0x03 ] = KEY_3, | 2387 | { 0x03, KEY_3 }, |
2221 | [ 0x04 ] = KEY_4, | 2388 | { 0x04, KEY_4 }, |
2222 | [ 0x05 ] = KEY_5, | 2389 | { 0x05, KEY_5 }, |
2223 | [ 0x06 ] = KEY_6, | 2390 | { 0x06, KEY_6 }, |
2224 | [ 0x07 ] = KEY_7, | 2391 | { 0x07, KEY_7 }, |
2225 | [ 0x08 ] = KEY_8, | 2392 | { 0x08, KEY_8 }, |
2226 | [ 0x09 ] = KEY_9, | 2393 | { 0x09, KEY_9 }, |
2227 | 2394 | ||
2228 | /* 0x0a 0x00 0x17 * | 2395 | /* 0x0a 0x00 0x17 * |
2229 | * RECALL 0 MODE * | 2396 | * RECALL 0 MODE * |
2230 | * */ | 2397 | * */ |
2231 | [ 0x0a ] = KEY_AGAIN, | 2398 | { 0x0a, KEY_AGAIN }, |
2232 | [ 0x00 ] = KEY_0, | 2399 | { 0x00, KEY_0 }, |
2233 | [ 0x17 ] = KEY_MODE, | 2400 | { 0x17, KEY_MODE }, |
2234 | 2401 | ||
2235 | /* 0x14 0x10 * | 2402 | /* 0x14 0x10 * |
2236 | * ASPECT FULLSCREEN * | 2403 | * ASPECT FULLSCREEN * |
2237 | * */ | 2404 | * */ |
2238 | [ 0x14 ] = KEY_SCREEN, | 2405 | { 0x14, KEY_SCREEN }, |
2239 | [ 0x10 ] = KEY_ZOOM, | 2406 | { 0x10, KEY_ZOOM }, |
2240 | 2407 | ||
2241 | /* 0x0b * | 2408 | /* 0x0b * |
2242 | * Up * | 2409 | * Up * |
@@ -2247,17 +2414,17 @@ IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE] = { | |||
2247 | * 0x015 * | 2414 | * 0x015 * |
2248 | * Down * | 2415 | * Down * |
2249 | * */ | 2416 | * */ |
2250 | [ 0x0b ] = KEY_CHANNELUP, /*XXX KEY_UP */ | 2417 | { 0x0b, KEY_CHANNELUP }, |
2251 | [ 0x18 ] = KEY_VOLUMEDOWN, /*XXX KEY_LEFT */ | 2418 | { 0x18, KEY_VOLUMEDOWN }, |
2252 | [ 0x16 ] = KEY_OK, /*XXX KEY_ENTER */ | 2419 | { 0x16, KEY_OK }, /* XXX KEY_ENTER */ |
2253 | [ 0x0c ] = KEY_VOLUMEUP, /*XXX KEY_RIGHT */ | 2420 | { 0x0c, KEY_VOLUMEUP }, |
2254 | [ 0x15 ] = KEY_CHANNELDOWN, /*XXX KEY_DOWN */ | 2421 | { 0x15, KEY_CHANNELDOWN }, |
2255 | 2422 | ||
2256 | /* 0x11 0x0d * | 2423 | /* 0x11 0x0d * |
2257 | * MUTE INFO * | 2424 | * MUTE INFO * |
2258 | * */ | 2425 | * */ |
2259 | [ 0x11 ] = KEY_MUTE, | 2426 | { 0x11, KEY_MUTE }, |
2260 | [ 0x0d ] = KEY_INFO, | 2427 | { 0x0d, KEY_INFO }, |
2261 | 2428 | ||
2262 | /* 0x0f 0x1b 0x1a * | 2429 | /* 0x0f 0x1b 0x1a * |
2263 | * RECORD PLAY/PAUSE STOP * | 2430 | * RECORD PLAY/PAUSE STOP * |
@@ -2266,30 +2433,34 @@ IR_KEYTAB_TYPE ir_codes_behold[IR_KEYTAB_SIZE] = { | |||
2266 | *TELETEXT AUDIO SOURCE * | 2433 | *TELETEXT AUDIO SOURCE * |
2267 | * RED YELLOW * | 2434 | * RED YELLOW * |
2268 | * */ | 2435 | * */ |
2269 | [ 0x0f ] = KEY_RECORD, | 2436 | { 0x0f, KEY_RECORD }, |
2270 | [ 0x1b ] = KEY_PLAYPAUSE, | 2437 | { 0x1b, KEY_PLAYPAUSE }, |
2271 | [ 0x1a ] = KEY_STOP, | 2438 | { 0x1a, KEY_STOP }, |
2272 | [ 0x0e ] = KEY_TEXT, | 2439 | { 0x0e, KEY_TEXT }, |
2273 | [ 0x1f ] = KEY_RED, /*XXX KEY_AUDIO */ | 2440 | { 0x1f, KEY_RED }, /*XXX KEY_AUDIO */ |
2274 | [ 0x1e ] = KEY_YELLOW, /*XXX KEY_SOURCE */ | 2441 | { 0x1e, KEY_YELLOW }, /*XXX KEY_SOURCE */ |
2275 | 2442 | ||
2276 | /* 0x1d 0x13 0x19 * | 2443 | /* 0x1d 0x13 0x19 * |
2277 | * SLEEP PREVIEW DVB * | 2444 | * SLEEP PREVIEW DVB * |
2278 | * GREEN BLUE * | 2445 | * GREEN BLUE * |
2279 | * */ | 2446 | * */ |
2280 | [ 0x1d ] = KEY_SLEEP, | 2447 | { 0x1d, KEY_SLEEP }, |
2281 | [ 0x13 ] = KEY_GREEN, | 2448 | { 0x13, KEY_GREEN }, |
2282 | [ 0x19 ] = KEY_BLUE, /*XXX KEY_SAT */ | 2449 | { 0x19, KEY_BLUE }, /* XXX KEY_SAT */ |
2283 | 2450 | ||
2284 | /* 0x58 0x5c * | 2451 | /* 0x58 0x5c * |
2285 | * FREEZE SNAPSHOT * | 2452 | * FREEZE SNAPSHOT * |
2286 | * */ | 2453 | * */ |
2287 | [ 0x58 ] = KEY_SLOW, | 2454 | { 0x58, KEY_SLOW }, |
2288 | [ 0x5c ] = KEY_SAVE, | 2455 | { 0x5c, KEY_CAMERA }, |
2289 | 2456 | ||
2290 | }; | 2457 | }; |
2291 | 2458 | ||
2292 | EXPORT_SYMBOL_GPL(ir_codes_behold); | 2459 | struct ir_scancode_table ir_codes_behold_table = { |
2460 | .scan = ir_codes_behold, | ||
2461 | .size = ARRAY_SIZE(ir_codes_behold), | ||
2462 | }; | ||
2463 | EXPORT_SYMBOL_GPL(ir_codes_behold_table); | ||
2293 | 2464 | ||
2294 | /* Beholder Intl. Ltd. 2008 | 2465 | /* Beholder Intl. Ltd. 2008 |
2295 | * Dmitry Belimov d.belimov@google.com | 2466 | * Dmitry Belimov d.belimov@google.com |
@@ -2299,16 +2470,16 @@ EXPORT_SYMBOL_GPL(ir_codes_behold); | |||
2299 | * the button labels (several variants when appropriate) | 2470 | * the button labels (several variants when appropriate) |
2300 | * helps to descide which keycodes to assign to the buttons. | 2471 | * helps to descide which keycodes to assign to the buttons. |
2301 | */ | 2472 | */ |
2302 | IR_KEYTAB_TYPE ir_codes_behold_columbus[IR_KEYTAB_SIZE] = { | 2473 | static struct ir_scancode ir_codes_behold_columbus[] = { |
2303 | 2474 | ||
2304 | /* 0x13 0x11 0x1C 0x12 * | 2475 | /* 0x13 0x11 0x1C 0x12 * |
2305 | * Mute Source TV/FM Power * | 2476 | * Mute Source TV/FM Power * |
2306 | * */ | 2477 | * */ |
2307 | 2478 | ||
2308 | [0x13] = KEY_MUTE, | 2479 | { 0x13, KEY_MUTE }, |
2309 | [0x11] = KEY_PROPS, | 2480 | { 0x11, KEY_PROPS }, |
2310 | [0x1C] = KEY_TUNER, /* KEY_TV/KEY_RADIO */ | 2481 | { 0x1C, KEY_TUNER }, /* KEY_TV/KEY_RADIO */ |
2311 | [0x12] = KEY_POWER, | 2482 | { 0x12, KEY_POWER }, |
2312 | 2483 | ||
2313 | /* 0x01 0x02 0x03 0x0D * | 2484 | /* 0x01 0x02 0x03 0x0D * |
2314 | * 1 2 3 Stereo * | 2485 | * 1 2 3 Stereo * |
@@ -2319,173 +2490,188 @@ IR_KEYTAB_TYPE ir_codes_behold_columbus[IR_KEYTAB_SIZE] = { | |||
2319 | * 0x07 0x08 0x09 0x10 * | 2490 | * 0x07 0x08 0x09 0x10 * |
2320 | * 7 8 9 Zoom * | 2491 | * 7 8 9 Zoom * |
2321 | * */ | 2492 | * */ |
2322 | [0x01] = KEY_1, | 2493 | { 0x01, KEY_1 }, |
2323 | [0x02] = KEY_2, | 2494 | { 0x02, KEY_2 }, |
2324 | [0x03] = KEY_3, | 2495 | { 0x03, KEY_3 }, |
2325 | [0x0D] = KEY_SETUP, /* Setup key */ | 2496 | { 0x0D, KEY_SETUP }, /* Setup key */ |
2326 | [0x04] = KEY_4, | 2497 | { 0x04, KEY_4 }, |
2327 | [0x05] = KEY_5, | 2498 | { 0x05, KEY_5 }, |
2328 | [0x06] = KEY_6, | 2499 | { 0x06, KEY_6 }, |
2329 | [0x19] = KEY_BOOKMARKS, /* Snapshot key */ | 2500 | { 0x19, KEY_CAMERA }, /* Snapshot key */ |
2330 | [0x07] = KEY_7, | 2501 | { 0x07, KEY_7 }, |
2331 | [0x08] = KEY_8, | 2502 | { 0x08, KEY_8 }, |
2332 | [0x09] = KEY_9, | 2503 | { 0x09, KEY_9 }, |
2333 | [0x10] = KEY_ZOOM, | 2504 | { 0x10, KEY_ZOOM }, |
2334 | 2505 | ||
2335 | /* 0x0A 0x00 0x0B 0x0C * | 2506 | /* 0x0A 0x00 0x0B 0x0C * |
2336 | * RECALL 0 ChannelUp VolumeUp * | 2507 | * RECALL 0 ChannelUp VolumeUp * |
2337 | * */ | 2508 | * */ |
2338 | [0x0A] = KEY_AGAIN, | 2509 | { 0x0A, KEY_AGAIN }, |
2339 | [0x00] = KEY_0, | 2510 | { 0x00, KEY_0 }, |
2340 | [0x0B] = KEY_CHANNELUP, | 2511 | { 0x0B, KEY_CHANNELUP }, |
2341 | [0x0C] = KEY_VOLUMEUP, | 2512 | { 0x0C, KEY_VOLUMEUP }, |
2342 | 2513 | ||
2343 | /* 0x1B 0x1D 0x15 0x18 * | 2514 | /* 0x1B 0x1D 0x15 0x18 * |
2344 | * Timeshift Record ChannelDown VolumeDown * | 2515 | * Timeshift Record ChannelDown VolumeDown * |
2345 | * */ | 2516 | * */ |
2346 | 2517 | ||
2347 | [0x1B] = KEY_REWIND, | 2518 | { 0x1B, KEY_TIME }, |
2348 | [0x1D] = KEY_RECORD, | 2519 | { 0x1D, KEY_RECORD }, |
2349 | [0x15] = KEY_CHANNELDOWN, | 2520 | { 0x15, KEY_CHANNELDOWN }, |
2350 | [0x18] = KEY_VOLUMEDOWN, | 2521 | { 0x18, KEY_VOLUMEDOWN }, |
2351 | 2522 | ||
2352 | /* 0x0E 0x1E 0x0F 0x1A * | 2523 | /* 0x0E 0x1E 0x0F 0x1A * |
2353 | * Stop Pause Previouse Next * | 2524 | * Stop Pause Previouse Next * |
2354 | * */ | 2525 | * */ |
2355 | 2526 | ||
2356 | [0x0E] = KEY_STOP, | 2527 | { 0x0E, KEY_STOP }, |
2357 | [0x1E] = KEY_PAUSE, | 2528 | { 0x1E, KEY_PAUSE }, |
2358 | [0x0F] = KEY_PREVIOUS, | 2529 | { 0x0F, KEY_PREVIOUS }, |
2359 | [0x1A] = KEY_NEXT, | 2530 | { 0x1A, KEY_NEXT }, |
2531 | |||
2532 | }; | ||
2360 | 2533 | ||
2534 | struct ir_scancode_table ir_codes_behold_columbus_table = { | ||
2535 | .scan = ir_codes_behold_columbus, | ||
2536 | .size = ARRAY_SIZE(ir_codes_behold_columbus), | ||
2361 | }; | 2537 | }; |
2362 | EXPORT_SYMBOL_GPL(ir_codes_behold_columbus); | 2538 | EXPORT_SYMBOL_GPL(ir_codes_behold_columbus_table); |
2363 | 2539 | ||
2364 | /* | 2540 | /* |
2365 | * Remote control for the Genius TVGO A11MCE | 2541 | * Remote control for the Genius TVGO A11MCE |
2366 | * Adrian Pardini <pardo.bsso@gmail.com> | 2542 | * Adrian Pardini <pardo.bsso@gmail.com> |
2367 | */ | 2543 | */ |
2368 | IR_KEYTAB_TYPE ir_codes_genius_tvgo_a11mce[IR_KEYTAB_SIZE] = { | 2544 | static struct ir_scancode ir_codes_genius_tvgo_a11mce[] = { |
2369 | /* Keys 0 to 9 */ | 2545 | /* Keys 0 to 9 */ |
2370 | [0x48] = KEY_0, | 2546 | { 0x48, KEY_0 }, |
2371 | [0x09] = KEY_1, | 2547 | { 0x09, KEY_1 }, |
2372 | [0x1d] = KEY_2, | 2548 | { 0x1d, KEY_2 }, |
2373 | [0x1f] = KEY_3, | 2549 | { 0x1f, KEY_3 }, |
2374 | [0x19] = KEY_4, | 2550 | { 0x19, KEY_4 }, |
2375 | [0x1b] = KEY_5, | 2551 | { 0x1b, KEY_5 }, |
2376 | [0x11] = KEY_6, | 2552 | { 0x11, KEY_6 }, |
2377 | [0x17] = KEY_7, | 2553 | { 0x17, KEY_7 }, |
2378 | [0x12] = KEY_8, | 2554 | { 0x12, KEY_8 }, |
2379 | [0x16] = KEY_9, | 2555 | { 0x16, KEY_9 }, |
2380 | 2556 | ||
2381 | [0x54] = KEY_RECORD, /* recording */ | 2557 | { 0x54, KEY_RECORD }, /* recording */ |
2382 | [0x06] = KEY_MUTE, /* mute */ | 2558 | { 0x06, KEY_MUTE }, /* mute */ |
2383 | [0x10] = KEY_POWER, | 2559 | { 0x10, KEY_POWER }, |
2384 | [0x40] = KEY_LAST, /* recall */ | 2560 | { 0x40, KEY_LAST }, /* recall */ |
2385 | [0x4c] = KEY_CHANNELUP, /* channel / program + */ | 2561 | { 0x4c, KEY_CHANNELUP }, /* channel / program + */ |
2386 | [0x00] = KEY_CHANNELDOWN, /* channel / program - */ | 2562 | { 0x00, KEY_CHANNELDOWN }, /* channel / program - */ |
2387 | [0x0d] = KEY_VOLUMEUP, | 2563 | { 0x0d, KEY_VOLUMEUP }, |
2388 | [0x15] = KEY_VOLUMEDOWN, | 2564 | { 0x15, KEY_VOLUMEDOWN }, |
2389 | [0x4d] = KEY_OK, /* also labeled as Pause */ | 2565 | { 0x4d, KEY_OK }, /* also labeled as Pause */ |
2390 | [0x1c] = KEY_ZOOM, /* full screen and Stop*/ | 2566 | { 0x1c, KEY_ZOOM }, /* full screen and Stop*/ |
2391 | [0x02] = KEY_MODE, /* AV Source or Rewind*/ | 2567 | { 0x02, KEY_MODE }, /* AV Source or Rewind*/ |
2392 | [0x04] = KEY_LIST, /* -/-- */ | 2568 | { 0x04, KEY_LIST }, /* -/-- */ |
2393 | /* small arrows above numbers */ | 2569 | /* small arrows above numbers */ |
2394 | [0x1a] = KEY_NEXT, /* also Fast Forward */ | 2570 | { 0x1a, KEY_NEXT }, /* also Fast Forward */ |
2395 | [0x0e] = KEY_PREVIOUS, /* also Rewind */ | 2571 | { 0x0e, KEY_PREVIOUS }, /* also Rewind */ |
2396 | /* these are in a rather non standard layout and have | 2572 | /* these are in a rather non standard layout and have |
2397 | an alternate name written */ | 2573 | an alternate name written */ |
2398 | [0x1e] = KEY_UP, /* Video Setting */ | 2574 | { 0x1e, KEY_UP }, /* Video Setting */ |
2399 | [0x0a] = KEY_DOWN, /* Video Default */ | 2575 | { 0x0a, KEY_DOWN }, /* Video Default */ |
2400 | [0x05] = KEY_LEFT, /* Snapshot */ | 2576 | { 0x05, KEY_CAMERA }, /* Snapshot */ |
2401 | [0x0c] = KEY_RIGHT, /* Hide Panel */ | 2577 | { 0x0c, KEY_RIGHT }, /* Hide Panel */ |
2402 | /* Four buttons without label */ | 2578 | /* Four buttons without label */ |
2403 | [0x49] = KEY_RED, | 2579 | { 0x49, KEY_RED }, |
2404 | [0x0b] = KEY_GREEN, | 2580 | { 0x0b, KEY_GREEN }, |
2405 | [0x13] = KEY_YELLOW, | 2581 | { 0x13, KEY_YELLOW }, |
2406 | [0x50] = KEY_BLUE, | 2582 | { 0x50, KEY_BLUE }, |
2583 | }; | ||
2584 | |||
2585 | struct ir_scancode_table ir_codes_genius_tvgo_a11mce_table = { | ||
2586 | .scan = ir_codes_genius_tvgo_a11mce, | ||
2587 | .size = ARRAY_SIZE(ir_codes_genius_tvgo_a11mce), | ||
2407 | }; | 2588 | }; |
2408 | EXPORT_SYMBOL_GPL(ir_codes_genius_tvgo_a11mce); | 2589 | EXPORT_SYMBOL_GPL(ir_codes_genius_tvgo_a11mce_table); |
2409 | 2590 | ||
2410 | /* | 2591 | /* |
2411 | * Remote control for Powercolor Real Angel 330 | 2592 | * Remote control for Powercolor Real Angel 330 |
2412 | * Daniel Fraga <fragabr@gmail.com> | 2593 | * Daniel Fraga <fragabr@gmail.com> |
2413 | */ | 2594 | */ |
2414 | IR_KEYTAB_TYPE ir_codes_powercolor_real_angel[IR_KEYTAB_SIZE] = { | 2595 | static struct ir_scancode ir_codes_powercolor_real_angel[] = { |
2415 | [0x38] = KEY_SWITCHVIDEOMODE, /* switch inputs */ | 2596 | { 0x38, KEY_SWITCHVIDEOMODE }, /* switch inputs */ |
2416 | [0x0c] = KEY_MEDIA, /* Turn ON/OFF App */ | 2597 | { 0x0c, KEY_MEDIA }, /* Turn ON/OFF App */ |
2417 | [0x00] = KEY_0, | 2598 | { 0x00, KEY_0 }, |
2418 | [0x01] = KEY_1, | 2599 | { 0x01, KEY_1 }, |
2419 | [0x02] = KEY_2, | 2600 | { 0x02, KEY_2 }, |
2420 | [0x03] = KEY_3, | 2601 | { 0x03, KEY_3 }, |
2421 | [0x04] = KEY_4, | 2602 | { 0x04, KEY_4 }, |
2422 | [0x05] = KEY_5, | 2603 | { 0x05, KEY_5 }, |
2423 | [0x06] = KEY_6, | 2604 | { 0x06, KEY_6 }, |
2424 | [0x07] = KEY_7, | 2605 | { 0x07, KEY_7 }, |
2425 | [0x08] = KEY_8, | 2606 | { 0x08, KEY_8 }, |
2426 | [0x09] = KEY_9, | 2607 | { 0x09, KEY_9 }, |
2427 | [0x0a] = KEY_DIGITS, /* single, double, tripple digit */ | 2608 | { 0x0a, KEY_DIGITS }, /* single, double, tripple digit */ |
2428 | [0x29] = KEY_PREVIOUS, /* previous channel */ | 2609 | { 0x29, KEY_PREVIOUS }, /* previous channel */ |
2429 | [0x12] = KEY_BRIGHTNESSUP, | 2610 | { 0x12, KEY_BRIGHTNESSUP }, |
2430 | [0x13] = KEY_BRIGHTNESSDOWN, | 2611 | { 0x13, KEY_BRIGHTNESSDOWN }, |
2431 | [0x2b] = KEY_MODE, /* stereo/mono */ | 2612 | { 0x2b, KEY_MODE }, /* stereo/mono */ |
2432 | [0x2c] = KEY_TEXT, /* teletext */ | 2613 | { 0x2c, KEY_TEXT }, /* teletext */ |
2433 | [0x20] = KEY_UP, /* channel up */ | 2614 | { 0x20, KEY_CHANNELUP }, /* channel up */ |
2434 | [0x21] = KEY_DOWN, /* channel down */ | 2615 | { 0x21, KEY_CHANNELDOWN }, /* channel down */ |
2435 | [0x10] = KEY_RIGHT, /* volume up */ | 2616 | { 0x10, KEY_VOLUMEUP }, /* volume up */ |
2436 | [0x11] = KEY_LEFT, /* volume down */ | 2617 | { 0x11, KEY_VOLUMEDOWN }, /* volume down */ |
2437 | [0x0d] = KEY_MUTE, | 2618 | { 0x0d, KEY_MUTE }, |
2438 | [0x1f] = KEY_RECORD, | 2619 | { 0x1f, KEY_RECORD }, |
2439 | [0x17] = KEY_PLAY, | 2620 | { 0x17, KEY_PLAY }, |
2440 | [0x16] = KEY_PAUSE, | 2621 | { 0x16, KEY_PAUSE }, |
2441 | [0x0b] = KEY_STOP, | 2622 | { 0x0b, KEY_STOP }, |
2442 | [0x27] = KEY_FASTFORWARD, | 2623 | { 0x27, KEY_FASTFORWARD }, |
2443 | [0x26] = KEY_REWIND, | 2624 | { 0x26, KEY_REWIND }, |
2444 | [0x1e] = KEY_SEARCH, /* autoscan */ | 2625 | { 0x1e, KEY_SEARCH }, /* autoscan */ |
2445 | [0x0e] = KEY_SHUFFLE, /* snapshot */ | 2626 | { 0x0e, KEY_CAMERA }, /* snapshot */ |
2446 | [0x2d] = KEY_SETUP, | 2627 | { 0x2d, KEY_SETUP }, |
2447 | [0x0f] = KEY_SCREEN, /* full screen */ | 2628 | { 0x0f, KEY_SCREEN }, /* full screen */ |
2448 | [0x14] = KEY_RADIO, /* FM radio */ | 2629 | { 0x14, KEY_RADIO }, /* FM radio */ |
2449 | [0x25] = KEY_POWER, /* power */ | 2630 | { 0x25, KEY_POWER }, /* power */ |
2450 | }; | 2631 | }; |
2451 | EXPORT_SYMBOL_GPL(ir_codes_powercolor_real_angel); | 2632 | |
2633 | struct ir_scancode_table ir_codes_powercolor_real_angel_table = { | ||
2634 | .scan = ir_codes_powercolor_real_angel, | ||
2635 | .size = ARRAY_SIZE(ir_codes_powercolor_real_angel), | ||
2636 | }; | ||
2637 | EXPORT_SYMBOL_GPL(ir_codes_powercolor_real_angel_table); | ||
2452 | 2638 | ||
2453 | /* Kworld Plus TV Analog Lite PCI IR | 2639 | /* Kworld Plus TV Analog Lite PCI IR |
2454 | Mauro Carvalho Chehab <mchehab@infradead.org> | 2640 | Mauro Carvalho Chehab <mchehab@infradead.org> |
2455 | */ | 2641 | */ |
2456 | IR_KEYTAB_TYPE ir_codes_kworld_plus_tv_analog[IR_KEYTAB_SIZE] = { | 2642 | static struct ir_scancode ir_codes_kworld_plus_tv_analog[] = { |
2457 | [0x0c] = KEY_PROG1, /* Kworld key */ | 2643 | { 0x0c, KEY_PROG1 }, /* Kworld key */ |
2458 | [0x16] = KEY_CLOSECD, /* -> ) */ | 2644 | { 0x16, KEY_CLOSECD }, /* -> ) */ |
2459 | [0x1d] = KEY_POWER2, | 2645 | { 0x1d, KEY_POWER2 }, |
2460 | 2646 | ||
2461 | [0x00] = KEY_1, | 2647 | { 0x00, KEY_1 }, |
2462 | [0x01] = KEY_2, | 2648 | { 0x01, KEY_2 }, |
2463 | [0x02] = KEY_3, /* Two keys have the same code: 3 and left */ | 2649 | { 0x02, KEY_3 }, /* Two keys have the same code: 3 and left */ |
2464 | [0x03] = KEY_4, /* Two keys have the same code: 3 and right */ | 2650 | { 0x03, KEY_4 }, /* Two keys have the same code: 3 and right */ |
2465 | [0x04] = KEY_5, | 2651 | { 0x04, KEY_5 }, |
2466 | [0x05] = KEY_6, | 2652 | { 0x05, KEY_6 }, |
2467 | [0x06] = KEY_7, | 2653 | { 0x06, KEY_7 }, |
2468 | [0x07] = KEY_8, | 2654 | { 0x07, KEY_8 }, |
2469 | [0x08] = KEY_9, | 2655 | { 0x08, KEY_9 }, |
2470 | [0x0a] = KEY_0, | 2656 | { 0x0a, KEY_0 }, |
2471 | 2657 | ||
2472 | [0x09] = KEY_AGAIN, | 2658 | { 0x09, KEY_AGAIN }, |
2473 | [0x14] = KEY_MUTE, | 2659 | { 0x14, KEY_MUTE }, |
2474 | 2660 | ||
2475 | [0x20] = KEY_UP, | 2661 | { 0x20, KEY_UP }, |
2476 | [0x21] = KEY_DOWN, | 2662 | { 0x21, KEY_DOWN }, |
2477 | [0x0b] = KEY_ENTER, | 2663 | { 0x0b, KEY_ENTER }, |
2478 | 2664 | ||
2479 | [0x10] = KEY_CHANNELUP, | 2665 | { 0x10, KEY_CHANNELUP }, |
2480 | [0x11] = KEY_CHANNELDOWN, | 2666 | { 0x11, KEY_CHANNELDOWN }, |
2481 | 2667 | ||
2482 | /* Couldn't map key left/key right since those | 2668 | /* Couldn't map key left/key right since those |
2483 | conflict with '3' and '4' scancodes | 2669 | conflict with '3' and '4' scancodes |
2484 | I dunno what the original driver does | 2670 | I dunno what the original driver does |
2485 | */ | 2671 | */ |
2486 | 2672 | ||
2487 | [0x13] = KEY_VOLUMEUP, | 2673 | { 0x13, KEY_VOLUMEUP }, |
2488 | [0x12] = KEY_VOLUMEDOWN, | 2674 | { 0x12, KEY_VOLUMEDOWN }, |
2489 | 2675 | ||
2490 | /* The lower part of the IR | 2676 | /* The lower part of the IR |
2491 | There are several duplicated keycodes there. | 2677 | There are several duplicated keycodes there. |
@@ -2496,280 +2682,468 @@ IR_KEYTAB_TYPE ir_codes_kworld_plus_tv_analog[IR_KEYTAB_SIZE] = { | |||
2496 | Also, it is not related to the time between keyup | 2682 | Also, it is not related to the time between keyup |
2497 | and keydown. | 2683 | and keydown. |
2498 | */ | 2684 | */ |
2499 | [0x19] = KEY_PAUSE, /* Timeshift */ | 2685 | { 0x19, KEY_TIME}, /* Timeshift */ |
2500 | [0x1a] = KEY_STOP, | 2686 | { 0x1a, KEY_STOP}, |
2501 | [0x1b] = KEY_RECORD, | 2687 | { 0x1b, KEY_RECORD}, |
2502 | 2688 | ||
2503 | [0x22] = KEY_TEXT, | 2689 | { 0x22, KEY_TEXT}, |
2504 | 2690 | ||
2505 | [0x15] = KEY_AUDIO, /* ((*)) */ | 2691 | { 0x15, KEY_AUDIO}, /* ((*)) */ |
2506 | [0x0f] = KEY_ZOOM, | 2692 | { 0x0f, KEY_ZOOM}, |
2507 | [0x1c] = KEY_SHUFFLE, /* snapshot */ | 2693 | { 0x1c, KEY_CAMERA}, /* snapshot */ |
2508 | 2694 | ||
2509 | [0x18] = KEY_RED, /* B */ | 2695 | { 0x18, KEY_RED}, /* B */ |
2510 | [0x23] = KEY_GREEN, /* C */ | 2696 | { 0x23, KEY_GREEN}, /* C */ |
2511 | }; | 2697 | }; |
2512 | EXPORT_SYMBOL_GPL(ir_codes_kworld_plus_tv_analog); | 2698 | struct ir_scancode_table ir_codes_kworld_plus_tv_analog_table = { |
2699 | .scan = ir_codes_kworld_plus_tv_analog, | ||
2700 | .size = ARRAY_SIZE(ir_codes_kworld_plus_tv_analog), | ||
2701 | }; | ||
2702 | EXPORT_SYMBOL_GPL(ir_codes_kworld_plus_tv_analog_table); | ||
2513 | 2703 | ||
2514 | /* Kaiomy TVnPC U2 | 2704 | /* Kaiomy TVnPC U2 |
2515 | Mauro Carvalho Chehab <mchehab@infradead.org> | 2705 | Mauro Carvalho Chehab <mchehab@infradead.org> |
2516 | */ | 2706 | */ |
2517 | IR_KEYTAB_TYPE ir_codes_kaiomy[IR_KEYTAB_SIZE] = { | 2707 | static struct ir_scancode ir_codes_kaiomy[] = { |
2518 | [0x43] = KEY_POWER2, | 2708 | { 0x43, KEY_POWER2}, |
2519 | [0x01] = KEY_LIST, | 2709 | { 0x01, KEY_LIST}, |
2520 | [0x0b] = KEY_ZOOM, | 2710 | { 0x0b, KEY_ZOOM}, |
2521 | [0x03] = KEY_POWER, | 2711 | { 0x03, KEY_POWER}, |
2522 | |||
2523 | [0x04] = KEY_1, | ||
2524 | [0x08] = KEY_2, | ||
2525 | [0x02] = KEY_3, | ||
2526 | |||
2527 | [0x0f] = KEY_4, | ||
2528 | [0x05] = KEY_5, | ||
2529 | [0x06] = KEY_6, | ||
2530 | |||
2531 | [0x0c] = KEY_7, | ||
2532 | [0x0d] = KEY_8, | ||
2533 | [0x0a] = KEY_9, | ||
2534 | |||
2535 | [0x11] = KEY_0, | ||
2536 | |||
2537 | [0x09] = KEY_CHANNELUP, | ||
2538 | [0x07] = KEY_CHANNELDOWN, | ||
2539 | |||
2540 | [0x0e] = KEY_VOLUMEUP, | ||
2541 | [0x13] = KEY_VOLUMEDOWN, | ||
2542 | |||
2543 | [0x10] = KEY_HOME, | ||
2544 | [0x12] = KEY_ENTER, | ||
2545 | |||
2546 | [0x14] = KEY_RECORD, | ||
2547 | [0x15] = KEY_STOP, | ||
2548 | [0x16] = KEY_PLAY, | ||
2549 | [0x17] = KEY_MUTE, | ||
2550 | |||
2551 | [0x18] = KEY_UP, | ||
2552 | [0x19] = KEY_DOWN, | ||
2553 | [0x1a] = KEY_LEFT, | ||
2554 | [0x1b] = KEY_RIGHT, | ||
2555 | |||
2556 | [0x1c] = KEY_RED, | ||
2557 | [0x1d] = KEY_GREEN, | ||
2558 | [0x1e] = KEY_YELLOW, | ||
2559 | [0x1f] = KEY_BLUE, | ||
2560 | }; | ||
2561 | EXPORT_SYMBOL_GPL(ir_codes_kaiomy); | ||
2562 | |||
2563 | IR_KEYTAB_TYPE ir_codes_avermedia_a16d[IR_KEYTAB_SIZE] = { | ||
2564 | [0x20] = KEY_LIST, | ||
2565 | [0x00] = KEY_POWER, | ||
2566 | [0x28] = KEY_1, | ||
2567 | [0x18] = KEY_2, | ||
2568 | [0x38] = KEY_3, | ||
2569 | [0x24] = KEY_4, | ||
2570 | [0x14] = KEY_5, | ||
2571 | [0x34] = KEY_6, | ||
2572 | [0x2c] = KEY_7, | ||
2573 | [0x1c] = KEY_8, | ||
2574 | [0x3c] = KEY_9, | ||
2575 | [0x12] = KEY_SUBTITLE, | ||
2576 | [0x22] = KEY_0, | ||
2577 | [0x32] = KEY_REWIND, | ||
2578 | [0x3a] = KEY_SHUFFLE, | ||
2579 | [0x02] = KEY_PRINT, | ||
2580 | [0x11] = KEY_CHANNELDOWN, | ||
2581 | [0x31] = KEY_CHANNELUP, | ||
2582 | [0x0c] = KEY_ZOOM, | ||
2583 | [0x1e] = KEY_VOLUMEDOWN, | ||
2584 | [0x3e] = KEY_VOLUMEUP, | ||
2585 | [0x0a] = KEY_MUTE, | ||
2586 | [0x04] = KEY_AUDIO, | ||
2587 | [0x26] = KEY_RECORD, | ||
2588 | [0x06] = KEY_PLAY, | ||
2589 | [0x36] = KEY_STOP, | ||
2590 | [0x16] = KEY_PAUSE, | ||
2591 | [0x2e] = KEY_REWIND, | ||
2592 | [0x0e] = KEY_FASTFORWARD, | ||
2593 | [0x30] = KEY_TEXT, | ||
2594 | [0x21] = KEY_GREEN, | ||
2595 | [0x01] = KEY_BLUE, | ||
2596 | [0x08] = KEY_EPG, | ||
2597 | [0x2a] = KEY_MENU, | ||
2598 | }; | ||
2599 | EXPORT_SYMBOL_GPL(ir_codes_avermedia_a16d); | ||
2600 | 2712 | ||
2601 | /* Encore ENLTV-FM v5.3 | 2713 | { 0x04, KEY_1}, |
2602 | Mauro Carvalho Chehab <mchehab@infradead.org> | 2714 | { 0x08, KEY_2}, |
2603 | */ | 2715 | { 0x02, KEY_3}, |
2604 | IR_KEYTAB_TYPE ir_codes_encore_enltv_fm53[IR_KEYTAB_SIZE] = { | ||
2605 | [0x10] = KEY_POWER2, | ||
2606 | [0x06] = KEY_MUTE, | ||
2607 | |||
2608 | [0x09] = KEY_1, | ||
2609 | [0x1d] = KEY_2, | ||
2610 | [0x1f] = KEY_3, | ||
2611 | [0x19] = KEY_4, | ||
2612 | [0x1b] = KEY_5, | ||
2613 | [0x11] = KEY_6, | ||
2614 | [0x17] = KEY_7, | ||
2615 | [0x12] = KEY_8, | ||
2616 | [0x16] = KEY_9, | ||
2617 | [0x48] = KEY_0, | ||
2618 | |||
2619 | [0x04] = KEY_LIST, /* -/-- */ | ||
2620 | [0x40] = KEY_LAST, /* recall */ | ||
2621 | |||
2622 | [0x02] = KEY_MODE, /* TV/AV */ | ||
2623 | [0x05] = KEY_SHUFFLE, /* SNAPSHOT */ | ||
2624 | |||
2625 | [0x4c] = KEY_CHANNELUP, /* UP */ | ||
2626 | [0x00] = KEY_CHANNELDOWN, /* DOWN */ | ||
2627 | [0x0d] = KEY_VOLUMEUP, /* RIGHT */ | ||
2628 | [0x15] = KEY_VOLUMEDOWN, /* LEFT */ | ||
2629 | [0x49] = KEY_ENTER, /* OK */ | ||
2630 | |||
2631 | [0x54] = KEY_RECORD, | ||
2632 | [0x4d] = KEY_PLAY, /* pause */ | ||
2633 | |||
2634 | [0x1e] = KEY_UP, /* video setting */ | ||
2635 | [0x0e] = KEY_RIGHT, /* <- */ | ||
2636 | [0x1a] = KEY_LEFT, /* -> */ | ||
2637 | |||
2638 | [0x0a] = KEY_DOWN, /* video default */ | ||
2639 | [0x0c] = KEY_ZOOM, /* hide pannel */ | ||
2640 | [0x47] = KEY_SLEEP, /* shutdown */ | ||
2641 | }; | ||
2642 | EXPORT_SYMBOL_GPL(ir_codes_encore_enltv_fm53); | ||
2643 | 2716 | ||
2644 | /* Zogis Real Audio 220 - 32 keys IR */ | 2717 | { 0x0f, KEY_4}, |
2645 | IR_KEYTAB_TYPE ir_codes_real_audio_220_32_keys[IR_KEYTAB_SIZE] = { | 2718 | { 0x05, KEY_5}, |
2646 | [0x1c] = KEY_RADIO, | 2719 | { 0x06, KEY_6}, |
2647 | [0x12] = KEY_POWER2, | 2720 | |
2721 | { 0x0c, KEY_7}, | ||
2722 | { 0x0d, KEY_8}, | ||
2723 | { 0x0a, KEY_9}, | ||
2648 | 2724 | ||
2649 | [0x01] = KEY_1, | 2725 | { 0x11, KEY_0}, |
2650 | [0x02] = KEY_2, | ||
2651 | [0x03] = KEY_3, | ||
2652 | [0x04] = KEY_4, | ||
2653 | [0x05] = KEY_5, | ||
2654 | [0x06] = KEY_6, | ||
2655 | [0x07] = KEY_7, | ||
2656 | [0x08] = KEY_8, | ||
2657 | [0x09] = KEY_9, | ||
2658 | [0x00] = KEY_0, | ||
2659 | 2726 | ||
2660 | [0x0c] = KEY_VOLUMEUP, | 2727 | { 0x09, KEY_CHANNELUP}, |
2661 | [0x18] = KEY_VOLUMEDOWN, | 2728 | { 0x07, KEY_CHANNELDOWN}, |
2662 | [0x0b] = KEY_CHANNELUP, | ||
2663 | [0x15] = KEY_CHANNELDOWN, | ||
2664 | [0x16] = KEY_ENTER, | ||
2665 | 2729 | ||
2666 | [0x11] = KEY_LIST, /* Source */ | 2730 | { 0x0e, KEY_VOLUMEUP}, |
2667 | [0x0d] = KEY_AUDIO, /* stereo */ | 2731 | { 0x13, KEY_VOLUMEDOWN}, |
2668 | 2732 | ||
2669 | [0x0f] = KEY_PREVIOUS, /* Prev */ | 2733 | { 0x10, KEY_HOME}, |
2670 | [0x1b] = KEY_PAUSE, /* Timeshift */ | 2734 | { 0x12, KEY_ENTER}, |
2671 | [0x1a] = KEY_NEXT, /* Next */ | ||
2672 | 2735 | ||
2673 | [0x0e] = KEY_STOP, | 2736 | { 0x14, KEY_RECORD}, |
2674 | [0x1f] = KEY_PLAY, | 2737 | { 0x15, KEY_STOP}, |
2675 | [0x1e] = KEY_PLAYPAUSE, /* Pause */ | 2738 | { 0x16, KEY_PLAY}, |
2739 | { 0x17, KEY_MUTE}, | ||
2676 | 2740 | ||
2677 | [0x1d] = KEY_RECORD, | 2741 | { 0x18, KEY_UP}, |
2678 | [0x13] = KEY_MUTE, | 2742 | { 0x19, KEY_DOWN}, |
2679 | [0x19] = KEY_SHUFFLE, /* Snapshot */ | 2743 | { 0x1a, KEY_LEFT}, |
2744 | { 0x1b, KEY_RIGHT}, | ||
2680 | 2745 | ||
2746 | { 0x1c, KEY_RED}, | ||
2747 | { 0x1d, KEY_GREEN}, | ||
2748 | { 0x1e, KEY_YELLOW}, | ||
2749 | { 0x1f, KEY_BLUE}, | ||
2750 | }; | ||
2751 | struct ir_scancode_table ir_codes_kaiomy_table = { | ||
2752 | .scan = ir_codes_kaiomy, | ||
2753 | .size = ARRAY_SIZE(ir_codes_kaiomy), | ||
2754 | }; | ||
2755 | EXPORT_SYMBOL_GPL(ir_codes_kaiomy_table); | ||
2756 | |||
2757 | static struct ir_scancode ir_codes_avermedia_a16d[] = { | ||
2758 | { 0x20, KEY_LIST}, | ||
2759 | { 0x00, KEY_POWER}, | ||
2760 | { 0x28, KEY_1}, | ||
2761 | { 0x18, KEY_2}, | ||
2762 | { 0x38, KEY_3}, | ||
2763 | { 0x24, KEY_4}, | ||
2764 | { 0x14, KEY_5}, | ||
2765 | { 0x34, KEY_6}, | ||
2766 | { 0x2c, KEY_7}, | ||
2767 | { 0x1c, KEY_8}, | ||
2768 | { 0x3c, KEY_9}, | ||
2769 | { 0x12, KEY_SUBTITLE}, | ||
2770 | { 0x22, KEY_0}, | ||
2771 | { 0x32, KEY_REWIND}, | ||
2772 | { 0x3a, KEY_SHUFFLE}, | ||
2773 | { 0x02, KEY_PRINT}, | ||
2774 | { 0x11, KEY_CHANNELDOWN}, | ||
2775 | { 0x31, KEY_CHANNELUP}, | ||
2776 | { 0x0c, KEY_ZOOM}, | ||
2777 | { 0x1e, KEY_VOLUMEDOWN}, | ||
2778 | { 0x3e, KEY_VOLUMEUP}, | ||
2779 | { 0x0a, KEY_MUTE}, | ||
2780 | { 0x04, KEY_AUDIO}, | ||
2781 | { 0x26, KEY_RECORD}, | ||
2782 | { 0x06, KEY_PLAY}, | ||
2783 | { 0x36, KEY_STOP}, | ||
2784 | { 0x16, KEY_PAUSE}, | ||
2785 | { 0x2e, KEY_REWIND}, | ||
2786 | { 0x0e, KEY_FASTFORWARD}, | ||
2787 | { 0x30, KEY_TEXT}, | ||
2788 | { 0x21, KEY_GREEN}, | ||
2789 | { 0x01, KEY_BLUE}, | ||
2790 | { 0x08, KEY_EPG}, | ||
2791 | { 0x2a, KEY_MENU}, | ||
2792 | }; | ||
2793 | struct ir_scancode_table ir_codes_avermedia_a16d_table = { | ||
2794 | .scan = ir_codes_avermedia_a16d, | ||
2795 | .size = ARRAY_SIZE(ir_codes_avermedia_a16d), | ||
2681 | }; | 2796 | }; |
2682 | EXPORT_SYMBOL_GPL(ir_codes_real_audio_220_32_keys); | 2797 | EXPORT_SYMBOL_GPL(ir_codes_avermedia_a16d_table); |
2798 | |||
2799 | /* Encore ENLTV-FM v5.3 | ||
2800 | Mauro Carvalho Chehab <mchehab@infradead.org> | ||
2801 | */ | ||
2802 | static struct ir_scancode ir_codes_encore_enltv_fm53[] = { | ||
2803 | { 0x10, KEY_POWER2}, | ||
2804 | { 0x06, KEY_MUTE}, | ||
2805 | |||
2806 | { 0x09, KEY_1}, | ||
2807 | { 0x1d, KEY_2}, | ||
2808 | { 0x1f, KEY_3}, | ||
2809 | { 0x19, KEY_4}, | ||
2810 | { 0x1b, KEY_5}, | ||
2811 | { 0x11, KEY_6}, | ||
2812 | { 0x17, KEY_7}, | ||
2813 | { 0x12, KEY_8}, | ||
2814 | { 0x16, KEY_9}, | ||
2815 | { 0x48, KEY_0}, | ||
2816 | |||
2817 | { 0x04, KEY_LIST}, /* -/-- */ | ||
2818 | { 0x40, KEY_LAST}, /* recall */ | ||
2819 | |||
2820 | { 0x02, KEY_MODE}, /* TV/AV */ | ||
2821 | { 0x05, KEY_CAMERA}, /* SNAPSHOT */ | ||
2822 | |||
2823 | { 0x4c, KEY_CHANNELUP}, /* UP */ | ||
2824 | { 0x00, KEY_CHANNELDOWN}, /* DOWN */ | ||
2825 | { 0x0d, KEY_VOLUMEUP}, /* RIGHT */ | ||
2826 | { 0x15, KEY_VOLUMEDOWN}, /* LEFT */ | ||
2827 | { 0x49, KEY_ENTER}, /* OK */ | ||
2828 | |||
2829 | { 0x54, KEY_RECORD}, | ||
2830 | { 0x4d, KEY_PLAY}, /* pause */ | ||
2831 | |||
2832 | { 0x1e, KEY_MENU}, /* video setting */ | ||
2833 | { 0x0e, KEY_RIGHT}, /* <- */ | ||
2834 | { 0x1a, KEY_LEFT}, /* -> */ | ||
2835 | |||
2836 | { 0x0a, KEY_CLEAR}, /* video default */ | ||
2837 | { 0x0c, KEY_ZOOM}, /* hide pannel */ | ||
2838 | { 0x47, KEY_SLEEP}, /* shutdown */ | ||
2839 | }; | ||
2840 | struct ir_scancode_table ir_codes_encore_enltv_fm53_table = { | ||
2841 | .scan = ir_codes_encore_enltv_fm53, | ||
2842 | .size = ARRAY_SIZE(ir_codes_encore_enltv_fm53), | ||
2843 | }; | ||
2844 | EXPORT_SYMBOL_GPL(ir_codes_encore_enltv_fm53_table); | ||
2845 | |||
2846 | /* Zogis Real Audio 220 - 32 keys IR */ | ||
2847 | static struct ir_scancode ir_codes_real_audio_220_32_keys[] = { | ||
2848 | { 0x1c, KEY_RADIO}, | ||
2849 | { 0x12, KEY_POWER2}, | ||
2850 | |||
2851 | { 0x01, KEY_1}, | ||
2852 | { 0x02, KEY_2}, | ||
2853 | { 0x03, KEY_3}, | ||
2854 | { 0x04, KEY_4}, | ||
2855 | { 0x05, KEY_5}, | ||
2856 | { 0x06, KEY_6}, | ||
2857 | { 0x07, KEY_7}, | ||
2858 | { 0x08, KEY_8}, | ||
2859 | { 0x09, KEY_9}, | ||
2860 | { 0x00, KEY_0}, | ||
2861 | |||
2862 | { 0x0c, KEY_VOLUMEUP}, | ||
2863 | { 0x18, KEY_VOLUMEDOWN}, | ||
2864 | { 0x0b, KEY_CHANNELUP}, | ||
2865 | { 0x15, KEY_CHANNELDOWN}, | ||
2866 | { 0x16, KEY_ENTER}, | ||
2867 | |||
2868 | { 0x11, KEY_LIST}, /* Source */ | ||
2869 | { 0x0d, KEY_AUDIO}, /* stereo */ | ||
2870 | |||
2871 | { 0x0f, KEY_PREVIOUS}, /* Prev */ | ||
2872 | { 0x1b, KEY_TIME}, /* Timeshift */ | ||
2873 | { 0x1a, KEY_NEXT}, /* Next */ | ||
2874 | |||
2875 | { 0x0e, KEY_STOP}, | ||
2876 | { 0x1f, KEY_PLAY}, | ||
2877 | { 0x1e, KEY_PLAYPAUSE}, /* Pause */ | ||
2878 | |||
2879 | { 0x1d, KEY_RECORD}, | ||
2880 | { 0x13, KEY_MUTE}, | ||
2881 | { 0x19, KEY_CAMERA}, /* Snapshot */ | ||
2882 | |||
2883 | }; | ||
2884 | struct ir_scancode_table ir_codes_real_audio_220_32_keys_table = { | ||
2885 | .scan = ir_codes_real_audio_220_32_keys, | ||
2886 | .size = ARRAY_SIZE(ir_codes_real_audio_220_32_keys), | ||
2887 | }; | ||
2888 | EXPORT_SYMBOL_GPL(ir_codes_real_audio_220_32_keys_table); | ||
2683 | 2889 | ||
2684 | /* ATI TV Wonder HD 600 USB | 2890 | /* ATI TV Wonder HD 600 USB |
2685 | Devin Heitmueller <devin.heitmueller@gmail.com> | 2891 | Devin Heitmueller <devin.heitmueller@gmail.com> |
2686 | */ | 2892 | */ |
2687 | IR_KEYTAB_TYPE ir_codes_ati_tv_wonder_hd_600[IR_KEYTAB_SIZE] = { | 2893 | static struct ir_scancode ir_codes_ati_tv_wonder_hd_600[] = { |
2688 | [0x00] = KEY_RECORD, /* Row 1 */ | 2894 | { 0x00, KEY_RECORD}, /* Row 1 */ |
2689 | [0x01] = KEY_PLAYPAUSE, | 2895 | { 0x01, KEY_PLAYPAUSE}, |
2690 | [0x02] = KEY_STOP, | 2896 | { 0x02, KEY_STOP}, |
2691 | [0x03] = KEY_POWER, | 2897 | { 0x03, KEY_POWER}, |
2692 | [0x04] = KEY_PREVIOUS, /* Row 2 */ | 2898 | { 0x04, KEY_PREVIOUS}, /* Row 2 */ |
2693 | [0x05] = KEY_REWIND, | 2899 | { 0x05, KEY_REWIND}, |
2694 | [0x06] = KEY_FORWARD, | 2900 | { 0x06, KEY_FORWARD}, |
2695 | [0x07] = KEY_NEXT, | 2901 | { 0x07, KEY_NEXT}, |
2696 | [0x08] = KEY_EPG, /* Row 3 */ | 2902 | { 0x08, KEY_EPG}, /* Row 3 */ |
2697 | [0x09] = KEY_HOME, | 2903 | { 0x09, KEY_HOME}, |
2698 | [0x0a] = KEY_MENU, | 2904 | { 0x0a, KEY_MENU}, |
2699 | [0x0b] = KEY_CHANNELUP, | 2905 | { 0x0b, KEY_CHANNELUP}, |
2700 | [0x0c] = KEY_BACK, /* Row 4 */ | 2906 | { 0x0c, KEY_BACK}, /* Row 4 */ |
2701 | [0x0d] = KEY_UP, | 2907 | { 0x0d, KEY_UP}, |
2702 | [0x0e] = KEY_INFO, | 2908 | { 0x0e, KEY_INFO}, |
2703 | [0x0f] = KEY_CHANNELDOWN, | 2909 | { 0x0f, KEY_CHANNELDOWN}, |
2704 | [0x10] = KEY_LEFT, /* Row 5 */ | 2910 | { 0x10, KEY_LEFT}, /* Row 5 */ |
2705 | [0x11] = KEY_SELECT, | 2911 | { 0x11, KEY_SELECT}, |
2706 | [0x12] = KEY_RIGHT, | 2912 | { 0x12, KEY_RIGHT}, |
2707 | [0x13] = KEY_VOLUMEUP, | 2913 | { 0x13, KEY_VOLUMEUP}, |
2708 | [0x14] = KEY_LAST, /* Row 6 */ | 2914 | { 0x14, KEY_LAST}, /* Row 6 */ |
2709 | [0x15] = KEY_DOWN, | 2915 | { 0x15, KEY_DOWN}, |
2710 | [0x16] = KEY_MUTE, | 2916 | { 0x16, KEY_MUTE}, |
2711 | [0x17] = KEY_VOLUMEDOWN, | 2917 | { 0x17, KEY_VOLUMEDOWN}, |
2712 | }; | 2918 | }; |
2713 | 2919 | struct ir_scancode_table ir_codes_ati_tv_wonder_hd_600_table = { | |
2714 | EXPORT_SYMBOL_GPL(ir_codes_ati_tv_wonder_hd_600); | 2920 | .scan = ir_codes_ati_tv_wonder_hd_600, |
2921 | .size = ARRAY_SIZE(ir_codes_ati_tv_wonder_hd_600), | ||
2922 | }; | ||
2923 | EXPORT_SYMBOL_GPL(ir_codes_ati_tv_wonder_hd_600_table); | ||
2715 | 2924 | ||
2716 | /* DVBWorld remotes | 2925 | /* DVBWorld remotes |
2717 | Igor M. Liplianin <liplianin@me.by> | 2926 | Igor M. Liplianin <liplianin@me.by> |
2718 | */ | 2927 | */ |
2719 | IR_KEYTAB_TYPE ir_codes_dm1105_nec[IR_KEYTAB_SIZE] = { | 2928 | static struct ir_scancode ir_codes_dm1105_nec[] = { |
2720 | [0x0a] = KEY_Q, /*power*/ | 2929 | { 0x0a, KEY_POWER2}, /* power */ |
2721 | [0x0c] = KEY_M, /*mute*/ | 2930 | { 0x0c, KEY_MUTE}, /* mute */ |
2722 | [0x11] = KEY_1, | 2931 | { 0x11, KEY_1}, |
2723 | [0x12] = KEY_2, | 2932 | { 0x12, KEY_2}, |
2724 | [0x13] = KEY_3, | 2933 | { 0x13, KEY_3}, |
2725 | [0x14] = KEY_4, | 2934 | { 0x14, KEY_4}, |
2726 | [0x15] = KEY_5, | 2935 | { 0x15, KEY_5}, |
2727 | [0x16] = KEY_6, | 2936 | { 0x16, KEY_6}, |
2728 | [0x17] = KEY_7, | 2937 | { 0x17, KEY_7}, |
2729 | [0x18] = KEY_8, | 2938 | { 0x18, KEY_8}, |
2730 | [0x19] = KEY_9, | 2939 | { 0x19, KEY_9}, |
2731 | [0x10] = KEY_0, | 2940 | { 0x10, KEY_0}, |
2732 | [0x1c] = KEY_PAGEUP, /*ch+*/ | 2941 | { 0x1c, KEY_CHANNELUP}, /* ch+ */ |
2733 | [0x0f] = KEY_PAGEDOWN, /*ch-*/ | 2942 | { 0x0f, KEY_CHANNELDOWN}, /* ch- */ |
2734 | [0x1a] = KEY_O, /*vol+*/ | 2943 | { 0x1a, KEY_VOLUMEUP}, /* vol+ */ |
2735 | [0x0e] = KEY_Z, /*vol-*/ | 2944 | { 0x0e, KEY_VOLUMEDOWN}, /* vol- */ |
2736 | [0x04] = KEY_R, /*rec*/ | 2945 | { 0x04, KEY_RECORD}, /* rec */ |
2737 | [0x09] = KEY_D, /*fav*/ | 2946 | { 0x09, KEY_CHANNEL}, /* fav */ |
2738 | [0x08] = KEY_BACKSPACE, /*rewind*/ | 2947 | { 0x08, KEY_BACKSPACE}, /* rewind */ |
2739 | [0x07] = KEY_A, /*fast*/ | 2948 | { 0x07, KEY_FASTFORWARD}, /* fast */ |
2740 | [0x0b] = KEY_P, /*pause*/ | 2949 | { 0x0b, KEY_PAUSE}, /* pause */ |
2741 | [0x02] = KEY_ESC, /*cancel*/ | 2950 | { 0x02, KEY_ESC}, /* cancel */ |
2742 | [0x03] = KEY_G, /*tab*/ | 2951 | { 0x03, KEY_TAB}, /* tab */ |
2743 | [0x00] = KEY_UP, /*up*/ | 2952 | { 0x00, KEY_UP}, /* up */ |
2744 | [0x1f] = KEY_ENTER, /*ok*/ | 2953 | { 0x1f, KEY_ENTER}, /* ok */ |
2745 | [0x01] = KEY_DOWN, /*down*/ | 2954 | { 0x01, KEY_DOWN}, /* down */ |
2746 | [0x05] = KEY_C, /*cap*/ | 2955 | { 0x05, KEY_RECORD}, /* cap */ |
2747 | [0x06] = KEY_S, /*stop*/ | 2956 | { 0x06, KEY_STOP}, /* stop */ |
2748 | [0x40] = KEY_F, /*full*/ | 2957 | { 0x40, KEY_ZOOM}, /* full */ |
2749 | [0x1e] = KEY_W, /*tvmode*/ | 2958 | { 0x1e, KEY_TV}, /* tvmode */ |
2750 | [0x1b] = KEY_B, /*recall*/ | 2959 | { 0x1b, KEY_B}, /* recall */ |
2751 | }; | 2960 | }; |
2752 | EXPORT_SYMBOL_GPL(ir_codes_dm1105_nec); | 2961 | struct ir_scancode_table ir_codes_dm1105_nec_table = { |
2962 | .scan = ir_codes_dm1105_nec, | ||
2963 | .size = ARRAY_SIZE(ir_codes_dm1105_nec), | ||
2964 | }; | ||
2965 | EXPORT_SYMBOL_GPL(ir_codes_dm1105_nec_table); | ||
2966 | |||
2967 | /* Terratec Cinergy Hybrid T USB XS | ||
2968 | Devin Heitmueller <dheitmueller@linuxtv.org> | ||
2969 | */ | ||
2970 | static struct ir_scancode ir_codes_terratec_cinergy_xs[] = { | ||
2971 | { 0x41, KEY_HOME}, | ||
2972 | { 0x01, KEY_POWER}, | ||
2973 | { 0x42, KEY_MENU}, | ||
2974 | { 0x02, KEY_1}, | ||
2975 | { 0x03, KEY_2}, | ||
2976 | { 0x04, KEY_3}, | ||
2977 | { 0x43, KEY_SUBTITLE}, | ||
2978 | { 0x05, KEY_4}, | ||
2979 | { 0x06, KEY_5}, | ||
2980 | { 0x07, KEY_6}, | ||
2981 | { 0x44, KEY_TEXT}, | ||
2982 | { 0x08, KEY_7}, | ||
2983 | { 0x09, KEY_8}, | ||
2984 | { 0x0a, KEY_9}, | ||
2985 | { 0x45, KEY_DELETE}, | ||
2986 | { 0x0b, KEY_TUNER}, | ||
2987 | { 0x0c, KEY_0}, | ||
2988 | { 0x0d, KEY_MODE}, | ||
2989 | { 0x46, KEY_TV}, | ||
2990 | { 0x47, KEY_DVD}, | ||
2991 | { 0x49, KEY_VIDEO}, | ||
2992 | { 0x4b, KEY_AUX}, | ||
2993 | { 0x10, KEY_UP}, | ||
2994 | { 0x11, KEY_LEFT}, | ||
2995 | { 0x12, KEY_OK}, | ||
2996 | { 0x13, KEY_RIGHT}, | ||
2997 | { 0x14, KEY_DOWN}, | ||
2998 | { 0x0f, KEY_EPG}, | ||
2999 | { 0x16, KEY_INFO}, | ||
3000 | { 0x4d, KEY_BACKSPACE}, | ||
3001 | { 0x1c, KEY_VOLUMEUP}, | ||
3002 | { 0x4c, KEY_PLAY}, | ||
3003 | { 0x1b, KEY_CHANNELUP}, | ||
3004 | { 0x1e, KEY_VOLUMEDOWN}, | ||
3005 | { 0x1d, KEY_MUTE}, | ||
3006 | { 0x1f, KEY_CHANNELDOWN}, | ||
3007 | { 0x17, KEY_RED}, | ||
3008 | { 0x18, KEY_GREEN}, | ||
3009 | { 0x19, KEY_YELLOW}, | ||
3010 | { 0x1a, KEY_BLUE}, | ||
3011 | { 0x58, KEY_RECORD}, | ||
3012 | { 0x48, KEY_STOP}, | ||
3013 | { 0x40, KEY_PAUSE}, | ||
3014 | { 0x54, KEY_LAST}, | ||
3015 | { 0x4e, KEY_REWIND}, | ||
3016 | { 0x4f, KEY_FASTFORWARD}, | ||
3017 | { 0x5c, KEY_NEXT}, | ||
3018 | }; | ||
3019 | struct ir_scancode_table ir_codes_terratec_cinergy_xs_table = { | ||
3020 | .scan = ir_codes_terratec_cinergy_xs, | ||
3021 | .size = ARRAY_SIZE(ir_codes_terratec_cinergy_xs), | ||
3022 | }; | ||
3023 | EXPORT_SYMBOL_GPL(ir_codes_terratec_cinergy_xs_table); | ||
2753 | 3024 | ||
2754 | /* EVGA inDtube | 3025 | /* EVGA inDtube |
2755 | Devin Heitmueller <devin.heitmueller@gmail.com> | 3026 | Devin Heitmueller <devin.heitmueller@gmail.com> |
2756 | */ | 3027 | */ |
2757 | IR_KEYTAB_TYPE ir_codes_evga_indtube[IR_KEYTAB_SIZE] = { | 3028 | static struct ir_scancode ir_codes_evga_indtube[] = { |
2758 | [0x12] = KEY_POWER, | 3029 | { 0x12, KEY_POWER}, |
2759 | [0x02] = KEY_MODE, /* TV */ | 3030 | { 0x02, KEY_MODE}, /* TV */ |
2760 | [0x14] = KEY_MUTE, | 3031 | { 0x14, KEY_MUTE}, |
2761 | [0x1a] = KEY_CHANNELUP, | 3032 | { 0x1a, KEY_CHANNELUP}, |
2762 | [0x16] = KEY_TV2, /* PIP */ | 3033 | { 0x16, KEY_TV2}, /* PIP */ |
2763 | [0x1d] = KEY_VOLUMEUP, | 3034 | { 0x1d, KEY_VOLUMEUP}, |
2764 | [0x05] = KEY_CHANNELDOWN, | 3035 | { 0x05, KEY_CHANNELDOWN}, |
2765 | [0x0f] = KEY_PLAYPAUSE, | 3036 | { 0x0f, KEY_PLAYPAUSE}, |
2766 | [0x19] = KEY_VOLUMEDOWN, | 3037 | { 0x19, KEY_VOLUMEDOWN}, |
2767 | [0x1c] = KEY_REWIND, | 3038 | { 0x1c, KEY_REWIND}, |
2768 | [0x0d] = KEY_RECORD, | 3039 | { 0x0d, KEY_RECORD}, |
2769 | [0x18] = KEY_FORWARD, | 3040 | { 0x18, KEY_FORWARD}, |
2770 | [0x1e] = KEY_PREVIOUS, | 3041 | { 0x1e, KEY_PREVIOUS}, |
2771 | [0x1b] = KEY_STOP, | 3042 | { 0x1b, KEY_STOP}, |
2772 | [0x1f] = KEY_NEXT, | 3043 | { 0x1f, KEY_NEXT}, |
2773 | [0x13] = KEY_CAMERA, | 3044 | { 0x13, KEY_CAMERA}, |
2774 | }; | 3045 | }; |
2775 | EXPORT_SYMBOL_GPL(ir_codes_evga_indtube); | 3046 | struct ir_scancode_table ir_codes_evga_indtube_table = { |
3047 | .scan = ir_codes_evga_indtube, | ||
3048 | .size = ARRAY_SIZE(ir_codes_evga_indtube), | ||
3049 | }; | ||
3050 | EXPORT_SYMBOL_GPL(ir_codes_evga_indtube_table); | ||
3051 | |||
3052 | static struct ir_scancode ir_codes_videomate_s350[] = { | ||
3053 | { 0x00, KEY_TV}, | ||
3054 | { 0x01, KEY_DVD}, | ||
3055 | { 0x04, KEY_RECORD}, | ||
3056 | { 0x05, KEY_VIDEO}, /* TV/Video */ | ||
3057 | { 0x07, KEY_STOP}, | ||
3058 | { 0x08, KEY_PLAYPAUSE}, | ||
3059 | { 0x0a, KEY_REWIND}, | ||
3060 | { 0x0f, KEY_FASTFORWARD}, | ||
3061 | { 0x10, KEY_CHANNELUP}, | ||
3062 | { 0x12, KEY_VOLUMEUP}, | ||
3063 | { 0x13, KEY_CHANNELDOWN}, | ||
3064 | { 0x14, KEY_MUTE}, | ||
3065 | { 0x15, KEY_VOLUMEDOWN}, | ||
3066 | { 0x16, KEY_1}, | ||
3067 | { 0x17, KEY_2}, | ||
3068 | { 0x18, KEY_3}, | ||
3069 | { 0x19, KEY_4}, | ||
3070 | { 0x1a, KEY_5}, | ||
3071 | { 0x1b, KEY_6}, | ||
3072 | { 0x1c, KEY_7}, | ||
3073 | { 0x1d, KEY_8}, | ||
3074 | { 0x1e, KEY_9}, | ||
3075 | { 0x1f, KEY_0}, | ||
3076 | { 0x21, KEY_SLEEP}, | ||
3077 | { 0x24, KEY_ZOOM}, | ||
3078 | { 0x25, KEY_LAST}, /* Recall */ | ||
3079 | { 0x26, KEY_SUBTITLE}, /* CC */ | ||
3080 | { 0x27, KEY_LANGUAGE}, /* MTS */ | ||
3081 | { 0x29, KEY_CHANNEL}, /* SURF */ | ||
3082 | { 0x2b, KEY_A}, | ||
3083 | { 0x2c, KEY_B}, | ||
3084 | { 0x2f, KEY_CAMERA}, /* Snapshot */ | ||
3085 | { 0x23, KEY_RADIO}, | ||
3086 | { 0x02, KEY_PREVIOUSSONG}, | ||
3087 | { 0x06, KEY_NEXTSONG}, | ||
3088 | { 0x03, KEY_EPG}, | ||
3089 | { 0x09, KEY_SETUP}, | ||
3090 | { 0x22, KEY_BACKSPACE}, | ||
3091 | { 0x0c, KEY_UP}, | ||
3092 | { 0x0e, KEY_DOWN}, | ||
3093 | { 0x0b, KEY_LEFT}, | ||
3094 | { 0x0d, KEY_RIGHT}, | ||
3095 | { 0x11, KEY_ENTER}, | ||
3096 | { 0x20, KEY_TEXT}, | ||
3097 | }; | ||
3098 | struct ir_scancode_table ir_codes_videomate_s350_table = { | ||
3099 | .scan = ir_codes_videomate_s350, | ||
3100 | .size = ARRAY_SIZE(ir_codes_videomate_s350), | ||
3101 | }; | ||
3102 | EXPORT_SYMBOL_GPL(ir_codes_videomate_s350_table); | ||
3103 | |||
3104 | /* GADMEI UTV330+ RM008Z remote | ||
3105 | Shine Liu <shinel@foxmail.com> | ||
3106 | */ | ||
3107 | static struct ir_scancode ir_codes_gadmei_rm008z[] = { | ||
3108 | { 0x14, KEY_POWER2}, /* POWER OFF */ | ||
3109 | { 0x0c, KEY_MUTE}, /* MUTE */ | ||
3110 | |||
3111 | { 0x18, KEY_TV}, /* TV */ | ||
3112 | { 0x0e, KEY_VIDEO}, /* AV */ | ||
3113 | { 0x0b, KEY_AUDIO}, /* SV */ | ||
3114 | { 0x0f, KEY_RADIO}, /* FM */ | ||
3115 | |||
3116 | { 0x00, KEY_1}, | ||
3117 | { 0x01, KEY_2}, | ||
3118 | { 0x02, KEY_3}, | ||
3119 | { 0x03, KEY_4}, | ||
3120 | { 0x04, KEY_5}, | ||
3121 | { 0x05, KEY_6}, | ||
3122 | { 0x06, KEY_7}, | ||
3123 | { 0x07, KEY_8}, | ||
3124 | { 0x08, KEY_9}, | ||
3125 | { 0x09, KEY_0}, | ||
3126 | { 0x0a, KEY_INFO}, /* OSD */ | ||
3127 | { 0x1c, KEY_BACKSPACE}, /* LAST */ | ||
3128 | |||
3129 | { 0x0d, KEY_PLAY}, /* PLAY */ | ||
3130 | { 0x1e, KEY_CAMERA}, /* SNAPSHOT */ | ||
3131 | { 0x1a, KEY_RECORD}, /* RECORD */ | ||
3132 | { 0x17, KEY_STOP}, /* STOP */ | ||
3133 | |||
3134 | { 0x1f, KEY_UP}, /* UP */ | ||
3135 | { 0x44, KEY_DOWN}, /* DOWN */ | ||
3136 | { 0x46, KEY_TAB}, /* BACK */ | ||
3137 | { 0x4a, KEY_ZOOM}, /* FULLSECREEN */ | ||
3138 | |||
3139 | { 0x10, KEY_VOLUMEUP}, /* VOLUMEUP */ | ||
3140 | { 0x11, KEY_VOLUMEDOWN}, /* VOLUMEDOWN */ | ||
3141 | { 0x12, KEY_CHANNELUP}, /* CHANNELUP */ | ||
3142 | { 0x13, KEY_CHANNELDOWN}, /* CHANNELDOWN */ | ||
3143 | { 0x15, KEY_ENTER}, /* OK */ | ||
3144 | }; | ||
3145 | struct ir_scancode_table ir_codes_gadmei_rm008z_table = { | ||
3146 | .scan = ir_codes_gadmei_rm008z, | ||
3147 | .size = ARRAY_SIZE(ir_codes_gadmei_rm008z), | ||
3148 | }; | ||
3149 | EXPORT_SYMBOL_GPL(ir_codes_gadmei_rm008z_table); | ||