aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/dvb/dvb-usb/af9015.h
diff options
context:
space:
mode:
authorAntti Palosaari <crope@iki.fi>2010-10-12 16:22:32 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-10-20 23:18:14 -0400
commit1cd72781db93c00fbee0bf4aed9e310a1d589738 (patch)
treec38f395682c51cd3193343a634047dc4634af5c6 /drivers/media/dvb/dvb-usb/af9015.h
parent3cbf5072ee0f38da278d67b7fafcfd6c86f83d36 (diff)
[media] af9015: move remote controllers to new RC core
Use new RC core instead of old legacy RC implementation. Signed-off-by: Antti Palosaari <crope@iki.fi> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/dvb/dvb-usb/af9015.h')
-rw-r--r--drivers/media/dvb/dvb-usb/af9015.h418
1 files changed, 1 insertions, 417 deletions
diff --git a/drivers/media/dvb/dvb-usb/af9015.h b/drivers/media/dvb/dvb-usb/af9015.h
index 948e50b47ae..f20cfa6ed69 100644
--- a/drivers/media/dvb/dvb-usb/af9015.h
+++ b/drivers/media/dvb/dvb-usb/af9015.h
@@ -101,6 +101,7 @@ enum af9015_ir_mode {
101struct af9015_state { 101struct af9015_state {
102 struct i2c_adapter i2c_adap; /* I2C adapter for 2nd FE */ 102 struct i2c_adapter i2c_adap; /* I2C adapter for 2nd FE */
103 u8 rc_repeat; 103 u8 rc_repeat;
104 u32 rc_keycode;
104}; 105};
105 106
106struct af9015_config { 107struct af9015_config {
@@ -120,421 +121,4 @@ enum af9015_remote {
120/* 5 */ AF9015_REMOTE_AVERMEDIA_KS, 121/* 5 */ AF9015_REMOTE_AVERMEDIA_KS,
121}; 122};
122 123
123/* LeadTek - Y04G0051 */
124/* Leadtek WinFast DTV Dongle Gold */
125static struct ir_scancode af9015_rc_leadtek[] = {
126 { 0x0300, KEY_POWER2 },
127 { 0x0303, KEY_SCREEN },
128 { 0x0304, KEY_RIGHT },
129 { 0x0305, KEY_1 },
130 { 0x0306, KEY_2 },
131 { 0x0307, KEY_3 },
132 { 0x0308, KEY_LEFT },
133 { 0x0309, KEY_4 },
134 { 0x030a, KEY_5 },
135 { 0x030b, KEY_6 },
136 { 0x030c, KEY_UP },
137 { 0x030d, KEY_7 },
138 { 0x030e, KEY_8 },
139 { 0x030f, KEY_9 },
140 { 0x0310, KEY_DOWN },
141 { 0x0311, KEY_AGAIN },
142 { 0x0312, KEY_0 },
143 { 0x0313, KEY_OK }, /* 1st ok */
144 { 0x0314, KEY_MUTE },
145 { 0x0316, KEY_OK }, /* 2nd ok */
146 { 0x031e, KEY_VIDEO }, /* 2nd video */
147 { 0x031b, KEY_AUDIO },
148 { 0x031f, KEY_TEXT },
149 { 0x0340, KEY_SLEEP },
150 { 0x0341, KEY_DOT },
151 { 0x0342, KEY_REWIND },
152 { 0x0343, KEY_PLAY },
153 { 0x0344, KEY_FASTFORWARD },
154 { 0x0345, KEY_TIME },
155 { 0x0346, KEY_STOP }, /* 2nd stop */
156 { 0x0347, KEY_RECORD },
157 { 0x0348, KEY_CAMERA },
158 { 0x0349, KEY_ESC },
159 { 0x034a, KEY_NEW },
160 { 0x034b, KEY_RED },
161 { 0x034c, KEY_GREEN },
162 { 0x034d, KEY_YELLOW },
163 { 0x034e, KEY_BLUE },
164 { 0x034f, KEY_MENU },
165 { 0x0350, KEY_STOP }, /* 1st stop */
166 { 0x0351, KEY_CHANNEL },
167 { 0x0352, KEY_VIDEO }, /* 1st video */
168 { 0x0353, KEY_EPG },
169 { 0x0354, KEY_PREVIOUS },
170 { 0x0355, KEY_NEXT },
171 { 0x0356, KEY_TV },
172 { 0x035a, KEY_VOLUMEDOWN },
173 { 0x035b, KEY_CHANNELUP },
174 { 0x035e, KEY_VOLUMEUP },
175 { 0x035f, KEY_CHANNELDOWN },
176};
177
178/* TwinHan AzureWave AD-TU700(704J) */
179static struct ir_scancode af9015_rc_twinhan[] = {
180 { 0x0000, KEY_TAB }, /* Tab */
181 { 0x0001, KEY_2 },
182 { 0x0002, KEY_CHANNELDOWN },
183 { 0x0003, KEY_1 },
184 { 0x0004, KEY_LIST }, /* Record List */
185 { 0x0005, KEY_CHANNELUP },
186 { 0x0006, KEY_3 },
187 { 0x0007, KEY_SLEEP }, /* Hibernate */
188 { 0x0008, KEY_SWITCHVIDEOMODE }, /* A/V */
189 { 0x0009, KEY_4 },
190 { 0x000a, KEY_VOLUMEDOWN },
191 { 0x000c, KEY_CANCEL }, /* Cancel */
192 { 0x000d, KEY_7 },
193 { 0x000e, KEY_AGAIN }, /* Recall */
194 { 0x000f, KEY_TEXT }, /* Teletext */
195 { 0x0010, KEY_MUTE },
196 { 0x0011, KEY_RECORD },
197 { 0x0012, KEY_FASTFORWARD }, /* FF >> */
198 { 0x0013, KEY_BACK }, /* Back */
199 { 0x0014, KEY_PLAY },
200 { 0x0015, KEY_0 },
201 { 0x0016, KEY_POWER },
202 { 0x0017, KEY_FAVORITES }, /* Favorite List */
203 { 0x0018, KEY_RED },
204 { 0x0019, KEY_8 },
205 { 0x001a, KEY_STOP },
206 { 0x001b, KEY_9 },
207 { 0x001c, KEY_EPG }, /* Info/EPG */
208 { 0x001d, KEY_5 },
209 { 0x001e, KEY_VOLUMEUP },
210 { 0x001f, KEY_6 },
211 { 0x0040, KEY_REWIND }, /* FR << */
212 { 0x0041, KEY_PREVIOUS }, /* Replay */
213 { 0x0042, KEY_NEXT }, /* Skip */
214 { 0x0043, KEY_SUBTITLE }, /* Subtitle / CC */
215 { 0x0045, KEY_KPPLUS }, /* Zoom+ */
216 { 0x0046, KEY_KPMINUS }, /* Zoom- */
217 { 0x0047, KEY_TV2 }, /* PIP */
218 { 0x0048, KEY_INFO }, /* Preview */
219 { 0x0049, KEY_AUDIO }, /* L/R */ /* TODO better event */
220 { 0x004a, KEY_CLEAR }, /* Clear */
221 { 0x004b, KEY_UP }, /* up arrow */
222 { 0x004c, KEY_PAUSE },
223 { 0x004d, KEY_ZOOM }, /* Full Screen */
224 { 0x004e, KEY_LEFT }, /* left arrow */
225 { 0x004f, KEY_ENTER }, /* Enter / ok */
226 { 0x0050, KEY_LANGUAGE }, /* SAP */
227 { 0x0051, KEY_DOWN }, /* down arrow */
228 { 0x0052, KEY_RIGHT }, /* right arrow */
229 { 0x0053, KEY_GREEN },
230 { 0x0054, KEY_CAMERA }, /* Capture */
231 { 0x005e, KEY_YELLOW },
232 { 0x005f, KEY_BLUE },
233};
234
235/* A-Link DTU(m) - 3x6 slim remote */
236static struct ir_scancode af9015_rc_a_link[] = {
237 { 0x0800, KEY_VOLUMEUP },
238 { 0x0801, KEY_1 },
239 { 0x0802, KEY_3 },
240 { 0x0803, KEY_7 },
241 { 0x0804, KEY_9 },
242 { 0x0805, KEY_ZOOM },
243 { 0x0806, KEY_0 },
244 { 0x0807, KEY_GOTO }, /* jump */
245 { 0x080d, KEY_5 },
246 { 0x080f, KEY_2 },
247 { 0x0812, KEY_POWER },
248 { 0x0814, KEY_CHANNELUP },
249 { 0x0816, KEY_VOLUMEDOWN },
250 { 0x0818, KEY_6 },
251 { 0x081a, KEY_MUTE },
252 { 0x081b, KEY_8 },
253 { 0x081c, KEY_4 },
254 { 0x081d, KEY_CHANNELDOWN },
255};
256
257/* MSI DIGIVOX mini II V3.0 */
258static struct ir_scancode af9015_rc_msi[] = {
259 { 0x0002, KEY_2 },
260 { 0x0003, KEY_UP }, /* up */
261 { 0x0004, KEY_3 },
262 { 0x0005, KEY_CHANNELDOWN },
263 { 0x0008, KEY_5 },
264 { 0x0009, KEY_0 },
265 { 0x000b, KEY_8 },
266 { 0x000d, KEY_DOWN }, /* down */
267 { 0x0010, KEY_9 },
268 { 0x0011, KEY_7 },
269 { 0x0014, KEY_VOLUMEUP },
270 { 0x0015, KEY_CHANNELUP },
271 { 0x0016, KEY_ENTER },
272 { 0x0017, KEY_POWER },
273 { 0x001a, KEY_1 },
274 { 0x001c, KEY_4 },
275 { 0x001d, KEY_6 },
276 { 0x001f, KEY_VOLUMEDOWN },
277};
278
279/* MYGICTV U718 */
280/* Uses NEC extended 0x02bd. Extended byte removed for compatibility... */
281static struct ir_scancode af9015_rc_mygictv[] = {
282 { 0x0200, KEY_1 },
283 { 0x0201, KEY_2 },
284 { 0x0202, KEY_3 },
285 { 0x0203, KEY_4 },
286 { 0x0204, KEY_5 },
287 { 0x0205, KEY_6 },
288 { 0x0206, KEY_7 },
289 { 0x0207, KEY_8 },
290 { 0x0208, KEY_9 },
291 { 0x0209, KEY_0 },
292 { 0x020a, KEY_MUTE },
293 { 0x020b, KEY_CYCLEWINDOWS }, /* yellow, min / max */
294 { 0x020c, KEY_SWITCHVIDEOMODE }, /* TV / AV */
295 { 0x020e, KEY_VOLUMEDOWN },
296 { 0x020f, KEY_TIME }, /* TimeShift */
297 { 0x0210, KEY_RIGHT }, /* right arrow */
298 { 0x0211, KEY_LEFT }, /* left arrow */
299 { 0x0212, KEY_UP }, /* up arrow */
300 { 0x0213, KEY_DOWN }, /* down arrow */
301 { 0x0214, KEY_POWER },
302 { 0x0215, KEY_ENTER }, /* ok */
303 { 0x0216, KEY_STOP },
304 { 0x0217, KEY_CAMERA }, /* Snapshot */
305 { 0x0218, KEY_CHANNELUP },
306 { 0x0219, KEY_RECORD },
307 { 0x021a, KEY_CHANNELDOWN },
308 { 0x021c, KEY_ESC }, /* Esc */
309 { 0x021e, KEY_PLAY },
310 { 0x021f, KEY_VOLUMEUP },
311 { 0x0240, KEY_PAUSE },
312 { 0x0241, KEY_FASTFORWARD }, /* FF >> */
313 { 0x0242, KEY_REWIND }, /* FR << */
314 { 0x0243, KEY_ZOOM }, /* 'select' (?) */
315 { 0x0244, KEY_SHUFFLE }, /* Shuffle */
316 { 0x0245, KEY_POWER },
317};
318
319/* KWorld PlusTV Dual DVB-T Stick (DVB-T 399U) */
320/* FIXME: This mapping is totally incomplete and probably even wrong... */
321/* Uses NEC extended 0x866b. Extended byte removed for compatibility... */
322static struct ir_scancode af9015_rc_kworld[] = {
323 { 0x8600, KEY_1 },
324 { 0x8601, KEY_2 },
325 { 0x8602, KEY_3 },
326 { 0x8603, KEY_4 },
327 { 0x8604, KEY_5 },
328 { 0x8605, KEY_6 },
329 { 0x8606, KEY_7 },
330 { 0x8607, KEY_8 },
331 { 0x8608, KEY_9 },
332 { 0x860a, KEY_0 },
333};
334
335/* AverMedia Volar X */
336static struct ir_scancode af9015_rc_avermedia[] = {
337 { 0x0200, KEY_POWER }, /* POWER */
338 { 0x0201, KEY_PROG1 }, /* SOURCE */
339 { 0x0203, KEY_TEXT }, /* TELETEXT */
340 { 0x0204, KEY_EPG }, /* EPG */
341 { 0x0205, KEY_1 }, /* 1 */
342 { 0x0206, KEY_2 }, /* 2 */
343 { 0x0207, KEY_3 }, /* 3 */
344 { 0x0208, KEY_AUDIO }, /* AUDIO */
345 { 0x0209, KEY_4 }, /* 4 */
346 { 0x020a, KEY_5 }, /* 5 */
347 { 0x020b, KEY_6 }, /* 6 */
348 { 0x020c, KEY_ZOOM }, /* FULL SCREEN */
349 { 0x020d, KEY_7 }, /* 7 */
350 { 0x020e, KEY_8 }, /* 8 */
351 { 0x020f, KEY_9 }, /* 9 */
352 { 0x0210, KEY_PROG3 }, /* 16-CH PREV */
353 { 0x0211, KEY_0 }, /* 0 */
354 { 0x0212, KEY_LEFT }, /* L / DISPLAY */
355 { 0x0213, KEY_RIGHT }, /* R / CH RTN */
356 { 0x0214, KEY_MUTE }, /* MUTE */
357 { 0x0215, KEY_MENU }, /* MENU */
358 { 0x0217, KEY_PROG2 }, /* SNAP SHOT */
359 { 0x0218, KEY_PLAY }, /* PLAY */
360 { 0x0219, KEY_RECORD }, /* RECORD */
361 { 0x021a, KEY_PLAYPAUSE }, /* TIMESHIFT / PAUSE */
362 { 0x021b, KEY_STOP }, /* STOP */
363 { 0x021c, KEY_FORWARD }, /* >> / YELLOW */
364 { 0x021d, KEY_BACK }, /* << / RED */
365 { 0x021e, KEY_VOLUMEDOWN }, /* VOL DOWN */
366 { 0x021f, KEY_VOLUMEUP }, /* VOL UP */
367
368 { 0x0300, KEY_LAST }, /* >>| / BLUE */
369 { 0x0301, KEY_FIRST }, /* |<< / GREEN */
370 { 0x0302, KEY_CHANNELDOWN }, /* CH DOWN */
371 { 0x0303, KEY_CHANNELUP }, /* CH UP */
372};
373
374/* AverMedia KS */
375/* FIXME: mappings are not 100% correct? */
376static struct ir_scancode af9015_rc_avermedia_ks[] = {
377 { 0x0501, KEY_POWER },
378 { 0x0502, KEY_CHANNELUP },
379 { 0x0503, KEY_CHANNELDOWN },
380 { 0x0504, KEY_VOLUMEUP },
381 { 0x0505, KEY_VOLUMEDOWN },
382 { 0x0506, KEY_MUTE },
383 { 0x0507, KEY_RIGHT },
384 { 0x0508, KEY_PROG1 },
385 { 0x0509, KEY_1 },
386 { 0x050a, KEY_2 },
387 { 0x050b, KEY_3 },
388 { 0x050c, KEY_4 },
389 { 0x050d, KEY_5 },
390 { 0x050e, KEY_6 },
391 { 0x050f, KEY_7 },
392 { 0x0510, KEY_8 },
393 { 0x0511, KEY_9 },
394 { 0x0512, KEY_0 },
395 { 0x0513, KEY_AUDIO },
396 { 0x0515, KEY_EPG },
397 { 0x0516, KEY_PLAY },
398 { 0x0517, KEY_RECORD },
399 { 0x0518, KEY_STOP },
400 { 0x051c, KEY_BACK },
401 { 0x051d, KEY_FORWARD },
402 { 0x054d, KEY_LEFT },
403 { 0x0556, KEY_ZOOM },
404};
405
406/* Digittrade DVB-T USB Stick */
407static struct ir_scancode af9015_rc_digittrade[] = {
408 { 0x0000, KEY_9 },
409 { 0x0001, KEY_EPG }, /* EPG */
410 { 0x0002, KEY_VOLUMEDOWN }, /* Vol Dn */
411 { 0x0003, KEY_TEXT }, /* TELETEXT */
412 { 0x0004, KEY_8 },
413 { 0x0005, KEY_MUTE }, /* MUTE */
414 { 0x0006, KEY_POWER }, /* POWER */
415 { 0x0009, KEY_ZOOM }, /* FULLSCREEN */
416 { 0x000a, KEY_RECORD }, /* RECORD */
417 { 0x000d, KEY_SUBTITLE }, /* SUBTITLE */
418 { 0x000e, KEY_STOP }, /* STOP */
419 { 0x0010, KEY_LAST }, /* RETURN */
420 { 0x0011, KEY_2 },
421 { 0x0012, KEY_4 },
422 { 0x0015, KEY_3 },
423 { 0x0016, KEY_5 },
424 { 0x0017, KEY_CHANNELDOWN }, /* Ch Dn */
425 { 0x0019, KEY_CHANNELUP }, /* CH Up */
426 { 0x001a, KEY_PAUSE }, /* PAUSE */
427 { 0x001b, KEY_1 },
428 { 0x001d, KEY_AUDIO }, /* DUAL SOUND */
429 { 0x001e, KEY_PLAY }, /* PLAY */
430 { 0x001f, KEY_PRINT }, /* SNAPSHOT */
431 { 0x0040, KEY_VOLUMEUP }, /* Vol Up */
432 { 0x0048, KEY_7 },
433 { 0x004c, KEY_6 },
434 { 0x004d, KEY_PLAYPAUSE }, /* TIMESHIFT */
435 { 0x0054, KEY_0 },
436};
437
438/* TREKSTOR DVB-T USB Stick */
439static struct ir_scancode af9015_rc_trekstor[] = {
440 { 0x0084, KEY_0 },
441 { 0x0085, KEY_MUTE }, /* Mute */
442 { 0x0086, KEY_AGAIN }, /* Home */
443 { 0x0087, KEY_UP }, /* Up */
444 { 0x0088, KEY_ENTER }, /* OK */
445 { 0x0089, KEY_RIGHT }, /* Right */
446 { 0x008a, KEY_FASTFORWARD }, /* Fast forward */
447 { 0x008b, KEY_VOLUMEUP }, /* Volume + */
448 { 0x008c, KEY_DOWN }, /* Down */
449 { 0x008d, KEY_PLAY }, /* Play/Pause */
450 { 0x008e, KEY_STOP }, /* Stop */
451 { 0x008f, KEY_EPG }, /* Info/EPG */
452 { 0x0090, KEY_7 },
453 { 0x0091, KEY_4 },
454 { 0x0092, KEY_1 },
455 { 0x0093, KEY_CHANNELDOWN }, /* Channel - */
456 { 0x0094, KEY_8 },
457 { 0x0095, KEY_5 },
458 { 0x0096, KEY_2 },
459 { 0x0097, KEY_CHANNELUP }, /* Channel + */
460 { 0x0098, KEY_9 },
461 { 0x0099, KEY_6 },
462 { 0x009a, KEY_3 },
463 { 0x009b, KEY_VOLUMEDOWN }, /* Volume - */
464 { 0x009c, KEY_ZOOM }, /* TV */
465 { 0x009d, KEY_RECORD }, /* Record */
466 { 0x009e, KEY_REWIND }, /* Rewind */
467 { 0x009f, KEY_LEFT }, /* Left */
468};
469
470/* MSI DIGIVOX mini III */
471/* Uses NEC extended 0x61d6. Extended byte removed for compatibility... */
472static struct ir_scancode af9015_rc_msi_digivox_iii[] = {
473 { 0x6101, KEY_VIDEO }, /* Source */
474 { 0x6102, KEY_3 },
475 { 0x6103, KEY_POWER2 }, /* ShutDown */
476 { 0x6104, KEY_1 },
477 { 0x6105, KEY_5 },
478 { 0x6106, KEY_6 },
479 { 0x6107, KEY_CHANNELDOWN }, /* CH- */
480 { 0x6108, KEY_2 },
481 { 0x6109, KEY_CHANNELUP }, /* CH+ */
482 { 0x610a, KEY_9 },
483 { 0x610b, KEY_ZOOM }, /* Zoom */
484 { 0x610c, KEY_7 },
485 { 0x610d, KEY_8 },
486 { 0x610e, KEY_VOLUMEUP }, /* Vol+ */
487 { 0x610f, KEY_4 },
488 { 0x6110, KEY_ESC }, /* [back up arrow] */
489 { 0x6111, KEY_0 },
490 { 0x6112, KEY_OK }, /* [enter arrow] */
491 { 0x6113, KEY_VOLUMEDOWN }, /* Vol- */
492 { 0x6114, KEY_RECORD }, /* Rec */
493 { 0x6115, KEY_STOP }, /* Stop */
494 { 0x6116, KEY_PLAY }, /* Play */
495 { 0x6117, KEY_MUTE }, /* Mute */
496 { 0x6118, KEY_UP },
497 { 0x6119, KEY_DOWN },
498 { 0x611a, KEY_LEFT },
499 { 0x611b, KEY_RIGHT },
500 { 0x611c, KEY_RED },
501 { 0x611d, KEY_GREEN },
502 { 0x611e, KEY_YELLOW },
503 { 0x611f, KEY_BLUE },
504 { 0x6143, KEY_POWER }, /* [red power button] */
505};
506
507/* TerraTec - 4x7 slim remote */
508/* Uses NEC extended 0x02bd. Extended byte removed for compatibility... */
509static struct ir_scancode af9015_rc_terratec[] = {
510 { 0x0200, KEY_1 },
511 { 0x0201, KEY_2 },
512 { 0x0202, KEY_3 },
513 { 0x0203, KEY_4 },
514 { 0x0204, KEY_5 },
515 { 0x0205, KEY_6 },
516 { 0x0206, KEY_7 },
517 { 0x0207, KEY_8 },
518 { 0x0208, KEY_9 },
519 { 0x0209, KEY_0 },
520 { 0x020a, KEY_MUTE },
521 { 0x020b, KEY_ZOOM }, /* symbol: PIP or zoom ? */
522 { 0x020e, KEY_VOLUMEDOWN },
523 { 0x020f, KEY_PLAYPAUSE },
524 { 0x0210, KEY_RIGHT },
525 { 0x0211, KEY_LEFT },
526 { 0x0212, KEY_UP },
527 { 0x0213, KEY_DOWN },
528 { 0x0215, KEY_OK },
529 { 0x0216, KEY_STOP },
530 { 0x0217, KEY_CAMERA }, /* snapshot */
531 { 0x0218, KEY_CHANNELUP },
532 { 0x0219, KEY_RECORD },
533 { 0x021a, KEY_CHANNELDOWN },
534 { 0x021c, KEY_ESC },
535 { 0x021f, KEY_VOLUMEUP },
536 { 0x0244, KEY_EPG },
537 { 0x0245, KEY_POWER2 }, /* [red power button] */
538};
539
540#endif 124#endif