V4L/DVB (5070): Budget-ci: add support for the Technotrend 1500 bundled remote
authorVille-Pekka Vainio <vpivaini@cs.helsinki.fi>
Fri, 12 Jan 2007 17:06:21 +0000 (14:06 -0300)
committerMauro Carvalho Chehab <mchehab@infradead.org>
Wed, 21 Feb 2007 15:34:20 +0000 (13:34 -0200)
The keymap is based on a previous patch by Jussi Kukkonen.
This remote is identified by subsystem_device id 0x1010.

Signed-off-by: Ville-Pekka Vainio <vpivaini@cs.helsinki.fi>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
drivers/media/common/ir-keymaps.c
drivers/media/dvb/ttpci/budget-ci.c
include/media/ir-common.h

index 8b29020..03b47a2 100644 (file)
@@ -1738,3 +1738,42 @@ IR_KEYTAB_TYPE ir_codes_encore_enltv[IR_KEYTAB_SIZE] = {
 };
 
 EXPORT_SYMBOL_GPL(ir_codes_encore_enltv);
+
+/* for the Technotrend 1500 bundled remote: */
+IR_KEYTAB_TYPE ir_codes_tt_1500[IR_KEYTAB_SIZE] = {
+       [ 0x01 ] = KEY_POWER,
+       [ 0x02 ] = KEY_SHUFFLE, /* ? double-arrow key */
+       [ 0x03 ] = KEY_1,
+       [ 0x04 ] = KEY_2,
+       [ 0x05 ] = KEY_3,
+       [ 0x06 ] = KEY_4,
+       [ 0x07 ] = KEY_5,
+       [ 0x08 ] = KEY_6,
+       [ 0x09 ] = KEY_7,
+       [ 0x0a ] = KEY_8,
+       [ 0x0b ] = KEY_9,
+       [ 0x0c ] = KEY_0,
+       [ 0x0d ] = KEY_UP,
+       [ 0x0e ] = KEY_LEFT,
+       [ 0x0f ] = KEY_OK,
+       [ 0x10 ] = KEY_RIGHT,
+       [ 0x11 ] = KEY_DOWN,
+       [ 0x12 ] = KEY_INFO,
+       [ 0x13 ] = KEY_EXIT,
+       [ 0x14 ] = KEY_RED,
+       [ 0x15 ] = KEY_GREEN,
+       [ 0x16 ] = KEY_YELLOW,
+       [ 0x17 ] = KEY_BLUE,
+       [ 0x18 ] = KEY_MUTE,
+       [ 0x19 ] = KEY_TEXT,
+       [ 0x1a ] = KEY_MODE,    /* ? TV/Radio */
+       [ 0x21 ] = KEY_OPTION,
+       [ 0x22 ] = KEY_EPG,
+       [ 0x23 ] = KEY_CHANNELUP,
+       [ 0x24 ] = KEY_CHANNELDOWN,
+       [ 0x25 ] = KEY_VOLUMEUP,
+       [ 0x26 ] = KEY_VOLUMEDOWN,
+       [ 0x27 ] = KEY_SETUP,
+};
+
+EXPORT_SYMBOL_GPL(ir_codes_tt_1500);
index f2066b4..ea42576 100644 (file)
@@ -223,7 +223,6 @@ static int msp430_ir_init(struct budget_ci *budget_ci)
        switch (budget_ci->budget.dev->pci->subsystem_device) {
        case 0x100c:
        case 0x100f:
-       case 0x1010:
        case 0x1011:
        case 0x1012:
        case 0x1017:
@@ -236,6 +235,16 @@ static int msp430_ir_init(struct budget_ci *budget_ci)
                else
                        budget_ci->ir.rc5_device = rc5_device;
                break;
+       case 0x1010:
+               /* for the Technotrend 1500 bundled remote */
+               ir_input_init(input_dev, &budget_ci->ir.state,
+                             IR_TYPE_RC5, ir_codes_tt_1500);
+
+               if (rc5_device < 0)
+                       budget_ci->ir.rc5_device = IR_DEVICE_ANY;
+               else
+                       budget_ci->ir.rc5_device = rc5_device;
+               break;
        default:
                /* unknown remote */
                ir_input_init(input_dev, &budget_ci->ir.state,
index 0a75c0f..9807a7c 100644 (file)
@@ -139,6 +139,7 @@ extern IR_KEYTAB_TYPE ir_codes_proteus_2309[IR_KEYTAB_SIZE];
 extern IR_KEYTAB_TYPE ir_codes_budget_ci_old[IR_KEYTAB_SIZE];
 extern IR_KEYTAB_TYPE ir_codes_asus_pc39[IR_KEYTAB_SIZE];
 extern IR_KEYTAB_TYPE ir_codes_encore_enltv[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_tt_1500[IR_KEYTAB_SIZE];
 
 #endif