Hi Patrick, hi Henrik,

this is good news, thanks for your help. I hope a fix will be
available soon, be it in this form or another (it might be better
to implement it in wsconscomm).

@Patrick: For a PS/2 mouse the "Z" value describes the rotation
of the scrolling wheel; for a touchpad that operates in "native
mode" - which means it isn't emulating a mouse - Z represents the
finger pressure. The "W" value is a bit weird: Synaptics touchpads
encode a hint to the width of a contact in W, which ranges from 0
to 15: 4 and 5 are for "normal" contacts, the values from 6 to 15
represent wide - and usually accidental - touches, e.g., with a
palm. The other values don't indicate finger width: 2 and 3 have
special technical meanings, and 0 and 1 indicate a two-finger touch
or a three-finger touch. However, W == 0 can also mean that a touch
has ended, because the hardware sends a packet with all four
"coordinates" set to zero in this case, and this is what the patches
are about.

On 02/27/2015 08:40 PM, patrick keshishian wrote:
Hi,

On 2/26/15, Ulf Brosziewski<ulf.brosziew...@t-online.de>  wrote:
On 02/27/2015 03:31 AM, Ulf Brosziewski wrote:
...>
It might be that the following patch to wsmouse.c solves the problem
with the new version of wsconscomm. Tests would be welcome (I could
only verify that the patch does no harm to other touchpad types, i.e.,
Elantech-v4 and Alps Glidepoint).
[...]

Sorry, the change was in the wrong place and would only do a half of
the work. It should look like:

Index: wsmouse.c
===================================================================
RCS file: /cvs/src/sys/dev/wscons/wsmouse.c,v
retrieving revision 1.26
diff -u -p -r1.26 wsmouse.c
--- wsmouse.c   27 Oct 2014 13:55:05 -0000      1.26
+++ wsmouse.c   27 Feb 2015 02:50:06 -0000
@@ -433,6 +433,9 @@ wsmouse_input(struct device *wsmousedev,
                }
        }

+       if (sc->sc_z == 0)
+               sc->sc_w = INVALID_W;
+
        mb = sc->sc_mb;
        while ((d = mb ^ ub) != 0) {
                /*

I can confirm this change alone causes no adverse, observable
change on my x120e's touchpad.

With -r1.11 of xenocara/driver/xf86-input-synaptics/wsconscomm.c,
in combination with above patch, I no longer seem to notice the
issue for which this message thread was originated.

However, I would appreciate it if someone could enlighten me
as to what the Z and W axis refer.

Thanks,
--patrick

Reply via email to