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@xxxxxxxxx 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@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb