diff options
author | Patrick Boettcher <devnull@localhost> | 2005-04-18 15:16:12 +0000 |
---|---|---|
committer | Patrick Boettcher <devnull@localhost> | 2005-04-18 15:16:12 +0000 |
commit | ad0bfa666521692284a7e8cc3b7aa69b59274731 (patch) | |
tree | c1c3ab912b77e17e04996cb99af2cbcaf37c7585 /linux | |
parent | 257c0fe84d1f6bb41efff21aec43f4153f9d26cb (diff) | |
download | mediapointer-dvb-s2-ad0bfa666521692284a7e8cc3b7aa69b59274731.tar.gz mediapointer-dvb-s2-ad0bfa666521692284a7e8cc3b7aa69b59274731.tar.bz2 |
fixed the RC5-mechanisms to not do anything when signal from alien remote controls are received.
Diffstat (limited to 'linux')
-rw-r--r-- | linux/drivers/media/dvb/dvb-usb/nova-t-usb2.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/linux/drivers/media/dvb/dvb-usb/nova-t-usb2.c b/linux/drivers/media/dvb/dvb-usb/nova-t-usb2.c index 62355e714..24650f8f9 100644 --- a/linux/drivers/media/dvb/dvb-usb/nova-t-usb2.c +++ b/linux/drivers/media/dvb/dvb-usb/nova-t-usb2.c @@ -17,7 +17,6 @@ MODULE_PARM_DESC(debug, "set debugging level (1=rc (|-able))." DVB_USB_DEBUG_STA #define deb_rc(args...) dprintk(debug,0x01,args) - /* Hauppauge NOVA-T USB2 keys */ static const struct { u8 raw; uint32_t key; } haupp_rc_keys [] = { { 0x00, KEY_0 }, @@ -67,7 +66,6 @@ static const struct { u8 raw; uint32_t key; } haupp_rc_keys [] = { { 0x3d, KEY_POWER }, }; -static int count; static int nova_t_rc_init(struct dvb_usb_device *d) { int i; @@ -76,7 +74,6 @@ static int nova_t_rc_init(struct dvb_usb_device *d) return 0; } - /* Firmware bug? sometimes, when a new key is pressed, the previous pressed key * is delivered. No workaround yet. */ @@ -96,7 +93,12 @@ static int nova_t_rc_query(struct dvb_usb_device *d, u32 *event, int *state) toggle = !!(raw & 0x800); data = raw & 0x3f; - deb_rc("%8d: raw key code 0x%02x, 0x%02x, 0x%02x to %02x toggle: %d\n",count++,key[1],key[2],key[3],data,toggle); + deb_rc("raw key code 0x%02x, 0x%02x, 0x%02x to %02x toggle: %d\n",key[1],key[2],key[3],data,toggle); + + if (((raw >> 6) & 0x1f) != 0x1e) { + deb_rc("key received - but ignored (%x)\n",(raw >> 6) & 0x1f); + break; + } for (i = 0; i < sizeof(haupp_rc_keys)/sizeof(haupp_rc_keys[0]); i++) { if (haupp_rc_keys[i].raw == data) { |