| Carsten Juttner on Sat, 7 Feb 2004 16:00:20 +0100 (CET) |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| [tuxbox-cvs] driver/fp dbox2_fp_rc.c |
carjay 04/02/07 16:00:17
Modified: fp dbox2_fp_rc.c
Log:
Disregard toggle_bits after RELEASE. Test this with learning remote
controls, please.
Revision Changes Path
1.21 +10 -6 driver/fp/dbox2_fp_rc.c
file : http://cvs.tuxbox.org/cgi-bin/viewcvs.cgi/tuxbox/driver/fp/dbox2_fp_rc.c?rev=1.21&content-type=text/vnd.viewcvs-markup
plain: http://cvs.tuxbox.org/cgi-bin/viewcvs.cgi/tuxbox/driver/fp/dbox2_fp_rc.c?rev=1.21&content-type=text/plain
revision graph: http://cvs.tuxbox.org/cgi-bin/viewcvs.cgi/tuxbox/driver/fp/dbox2_fp_rc.c?graph=1.21
diff : http://cvs.tuxbox.org/cgi-bin/viewcvs.cgi/tuxbox/driver/fp/dbox2_fp_rc.c.diff?r1=1.20&r2=1.21
Index: dbox2_fp_rc.c
===================================================================
RCS file: /cvs/tuxbox/driver/fp/dbox2_fp_rc.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- dbox2_fp_rc.c 7 Dec 2003 16:21:34 -0000 1.20
+++ dbox2_fp_rc.c 7 Feb 2004 15:00:16 -0000 1.21
@@ -1,5 +1,5 @@
/*
- * $Id: dbox2_fp_rc.c,v 1.20 2003/12/07 16:21:34 obi Exp $
+ * $Id: dbox2_fp_rc.c,v 1.21 2004/02/07 15:00:16 carjay Exp $
*
* Copyright (C) 2002 by Florian Schirmer <jolt@tuxbox.org>
*
@@ -35,6 +35,7 @@
#define UP_TIMEOUT (HZ / 4)
static struct input_dev *rc_input_dev;
+static u8 toggle_bits;
static int disable_old_rc;
static int disable_new_rc;
@@ -85,6 +86,7 @@
return;
/* "key released" event after timeout */
+ toggle_bits=0xff;
input_event(rc_input_dev, EV_KEY, data, KEY_RELEASED);
}
@@ -128,7 +130,6 @@
static void dbox2_fp_new_rc_queue_handler(u8 queue_nr)
{
- static u8 toggle_bits = 0xff;
struct rc_key *key;
u16 rc_code;
u8 cmd;
@@ -151,12 +152,14 @@
for (key = rc_key_map; key < &rc_key_map[RC_KEY_COUNT]; key++) {
if (key->value_new == (rc_code & 0x1f)) {
if (timer_pending(&keyup_timer)) {
- del_timer(&keyup_timer);
+ del_timer_sync(&keyup_timer);
if ((keyup_timer.data != key->code) || (toggle_bits != ((rc_code >> 6) & 0x03)))
- input_event(rc_input_dev, EV_KEY, keyup_timer.data, KEY_RELEASED);
+ if (toggle_bits!=0xff) {
+ input_event(rc_input_dev, EV_KEY, keyup_timer.data, KEY_RELEASED);
+ toggle_bits=0xff;
+ }
}
-
- if (toggle_bits == ((rc_code >> 6) & 0x03))
+ if ((toggle_bits!=0xff)&&(toggle_bits == ((rc_code >> 6) & 0x03)))
input_event(rc_input_dev, EV_KEY, key->code, KEY_AUTOREPEAT);
else
input_event(rc_input_dev, EV_KEY, key->code, KEY_PRESSED);
@@ -174,6 +177,7 @@
int __init dbox2_fp_rc_init(struct input_dev *input_dev)
{
struct rc_key *key;
+ toggle_bits=0xff;
rc_input_dev = input_dev;