From eebb562e92349f428463b241f371b420c93b5081 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Fri, 21 Dec 2012 10:37:34 +1000 Subject: 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 (cherry picked from commit a5ac54f60af96b9b862425ccd8b6c7afaa4937e4) Signed-off-by: Peter Hutterer Conflicts: src/synaptics.c --- src/synaptics.c | 5 +++-- 1 file 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); -- cgit v1.2.3