Commit 2de873e6 authored by Malcolm Valentine's avatar Malcolm Valentine Committed by Mauro Carvalho Chehab

V4L/DVB (4057): Cx88: IR remote support for DTV2000H

Adds support for the Y0400052 remote supplied with this card.
In addition to adding a number of buttons to the current winfast definition,
it enables all the keys currently masked out with #ifdef 0.

It is supplied separately as it remaps two keys from the current definition,
The teletext button now sends KEY_TEXT instead of KEY_SUBTITLE, as that
keycode is used by the subtitle button.
KEY_BACK was changed to KEY_LAST to group it with KEY_NEXT.

Other then that the keys don't overlap, so this should support several
different versions of the Leadtek remotes.
Signed-off-by: default avatarMalcolm Valentine <farkit@iinet.net.au>
Signed-off-by: default avatarMichael Krufky <mkrufky@linuxtv.org>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@infradead.org>
parent 4bd6e9d9
...@@ -1263,29 +1263,46 @@ IR_KEYTAB_TYPE ir_codes_winfast[IR_KEYTAB_SIZE] = { ...@@ -1263,29 +1263,46 @@ IR_KEYTAB_TYPE ir_codes_winfast[IR_KEYTAB_SIZE] = {
[ 0x0f ] = KEY_9, [ 0x0f ] = KEY_9,
[ 0x00 ] = KEY_POWER, [ 0x00 ] = KEY_POWER,
[ 0x02 ] = KEY_TUNER, /* TV/FM */ [ 0x1b ] = KEY_AUDIO, /* Audio Source */
[ 0x1e ] = KEY_VIDEO, [ 0x02 ] = KEY_TUNER, /* TV/FM, not on Y0400052 */
[ 0x1e ] = KEY_VIDEO, /* Video Source */
[ 0x16 ] = KEY_INFO, /* Display information */
[ 0x04 ] = KEY_VOLUMEUP, [ 0x04 ] = KEY_VOLUMEUP,
[ 0x08 ] = KEY_VOLUMEDOWN, [ 0x08 ] = KEY_VOLUMEDOWN,
[ 0x0c ] = KEY_CHANNELUP, [ 0x0c ] = KEY_CHANNELUP,
[ 0x10 ] = KEY_CHANNELDOWN, [ 0x10 ] = KEY_CHANNELDOWN,
[ 0x03 ] = KEY_ZOOM, /* fullscreen */ [ 0x03 ] = KEY_ZOOM, /* fullscreen */
[ 0x1f ] = KEY_SUBTITLE, /* closed caption/teletext */ [ 0x1f ] = KEY_TEXT, /* closed caption/teletext */
[ 0x20 ] = KEY_SLEEP, [ 0x20 ] = KEY_SLEEP,
[ 0x29 ] = KEY_CLEAR, /* boss key */
[ 0x14 ] = KEY_MUTE, [ 0x14 ] = KEY_MUTE,
[ 0x2b ] = KEY_RED, [ 0x2b ] = KEY_RED,
[ 0x2c ] = KEY_GREEN, [ 0x2c ] = KEY_GREEN,
[ 0x2d ] = KEY_YELLOW, [ 0x2d ] = KEY_YELLOW,
[ 0x2e ] = KEY_BLUE, [ 0x2e ] = KEY_BLUE,
[ 0x18 ] = KEY_KPPLUS, /* fine tune + */ [ 0x18 ] = KEY_KPPLUS, /* fine tune + , not on Y040052 */
[ 0x19 ] = KEY_KPMINUS, /* fine tune - */ [ 0x19 ] = KEY_KPMINUS, /* fine tune - , not on Y040052 */
[ 0x2a ] = KEY_MEDIA, /* PIP (Picture in picture */
[ 0x21 ] = KEY_DOT, [ 0x21 ] = KEY_DOT,
[ 0x13 ] = KEY_ENTER, [ 0x13 ] = KEY_ENTER,
[ 0x22 ] = KEY_BACK, [ 0x11 ] = KEY_LAST, /* Recall (last channel */
[ 0x22 ] = KEY_PREVIOUS,
[ 0x23 ] = KEY_PLAYPAUSE, [ 0x23 ] = KEY_PLAYPAUSE,
[ 0x24 ] = KEY_NEXT, [ 0x24 ] = KEY_NEXT,
[ 0x25 ] = KEY_ARCHIVE, /* Time Shifting */
[ 0x26 ] = KEY_STOP, [ 0x26 ] = KEY_STOP,
[ 0x27 ] = KEY_RECORD [ 0x27 ] = KEY_RECORD,
[ 0x28 ] = KEY_SAVE, /* Screenshot */
[ 0x2f ] = KEY_MENU,
[ 0x30 ] = KEY_CANCEL,
[ 0x31 ] = KEY_CHANNEL, /* Channel Surf */
[ 0x32 ] = KEY_SUBTITLE,
[ 0x33 ] = KEY_LANGUAGE,
[ 0x34 ] = KEY_REWIND,
[ 0x35 ] = KEY_FASTFORWARD,
[ 0x36 ] = KEY_TV,
[ 0x37 ] = KEY_RADIO, /* FM */
[ 0x38 ] = KEY_DVD
}; };
EXPORT_SYMBOL_GPL(ir_codes_winfast); EXPORT_SYMBOL_GPL(ir_codes_winfast);
......
...@@ -191,12 +191,13 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci) ...@@ -191,12 +191,13 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci)
ir_type = IR_TYPE_RC5; ir_type = IR_TYPE_RC5;
ir->sampling = 1; ir->sampling = 1;
break; break;
case CX88_BOARD_WINFAST_DTV2000H:
case CX88_BOARD_WINFAST2000XP_EXPERT: case CX88_BOARD_WINFAST2000XP_EXPERT:
ir_codes = ir_codes_winfast; ir_codes = ir_codes_winfast;
ir->gpio_addr = MO_GP0_IO; ir->gpio_addr = MO_GP0_IO;
ir->mask_keycode = 0x8f8; ir->mask_keycode = 0x8f8;
ir->mask_keyup = 0x100; ir->mask_keyup = 0x100;
ir->polling = 1; /* ms */ ir->polling = 50; /* ms */
break; break;
case CX88_BOARD_IODATA_GVBCTV7E: case CX88_BOARD_IODATA_GVBCTV7E:
ir_codes = ir_codes_iodata_bctv7e; ir_codes = ir_codes_iodata_bctv7e;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment