diff options
author | Malcolm Valentine <farkit@iinet.net.au> | 2006-05-29 12:56:24 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2006-06-25 01:05:03 -0400 |
commit | 2de873e630b9385c6cd5896753335c5bf4829f0c (patch) | |
tree | d95fd36f5b3b50b83f062851415e82c463723704 | |
parent | 4bd6e9d968af68c73bee92bd93cd56937e2e80d8 (diff) |
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: Malcolm Valentine <farkit@iinet.net.au>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | drivers/media/common/ir-keymaps.c | 31 | ||||
-rw-r--r-- | drivers/media/video/cx88/cx88-input.c | 3 |
2 files changed, 26 insertions, 8 deletions
diff --git a/drivers/media/common/ir-keymaps.c b/drivers/media/common/ir-keymaps.c index b655d8787ca9..ca98d9478947 100644 --- a/drivers/media/common/ir-keymaps.c +++ b/drivers/media/common/ir-keymaps.c | |||
@@ -1263,29 +1263,46 @@ IR_KEYTAB_TYPE ir_codes_winfast[IR_KEYTAB_SIZE] = { | |||
1263 | [ 0x0f ] = KEY_9, | 1263 | [ 0x0f ] = KEY_9, |
1264 | 1264 | ||
1265 | [ 0x00 ] = KEY_POWER, | 1265 | [ 0x00 ] = KEY_POWER, |
1266 | [ 0x02 ] = KEY_TUNER, /* TV/FM */ | 1266 | [ 0x1b ] = KEY_AUDIO, /* Audio Source */ |
1267 | [ 0x1e ] = KEY_VIDEO, | 1267 | [ 0x02 ] = KEY_TUNER, /* TV/FM, not on Y0400052 */ |
1268 | [ 0x1e ] = KEY_VIDEO, /* Video Source */ | ||
1269 | [ 0x16 ] = KEY_INFO, /* Display information */ | ||
1268 | [ 0x04 ] = KEY_VOLUMEUP, | 1270 | [ 0x04 ] = KEY_VOLUMEUP, |
1269 | [ 0x08 ] = KEY_VOLUMEDOWN, | 1271 | [ 0x08 ] = KEY_VOLUMEDOWN, |
1270 | [ 0x0c ] = KEY_CHANNELUP, | 1272 | [ 0x0c ] = KEY_CHANNELUP, |
1271 | [ 0x10 ] = KEY_CHANNELDOWN, | 1273 | [ 0x10 ] = KEY_CHANNELDOWN, |
1272 | [ 0x03 ] = KEY_ZOOM, /* fullscreen */ | 1274 | [ 0x03 ] = KEY_ZOOM, /* fullscreen */ |
1273 | [ 0x1f ] = KEY_SUBTITLE, /* closed caption/teletext */ | 1275 | [ 0x1f ] = KEY_TEXT, /* closed caption/teletext */ |
1274 | [ 0x20 ] = KEY_SLEEP, | 1276 | [ 0x20 ] = KEY_SLEEP, |
1277 | [ 0x29 ] = KEY_CLEAR, /* boss key */ | ||
1275 | [ 0x14 ] = KEY_MUTE, | 1278 | [ 0x14 ] = KEY_MUTE, |
1276 | [ 0x2b ] = KEY_RED, | 1279 | [ 0x2b ] = KEY_RED, |
1277 | [ 0x2c ] = KEY_GREEN, | 1280 | [ 0x2c ] = KEY_GREEN, |
1278 | [ 0x2d ] = KEY_YELLOW, | 1281 | [ 0x2d ] = KEY_YELLOW, |
1279 | [ 0x2e ] = KEY_BLUE, | 1282 | [ 0x2e ] = KEY_BLUE, |
1280 | [ 0x18 ] = KEY_KPPLUS, /* fine tune + */ | 1283 | [ 0x18 ] = KEY_KPPLUS, /* fine tune + , not on Y040052 */ |
1281 | [ 0x19 ] = KEY_KPMINUS, /* fine tune - */ | 1284 | [ 0x19 ] = KEY_KPMINUS, /* fine tune - , not on Y040052 */ |
1285 | [ 0x2a ] = KEY_MEDIA, /* PIP (Picture in picture */ | ||
1282 | [ 0x21 ] = KEY_DOT, | 1286 | [ 0x21 ] = KEY_DOT, |
1283 | [ 0x13 ] = KEY_ENTER, | 1287 | [ 0x13 ] = KEY_ENTER, |
1284 | [ 0x22 ] = KEY_BACK, | 1288 | [ 0x11 ] = KEY_LAST, /* Recall (last channel */ |
1289 | [ 0x22 ] = KEY_PREVIOUS, | ||
1285 | [ 0x23 ] = KEY_PLAYPAUSE, | 1290 | [ 0x23 ] = KEY_PLAYPAUSE, |
1286 | [ 0x24 ] = KEY_NEXT, | 1291 | [ 0x24 ] = KEY_NEXT, |
1292 | [ 0x25 ] = KEY_ARCHIVE, /* Time Shifting */ | ||
1287 | [ 0x26 ] = KEY_STOP, | 1293 | [ 0x26 ] = KEY_STOP, |
1288 | [ 0x27 ] = KEY_RECORD | 1294 | [ 0x27 ] = KEY_RECORD, |
1295 | [ 0x28 ] = KEY_SAVE, /* Screenshot */ | ||
1296 | [ 0x2f ] = KEY_MENU, | ||
1297 | [ 0x30 ] = KEY_CANCEL, | ||
1298 | [ 0x31 ] = KEY_CHANNEL, /* Channel Surf */ | ||
1299 | [ 0x32 ] = KEY_SUBTITLE, | ||
1300 | [ 0x33 ] = KEY_LANGUAGE, | ||
1301 | [ 0x34 ] = KEY_REWIND, | ||
1302 | [ 0x35 ] = KEY_FASTFORWARD, | ||
1303 | [ 0x36 ] = KEY_TV, | ||
1304 | [ 0x37 ] = KEY_RADIO, /* FM */ | ||
1305 | [ 0x38 ] = KEY_DVD | ||
1289 | }; | 1306 | }; |
1290 | 1307 | ||
1291 | EXPORT_SYMBOL_GPL(ir_codes_winfast); | 1308 | EXPORT_SYMBOL_GPL(ir_codes_winfast); |
diff --git a/drivers/media/video/cx88/cx88-input.c b/drivers/media/video/cx88/cx88-input.c index 4bd86c4fd1b2..f599cfc5aba0 100644 --- a/drivers/media/video/cx88/cx88-input.c +++ b/drivers/media/video/cx88/cx88-input.c | |||
@@ -191,12 +191,13 @@ int cx88_ir_init(struct cx88_core *core, struct pci_dev *pci) | |||
191 | ir_type = IR_TYPE_RC5; | 191 | ir_type = IR_TYPE_RC5; |
192 | ir->sampling = 1; | 192 | ir->sampling = 1; |
193 | break; | 193 | break; |
194 | case CX88_BOARD_WINFAST_DTV2000H: | ||
194 | case CX88_BOARD_WINFAST2000XP_EXPERT: | 195 | case CX88_BOARD_WINFAST2000XP_EXPERT: |
195 | ir_codes = ir_codes_winfast; | 196 | ir_codes = ir_codes_winfast; |
196 | ir->gpio_addr = MO_GP0_IO; | 197 | ir->gpio_addr = MO_GP0_IO; |
197 | ir->mask_keycode = 0x8f8; | 198 | ir->mask_keycode = 0x8f8; |
198 | ir->mask_keyup = 0x100; | 199 | ir->mask_keyup = 0x100; |
199 | ir->polling = 1; /* ms */ | 200 | ir->polling = 50; /* ms */ |
200 | break; | 201 | break; |
201 | case CX88_BOARD_IODATA_GVBCTV7E: | 202 | case CX88_BOARD_IODATA_GVBCTV7E: |
202 | ir_codes = ir_codes_iodata_bctv7e; | 203 | ir_codes = ir_codes_iodata_bctv7e; |