summaryrefslogtreecommitdiffstats
path: root/drivers/media/video/ir-kbd-i2c.c
diff options
context:
space:
mode:
authorJ.O. Aho <trizt@iname.com>2006-01-23 09:34:06 -0200
committerMauro Carvalho Chehab <mchehab@infradead.org>2006-01-23 09:34:06 -0200
commitbf47e4e43e4dcf88fef61b1b4139ce2da20e1f73 (patch)
tree2b6b1bd833e21a18d1e0386d5a9066d6e620076a /drivers/media/video/ir-kbd-i2c.c
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>
Diffstat (limited to 'drivers/media/video/ir-kbd-i2c.c')
-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 58b0e698282..3963481b313 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] = {
static int debug;
module_param(debug, int, 0644); /* debug level (0,1,2) */
+static int hauppauge = 0;
+module_param(hauppauge, int, 0644); /* Choose Hauppauge remote */
+MODULE_PARM_DESC(hauppauge, "Specify Hauppauge remote: 0=black, 1=grey (defaults to 0)");
+
+
#define DEVNAME "ir-kbd-i2c"
#define dprintk(level, fmt, arg...) if (debug >= level) \
printk(KERN_DEBUG DEVNAME ": " fmt , ## arg)
@@ -336,7 +341,11 @@ static int ir_attach(struct i2c_adapter *adap, int addr,
name = "Hauppauge";
ir->get_key = get_key_haup;
ir_type = IR_TYPE_RC5;
- ir_codes = ir_codes_rc5_tv;
+ if (hauppauge == 1) {
+ ir_codes = ir_codes_rc5_tv_grey;
+ } else {
+ ir_codes = ir_codes_rc5_tv;
+ }
break;
case 0x30:
name = "KNC One";