[PATCH 1/8] evdev-touchpad: Twiddle finger_state correctly
Rob Bradford
robert.bradford at intel.com
Tue Oct 9 10:44:29 PDT 2012
From: Rob Bradford <rob at linux.intel.com>
The original code always set the finger_state to the appropriate bitmask
irrespective of whether the event was a press or a release. It would also blat
all members of the bitmask rather than ORing in the new bit for the event.
Cc:Jonas Ådahl <jadahl at gmail.com>
Signed-off-by: Rob Bradford <rob at linux.intel.com>
---
src/evdev-touchpad.c | 18 +++++++++---------
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/src/evdev-touchpad.c b/src/evdev-touchpad.c
index e453f9d..4da37a5 100644
--- a/src/evdev-touchpad.c
+++ b/src/evdev-touchpad.c
@@ -457,19 +457,19 @@ process_key(struct touchpad_dispatch *touchpad,
touchpad->reset = 1;
break;
case BTN_TOOL_FINGER:
- touchpad->finger_state =
- ~TOUCHPAD_FINGERS_ONE | e->value ?
- TOUCHPAD_FINGERS_ONE : 0;
+ touchpad->finger_state &= ~TOUCHPAD_FINGERS_ONE;
+ if (e->value)
+ touchpad->finger_state |= TOUCHPAD_FINGERS_ONE;
break;
case BTN_TOOL_DOUBLETAP:
- touchpad->finger_state =
- ~TOUCHPAD_FINGERS_TWO | e->value ?
- TOUCHPAD_FINGERS_TWO : 0;
+ touchpad->finger_state &= ~TOUCHPAD_FINGERS_TWO;
+ if (e->value)
+ touchpad->finger_state |= TOUCHPAD_FINGERS_TWO;
break;
case BTN_TOOL_TRIPLETAP:
- touchpad->finger_state =
- ~TOUCHPAD_FINGERS_THREE | e->value ?
- TOUCHPAD_FINGERS_THREE : 0;
+ touchpad->finger_state &= ~TOUCHPAD_FINGERS_THREE;
+ if (e->value)
+ touchpad->finger_state |= TOUCHPAD_FINGERS_THREE;
break;
}
}
--
1.7.11.2
More information about the wayland-devel
mailing list