Hi, all,

This patch fixes the IR key table for the newly supported Pinnacle PCTV
HD 800i.

Cheers,

Chaogui Zhang

--------------------

Signed-off-by: Chaogui Zhang <[EMAIL PROTECTED]

diff -r b4a1b3409bc8 linux/drivers/media/common/ir-keymaps.c
--- a/linux/drivers/media/common/ir-keymaps.c   Mon Jan 14 22:33:37 2008 -0500
+++ b/linux/drivers/media/common/ir-keymaps.c   Wed Jan 16 23:05:50 2008 -0500
@@ -1898,3 +1898,39 @@ IR_KEYTAB_TYPE ir_codes_fusionhdtv_mce[I
 };
 
 EXPORT_SYMBOL_GPL(ir_codes_fusionhdtv_mce);
+
+/* Pinnacle PCTV HD 800i mini remote */
+IR_KEYTAB_TYPE ir_codes_pinnacle_pctv_hd[IR_KEYTAB_SIZE] = {
+
+       [ 0x0f ] = KEY_1,
+       [ 0x15 ] = KEY_2,
+       [ 0x10 ] = KEY_3,
+       [ 0x18 ] = KEY_4,
+       [ 0x1b ] = KEY_5,
+       [ 0x1e ] = KEY_6,
+       [ 0x11 ] = KEY_7,
+       [ 0x21 ] = KEY_8,
+       [ 0x12 ] = KEY_9,
+       [ 0x27 ] = KEY_0,
+
+       [ 0x24 ] = KEY_ZOOM,
+       [ 0x2a ] = KEY_SUBTITLE,
+
+       [ 0x00 ] = KEY_MUTE,
+       [ 0x01 ] = KEY_ENTER,   /* Pinnacle Logo */
+       [ 0x39 ] = KEY_POWER,
+
+       [ 0x03 ] = KEY_VOLUMEUP,
+       [ 0x09 ] = KEY_VOLUMEDOWN,
+       [ 0x06 ] = KEY_CHANNELUP,
+       [ 0x0c ] = KEY_CHANNELDOWN,
+
+       [ 0x2d ] = KEY_REWIND,
+       [ 0x30 ] = KEY_PLAYPAUSE,
+       [ 0x33 ] = KEY_FASTFORWARD,
+       [ 0x3c ] = KEY_STOP,
+       [ 0x36 ] = KEY_RECORD,
+       [ 0x3f ] = KEY_EPG,     /* Labeled "?" */
+};
+
+EXPORT_SYMBOL_GPL(ir_codes_pinnacle_pctv_hd);
diff -r b4a1b3409bc8 linux/drivers/media/video/cx88/cx88-input.c
--- a/linux/drivers/media/video/cx88/cx88-input.c       Mon Jan 14 22:33:37 
2008 -0500
+++ b/linux/drivers/media/video/cx88/cx88-input.c       Wed Jan 16 23:21:02 
2008 -0500
@@ -237,7 +237,6 @@ int cx88_ir_init(struct cx88_core *core,
        case CX88_BOARD_HAUPPAUGE_NOVASPLUS_S1:
        case CX88_BOARD_HAUPPAUGE_HVR1100:
        case CX88_BOARD_HAUPPAUGE_HVR3000:
-       case CX88_BOARD_PINNACLE_PCTV_HD_800i:
                ir_codes = ir_codes_hauppauge_new;
                ir_type = IR_TYPE_RC5;
                ir->sampling = 1;
@@ -318,6 +317,11 @@ int cx88_ir_init(struct cx88_core *core,
                ir->gpio_addr = MO_GP0_IO;
                ir->mask_keycode = 0xfa;
                ir->polling = 50; /* ms */
+               break;
+       case CX88_BOARD_PINNACLE_PCTV_HD_800i:
+               ir_codes = ir_codes_pinnacle_pctv_hd;
+               ir_type = IR_TYPE_RC5;
+               ir->sampling = 1;
                break;
        }
 
diff -r b4a1b3409bc8 linux/include/media/ir-common.h
--- a/linux/include/media/ir-common.h   Mon Jan 14 22:33:37 2008 -0500
+++ b/linux/include/media/ir-common.h   Wed Jan 16 23:06:36 2008 -0500
@@ -140,6 +140,7 @@ extern IR_KEYTAB_TYPE ir_codes_encore_en
 extern IR_KEYTAB_TYPE ir_codes_encore_enltv[IR_KEYTAB_SIZE];
 extern IR_KEYTAB_TYPE ir_codes_tt_1500[IR_KEYTAB_SIZE];
 extern IR_KEYTAB_TYPE ir_codes_fusionhdtv_mce[IR_KEYTAB_SIZE];
+extern IR_KEYTAB_TYPE ir_codes_pinnacle_pctv_hd[IR_KEYTAB_SIZE];
 
 #endif
 

_______________________________________________
linux-dvb mailing list
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

Reply via email to