Comment 42 for bug 133060

Revision history for this message
Nicolas Cavallari (batchman) wrote :

Well, seems that the problem got fixed, but another code was added that broke the thing again.

I bet those lines in synaptics.c:1473 ( in HandleTapProcessing() ) are responsible :

switch (priv->tap_state) {
[...]
    case TS_1:
        if (move) {
[...]
        } else if (release) {
            SelectTapButton(priv, edge);

/////// these ones ////////////
            /* Disable taps outside of the active area */
            if (!inside_active_area) {
                priv->tap_button = 0;
            }

but the inside_active_area calculation is made at line 2170 with the current value of hw->x and y, that is, the one that are no longer relevant (1,5855), so the assumption 'if there is no finger, there is no position' is violated.

can someone test removing the 'if (!inside_active_area) { priv->tap_button = 0; }' and see if this fix the problem ?

i'm gonna try it later, i don't have time now.