summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2012-12-21 10:37:34 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2012-12-21 11:30:05 +1000
commiteebb562e92349f428463b241f371b420c93b5081 (patch)
treec90fc5e1167a20262938f4e082774e15be12ecea
parenteae444eb1a85d2401501d29f9a6c654c046f806b (diff)
Allow dead areas to update the button state
On clickpads, a dead area helps prevent pointer movement when the buttons are pressed. Thus check for the button state before resetting the hw state in case we get a right-click in the soft button area. For clickfinger, the effect is that clickfinger events are now triggered if the finger rests in the dead area. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> (cherry picked from commit a5ac54f60af96b9b862425ccd8b6c7afaa4937e4) Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Conflicts: src/synaptics.c
-rw-r--r--src/synaptics.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/synaptics.c b/src/synaptics.c
index a28e984..56dc55b 100644
--- a/src/synaptics.c
+++ b/src/synaptics.c
@@ -3307,6 +3307,9 @@ HandleState(InputInfoPtr pInfo, struct SynapticsHwState *hw, CARD32 now,
inside_active_area = is_inside_active_area(priv, hw->x, hw->y);
+ /* these two just update hw->left, right, etc. */
+ update_hw_button_state(pInfo, hw, priv->old_hw_state, now, &delay);
+
/* now we know that these _coordinates_ aren't in the area.
invalid are: x, y, z, numFingers, fingerWidth
valid are: millis, left/right/middle/up/down/etc.
@@ -3318,8 +3321,6 @@ HandleState(InputInfoPtr pInfo, struct SynapticsHwState *hw, CARD32 now,
* really release, the finger should remain down. */
}
- /* these two just update hw->left, right, etc. */
- update_hw_button_state(pInfo, hw, priv->old_hw_state, now, &delay);
if (priv->has_scrollbuttons)
double_click = adjust_state_from_scrollbuttons(pInfo, hw);