V4L/DVB (9525): af9015: add support for AverMedia Volar X remote.
authorJose Alberto Reguero <jareguero@telefonica.net>
Tue, 4 Nov 2008 14:38:01 +0000 (11:38 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 29 Dec 2008 19:53:27 +0000 (17:53 -0200)
This patch add support for AverMedia Volar X remote.

Signed-off-by: Jose Alberto Reguero <jareguero@telefonica.net>
Signed-off-by: Antti Palosaari <crope@iki.fi>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/dvb-usb/af9015.c
drivers/media/dvb/dvb-usb/af9015.h

index e9ab024..d8887b7 100644 (file)
@@ -800,6 +800,16 @@ static int af9015_read_config(struct usb_device *udev)
                                          ARRAY_SIZE(af9015_ir_table_msi);
                                }
                                break;
+                       case USB_VID_AVERMEDIA:
+                               af9015_properties[i].rc_key_map =
+                                 af9015_rc_keys_avermedia;
+                               af9015_properties[i].rc_key_map_size =
+                                 ARRAY_SIZE(af9015_rc_keys_avermedia);
+                               af9015_config.ir_table =
+                                 af9015_ir_table_avermedia;
+                               af9015_config.ir_table_size =
+                                 ARRAY_SIZE(af9015_ir_table_avermedia);
+                               break;
                        }
                }
        }
index 6c3c972..1ab86cc 100644 (file)
@@ -520,4 +520,80 @@ static u8 af9015_ir_table_kworld[] = {
        0x86, 0x6b, 0x23, 0xdc, 0x45, 0x07, 0x00,
 };
 
