aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJ.O. Aho <trizt@iname.com>2006-01-23 06:34:06 -0500
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-01-23 06:34:06 -0500
commitbf47e4e43e4dcf88fef61b1b4139ce2da20e1f73 (patch)
tree2b6b1bd833e21a18d1e0386d5a9066d6e620076a
parentf74a6b395a6dea5028a1604e721dfb2b5c18fc86 (diff)
V4L/DVB (3395): Hauppauge Grey Remote support
- For the Hauppauge PVR cards there are at least two different remotes, one completly black and one that is Grey and black, they keys differ in values eg Black remotes 'mute' has the same value as Grey remotes 'menu'. - This enables the user to select which keymapping to use by using the hauppauge parm. Unlike to the black remote keys, all keys are mapped for the grey remote and the ATi usb remote mappings has been followed. Signed-off-by: Ricardo Cerqueira <v4l@cerqueira.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r--drivers/media/video/ir-kbd-i2c.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/media/video/ir-kbd-i2c.c b/drivers/media/video/ir-kbd-i2c.c
index 58b0e6982822..3963481b3130 100644
--- a/drivers/media/video/ir-kbd-i2c.c
+++ b/drivers/media/video/ir-kbd-i2c.c
@@ -89,6 +89,11 @@ static IR_KEYTAB_TYPE ir_codes_pv951[IR_KEYTAB_SIZE] = {
89static int debug; 89static int debug;
90module_param(debug, int, 0644); /* debug level (0,1,2) */ 90module_param(debug, int, 0644); /* debug level (0,1,2) */
91 91
92static int hauppauge = 0;
93module_param(hauppauge, int, 0644); /* Choose Hauppauge remote */
94MODULE_PARM_DESC(hauppauge, "Specify Hauppauge remote: 0=black, 1=grey (defaults to 0)");
95
96
92#define DEVNAME "ir-kbd-i2c" 97#define DEVNAME "ir-kbd-i2c"
93#define dprintk(level, fmt, arg...) if (debug >= level) \ 98#define dprintk(level, fmt, arg...) if (debug >= level) \
94 printk(KERN_DEBUG DEVNAME ": " fmt , ## arg) 99 printk(KERN_DEBUG DEVNAME ": " fmt , ## arg)
@@ -336,7 +341,11 @@ static int ir_attach(struct i2c_adapter *adap, int addr,
336 name = "Hauppauge"; 341 name = "Hauppauge";
337 ir->get_key = get_key_haup; 342 ir->get_key = get_key_haup;
338 ir_type = IR_TYPE_RC5; 343 ir_type = IR_TYPE_RC5;
339 ir_codes = ir_codes_rc5_tv; 344 if (hauppauge == 1) {
345 ir_codes = ir_codes_rc5_tv_grey;
346 } else {
347 ir_codes = ir_codes_rc5_tv;
348 }
340 break; 349 break;
341 case 0x30: 350 case 0x30:
342 name = "KNC One"; 351 name = "KNC One";