diff options
author | Igor M. Liplianin <liplianin@me.by> | 2009-09-23 13:44:12 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2009-12-05 15:40:29 -0500 |
commit | 9d2ba7ad802300d6a1830df9268d8ba478c66a18 (patch) | |
tree | 9e60dff9a748fe7c65b105449f8cfe4beb21a2cc | |
parent | d8d8622552088ca94fab4e4997f948514d0bdc27 (diff) |
V4L/DVB (13135): Add support for TeVii remotes
The patch brings infrared remote support for some cx88 based cards.
Such as TeVii S460,S420.
Signed-off-by: Igor M. Liplianin <liplianin@me.by>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/media/common/ir-keymaps.c | 55 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88-input.c | 2 | ||||
-rw-r--r-- | include/media/ir-common.h | 1 |
3 files changed, 57 insertions, 1 deletions
diff --git a/drivers/media/common/ir-keymaps.c b/drivers/media/common/ir-keymaps.c index a2c80a7a3ae4..32f765e6e5fd 100644 --- a/drivers/media/common/ir-keymaps.c +++ b/drivers/media/common/ir-keymaps.c | |||
@@ -2964,6 +2964,61 @@ struct ir_scancode_table ir_codes_dm1105_nec_table = { | |||
2964 | }; | 2964 | }; |
2965 | EXPORT_SYMBOL_GPL(ir_codes_dm1105_nec_table); | 2965 | EXPORT_SYMBOL_GPL(ir_codes_dm1105_nec_table); |
2966 | 2966 | ||
2967 | static struct ir_scancode ir_codes_tevii_nec[] = { | ||
2968 | { 0x0a, KEY_POWER2}, | ||
2969 | { 0x0c, KEY_MUTE}, | ||
2970 | { 0x11, KEY_1}, | ||
2971 | { 0x12, KEY_2}, | ||
2972 | { 0x13, KEY_3}, | ||
2973 | { 0x14, KEY_4}, | ||
2974 | { 0x15, KEY_5}, | ||
2975 | { 0x16, KEY_6}, | ||
2976 | { 0x17, KEY_7}, | ||
2977 | { 0x18, KEY_8}, | ||
2978 | { 0x19, KEY_9}, | ||
2979 | { 0x10, KEY_0}, | ||
2980 | { 0x1c, KEY_MENU}, | ||
2981 | { 0x0f, KEY_VOLUMEDOWN}, | ||
2982 | { 0x1a, KEY_LAST}, | ||
2983 | { 0x0e, KEY_OPEN}, | ||
2984 | { 0x04, KEY_RECORD}, | ||
2985 | { 0x09, KEY_VOLUMEUP}, | ||
2986 | { 0x08, KEY_CHANNELUP}, | ||
2987 | { 0x07, KEY_PVR}, | ||
2988 | { 0x0b, KEY_TIME}, | ||
2989 | { 0x02, KEY_RIGHT}, | ||
2990 | { 0x03, KEY_LEFT}, | ||
2991 | { 0x00, KEY_UP}, | ||
2992 | { 0x1f, KEY_OK}, | ||
2993 | { 0x01, KEY_DOWN}, | ||
2994 | { 0x05, KEY_TUNER}, | ||
2995 | { 0x06, KEY_CHANNELDOWN}, | ||
2996 | { 0x40, KEY_PLAYPAUSE}, | ||
2997 | { 0x1e, KEY_REWIND}, | ||
2998 | { 0x1b, KEY_FAVORITES}, | ||
2999 | { 0x1d, KEY_BACK}, | ||
3000 | { 0x4d, KEY_FASTFORWARD}, | ||
3001 | { 0x44, KEY_EPG}, | ||
3002 | { 0x4c, KEY_INFO}, | ||
3003 | { 0x41, KEY_AB}, | ||
3004 | { 0x43, KEY_AUDIO}, | ||
3005 | { 0x45, KEY_SUBTITLE}, | ||
3006 | { 0x4a, KEY_LIST}, | ||
3007 | { 0x46, KEY_F1}, | ||
3008 | { 0x47, KEY_F2}, | ||
3009 | { 0x5e, KEY_F3}, | ||
3010 | { 0x5c, KEY_F4}, | ||
3011 | { 0x52, KEY_F5}, | ||
3012 | { 0x5a, KEY_F6}, | ||
3013 | { 0x56, KEY_MODE}, | ||
3014 | { 0x58, KEY_SWITCHVIDEOMODE}, | ||
3015 | }; | ||
3016 | struct ir_scancode_table ir_codes_tevii_nec_table = { | ||
3017 | .scan = ir_codes_tevii_nec, | ||
3018 | .size = ARRAY_SIZE(ir_codes_tevii_nec), | ||
3019 | }; | ||
3020 | EXPORT_SYMBOL_GPL(ir_codes_tevii_nec_table); | ||
3021 | |||
2967 | static struct ir_scancode ir_codes_tbs_nec[] = { | 3022 | static struct ir_scancode ir_codes_tbs_nec[] = { |
2968 | { 0x04, KEY_POWER2}, /*power*/ | 3023 | { 0x04, KEY_POWER2}, /*power*/ |
2969 | { 0x14, KEY_MUTE}, /*mute*/ | 3024 | { 0x14, KEY_MUTE}, /*mute*/ |
diff --git a/drivers/media/video/cx88/cx88-input.c b/drivers/media/video/cx88/cx88-input.c index 33437e403144..c0047c1960cc 100644 --- a/drivers/media/video/cx88/cx88-input.c +++ b/drivers/media/video/cx88/cx88-input.c | |||
@@ -315,7 +315,7 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci) | |||
315 | break; | 315 | break; |
316 | case CX88_BOARD_TEVII_S460: | 316 | case CX88_BOARD_TEVII_S460: |
317 | case CX88_BOARD_TEVII_S420: | 317 | case CX88_BOARD_TEVII_S420: |
318 | ir_codes = &ir_codes_dm1105_nec_table; | 318 | ir_codes = &ir_codes_tevii_nec_table; |
319 | ir_type = IR_TYPE_PD; | 319 | ir_type = IR_TYPE_PD; |
320 | ir->sampling = 0xff00; /* address */ | 320 | ir->sampling = 0xff00; /* address */ |
321 | break; | 321 | break; |
diff --git a/include/media/ir-common.h b/include/media/ir-common.h index c2d515dd94d2..5921776929e7 100644 --- a/include/media/ir-common.h +++ b/include/media/ir-common.h | |||
@@ -173,6 +173,7 @@ extern struct ir_scancode_table ir_codes_ati_tv_wonder_hd_600_table; | |||
173 | extern struct ir_scancode_table ir_codes_kworld_plus_tv_analog_table; | 173 | extern struct ir_scancode_table ir_codes_kworld_plus_tv_analog_table; |
174 | extern struct ir_scancode_table ir_codes_kaiomy_table; | 174 | extern struct ir_scancode_table ir_codes_kaiomy_table; |
175 | extern struct ir_scancode_table ir_codes_dm1105_nec_table; | 175 | extern struct ir_scancode_table ir_codes_dm1105_nec_table; |
176 | extern struct ir_scancode_table ir_codes_tevii_nec_table; | ||
176 | extern struct ir_scancode_table ir_codes_tbs_nec_table; | 177 | extern struct ir_scancode_table ir_codes_tbs_nec_table; |
177 | extern struct ir_scancode_table ir_codes_evga_indtube_table; | 178 | extern struct ir_scancode_table ir_codes_evga_indtube_table; |
178 | extern struct ir_scancode_table ir_codes_terratec_cinergy_xs_table; | 179 | extern struct ir_scancode_table ir_codes_terratec_cinergy_xs_table; |