+/* AverMedia Volar X */
+static struct dvb_usb_rc_key af9015_rc_keys_avermedia[] = {
+       { 0x05, 0x3d, KEY_PROG1 },       /* SOURCE */
+       { 0x05, 0x12, KEY_POWER },       /* POWER */
+       { 0x05, 0x1e, KEY_1 },           /* 1 */
+       { 0x05, 0x1f, KEY_2 },           /* 2 */
+       { 0x05, 0x20, KEY_3 },           /* 3 */
+       { 0x05, 0x21, KEY_4 },           /* 4 */
+       { 0x05, 0x22, KEY_5 },           /* 5 */
+       { 0x05, 0x23, KEY_6 },           /* 6 */
+       { 0x05, 0x24, KEY_7 },           /* 7 */
+       { 0x05, 0x25, KEY_8 },           /* 8 */
+       { 0x05, 0x26, KEY_9 },           /* 9 */
+       { 0x05, 0x3f, KEY_LEFT },        /* L / DISPLAY */
+       { 0x05, 0x27, KEY_0 },           /* 0 */
+       { 0x05, 0x0f, KEY_RIGHT },       /* R / CH RTN */
+       { 0x05, 0x18, KEY_PROG2 },       /* SNAP SHOT */
+       { 0x05, 0x1c, KEY_PROG3 },       /* 16-CH PREV */
+       { 0x05, 0x2d, KEY_VOLUMEDOWN },  /* VOL DOWN */
+       { 0x05, 0x3e, KEY_ZOOM },        /* FULL SCREEN */
+       { 0x05, 0x2e, KEY_VOLUMEUP },    /* VOL UP */
+       { 0x05, 0x10, KEY_MUTE },        /* MUTE */
+       { 0x05, 0x04, KEY_AUDIO },       /* AUDIO */
+       { 0x05, 0x15, KEY_RECORD },      /* RECORD */
+       { 0x05, 0x11, KEY_PLAY },        /* PLAY */
+       { 0x05, 0x16, KEY_STOP },        /* STOP */
+       { 0x05, 0x0c, KEY_PLAYPAUSE },   /* TIMESHIFT / PAUSE */
+       { 0x05, 0x05, KEY_BACK },        /* << / RED */
+       { 0x05, 0x09, KEY_FORWARD },     /* >> / YELLOW */
+       { 0x05, 0x17, KEY_TEXT },        /* TELETEXT */
+       { 0x05, 0x0a, KEY_EPG },         /* EPG */
+       { 0x05, 0x13, KEY_MENU },        /* MENU */
+
+       { 0x05, 0x0e, KEY_CHANNELUP },   /* CH UP */
+       { 0x05, 0x0d, KEY_CHANNELDOWN }, /* CH DOWN */
+       { 0x05, 0x19, KEY_FIRST },       /* |<< / GREEN */
+       { 0x05, 0x08, KEY_LAST },        /* >>| / BLUE */
+};
+
+static u8 af9015_ir_table_avermedia[] = {
+       0x02, 0xfd, 0x00, 0xff, 0x12, 0x05, 0x00,
+       0x02, 0xfd, 0x01, 0xfe, 0x3d, 0x05, 0x00,
+       0x02, 0xfd, 0x03, 0xfc, 0x17, 0x05, 0x00,
+       0x02, 0xfd, 0x04, 0xfb, 0x0a, 0x05, 0x00,
+       0x02, 0xfd, 0x05, 0xfa, 0x1e, 0x05, 0x00,
+       0x02, 0xfd, 0x06, 0xf9, 0x1f, 0x05, 0x00,
+       0x02, 0xfd, 0x07, 0xf8, 0x20, 0x05, 0x00,
+       0x02, 0xfd, 0x09, 0xf6, 0x21, 0x05, 0x00,
+       0x02, 0xfd, 0x0a, 0xf5, 0x22, 0x05, 0x00,
+       0x02, 0xfd, 0x0b, 0xf4, 0x23, 0x05, 0x00,
+       0x02, 0xfd, 0x0d, 0xf2, 0x24, 0x05, 0x00,
+       0x02, 0xfd, 0x0e, 0xf1, 0x25, 0x05, 0x00,
+       0x02, 0xfd, 0x0f, 0xf0, 0x26, 0x05, 0x00,
+       0x02, 0xfd, 0x11, 0xee, 0x27, 0x05, 0x00,
+       0x02, 0xfd, 0x08, 0xf7, 0x04, 0x05, 0x00,
+       0x02, 0xfd, 0x0c, 0xf3, 0x3e, 0x05, 0x00,
+       0x02, 0xfd, 0x10, 0xef, 0x1c, 0x05, 0x00,
+       0x02, 0xfd, 0x12, 0xed, 0x3f, 0x05, 0x00,
+       0x02, 0xfd, 0x13, 0xec, 0x0f, 0x05, 0x00,
+       0x02, 0xfd, 0x14, 0xeb, 0x10, 0x05, 0x00,
+       0x02, 0xfd, 0x15, 0xea, 0x13, 0x05, 0x00,
+       0x02, 0xfd, 0x17, 0xe8, 0x18, 0x05, 0x00,
+       0x02, 0xfd, 0x18, 0xe7, 0x11, 0x05, 0x00,
+       0x02, 0xfd, 0x19, 0xe6, 0x15, 0x05, 0x00,
+       0x02, 0xfd, 0x1a, 0xe5, 0x0c, 0x05, 0x00,
+       0x02, 0xfd, 0x1b, 0xe4, 0x16, 0x05, 0x00,
+       0x02, 0xfd, 0x1c, 0xe3, 0x09, 0x05, 0x00,
+       0x02, 0xfd, 0x1d, 0xe2, 0x05, 0x05, 0x00,
+       0x02, 0xfd, 0x1e, 0xe1, 0x2d, 0x05, 0x00,
+       0x02, 0xfd, 0x1f, 0xe0, 0x2e, 0x05, 0x00,
+       0x03, 0xfc, 0x00, 0xff, 0x08, 0x05, 0x00,
+       0x03, 0xfc, 0x01, 0xfe, 0x19, 0x05, 0x00,
+       0x03, 0xfc, 0x02, 0xfd, 0x0d, 0x05, 0x00,
+       0x03, 0xfc, 0x03, 0xfc, 0x0e, 0x05, 0x00,
+};
+
 #endif