[linux-dvb] [PATCH] Fix Pinnacle PCTV HD 800i IR table

Chaogui Zhang czhang1974 at gmail.com
Thu Jan 17 05:34:22 CET 2008


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 <czhang1974 at gmail.com

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
 



More information about the linux-dvb mailing list