aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMalcolm Valentine <farkit@iinet.net.au>2006-05-29 12:56:24 -0400
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-06-25 01:05:03 -0400
commit2de873e630b9385c6cd5896753335c5bf4829f0c (patch)
treed95fd36f5b3b50b83f062851415e82c463723704
parent4bd6e9d968af68c73bee92bd93cd56937e2e80d8 (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.c31
-rw-r--r--drivers/media/video/cx88/cx88-input.c3
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
1291EXPORT_SYMBOL_GPL(ir_codes_winfast); 1308EXPORT_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;