diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2012-12-21 10:37:34 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2012-12-21 10:37:34 +1000 |
commit | a5ac54f60af96b9b862425ccd8b6c7afaa4937e4 (patch) | |
tree | 1fcd1e3fdc840db25b478d29253b616c8d8c7dc5 /src | |
parent | 86460318ba5606ef41712b52e50bf7b2ba083226 (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>
Diffstat (limited to 'src')
-rw-r--r-- | src/synaptics.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/synaptics.c b/src/synaptics.c index 0472197..29e551a 100644 --- a/src/synaptics.c +++ b/src/synaptics.c @@ -2795,6 +2795,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. @@ -2806,9 +2809,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); - /* no edge or finger detection outside of area */ if (inside_active_area) { edge = edge_detection(priv, hw->x, hw->y); |