Timo Aaltonen pushed to branch upstream-unstable at X Strike Force / driver / 
xserver-xorg-input-evdev


Commits:
67681097 by Peter Hutterer at 2017-01-26T01:13:25Z
autogen.sh: use exec instead of waiting for configure to finish

Syncs the invocation of configure with the one from the server.

Signed-off-by: Peter Hutterer <[email protected]>
Reviewed-by: Emil Velikov <[email protected]>

- - - - -
49219123 by Emil Velikov at 2017-01-26T01:13:25Z
autogen.sh: use quoted string variables

Place quotes around the $srcdir, $ORIGDIR and $0 variables to prevent
fall-outs, when they contain space.

Signed-off-by: Emil Velikov <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
8c1058f2 by Mihail Konev at 2017-01-26T04:00:21Z
autogen: add default patch prefix

Signed-off-by: Mihail Konev <[email protected]>

- - - - -
192fdb06 by Andrey Zabolotnyi at 2018-01-16T06:30:59Z
Fix handling of devices with only buttons (e.g. tablet pads).

When transforming 'only buttons' device into a pseudo-mouse by adding
relative X and Y axes, EVDEV_RELATIVE_EVENTS flag  must be set on device,
otherwise it gets classified as a keyboard by X11.

https://bugs.freedesktop.org/show_bug.cgi?id=104630

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
ab1d9adf by Christian Gmeiner at 2018-01-30T03:37:57Z
Print cause of a failed open(..) call

This is quite helpful for debugging.

Signed-off-by: Christian Gmeiner <[email protected]>
Reviewed-by: Peter Hutterer <[email protected]>
Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
456f23cb by Peter Hutterer at 2018-05-29T00:00:05Z
Ignore x/y axis changes on proximity out

Wacom tablets send a farewell reset to 0 on all axes when the tool goes out of
proximity. Ignore those so we can rely on our various valuator masks always
having the correct coordinates.

Possible false positive if you manage to go out of proximity right above the
zero datum but meh.

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
2fb95783 by Andrey Zabolotnyi at 2018-05-29T00:00:26Z
Fix generation of proximity-in/out events.

Invoking xf86PostProximityEvent with no valuators does nothing, so we
have to provide a valid valuator set to the call.

https://bugs.freedesktop.org/show_bug.cgi?id=104562

[whot: slight change from 104562
abs_vals is reset on every frame but old_vals is kept around to remember the
last value of the valuator (and is updated to the current values before
processing the frame). We expect the prox in to have x/y, so let's just
unconditionally use old_vals for proximity events.]

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -
67a97afb by Peter Hutterer at 2018-05-29T00:05:22Z
evdev 2.10.6

Signed-off-by: Peter Hutterer <[email protected]>

- - - - -


3 changed files:

- autogen.sh
- configure.ac
- src/evdev.c


Changes:

=====================================
autogen.sh
=====================================
@@ -1,14 +1,17 @@
 #! /bin/sh
 
-srcdir=`dirname $0`
+srcdir=`dirname "$0"`
 test -z "$srcdir" && srcdir=.
 
 ORIGDIR=`pwd`
-cd $srcdir
+cd "$srcdir"
 
 autoreconf -v --install || exit 1
-cd $ORIGDIR || exit $?
+cd "$ORIGDIR" || exit $?
+
+git config --local --get format.subjectPrefix >/dev/null 2>&1 ||
+    git config --local format.subjectPrefix "PATCH xf86-input-evdev"
 
 if test -z "$NOCONFIGURE"; then
-    $srcdir/configure "$@"
+    exec "$srcdir"/configure "$@"
 fi


=====================================
configure.ac
=====================================
@@ -23,7 +23,7 @@
 # Initialize Autoconf
 AC_PREREQ([2.60])
 AC_INIT([xf86-input-evdev],
-        [2.10.5],
+        [2.10.6],
         [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
         [xf86-input-evdev])
 AC_CONFIG_SRCDIR([Makefile.am])


=====================================
src/evdev.c
=====================================
@@ -551,6 +551,16 @@ EvdevProcessProximityState(InputInfoPtr pInfo)
         }
     }
 
+    /* Wacom's last frame resets all values to 0, including x/y.
+       Skip over this. */
+    if (prox_state == 0) {
+        int v;
+        if (valuator_mask_fetch(pEvdev->abs_vals, 0, &v) && v == 0)
+            valuator_mask_unset(pEvdev->abs_vals, 0);
+        if (valuator_mask_fetch(pEvdev->abs_vals, 1, &v) && v == 0)
+            valuator_mask_unset(pEvdev->abs_vals, 1);
+    }
+
     if ((prox_state && !pEvdev->in_proximity) ||
         (!prox_state && pEvdev->in_proximity))
     {
@@ -905,7 +915,7 @@ EvdevPostProximityEvents(InputInfoPtr pInfo, int which)
                 break;
             case EV_QUEUE_PROXIMITY:
                 if (pEvdev->queue[i].val == which)
-                    xf86PostProximityEvent(pInfo->dev, which, 0, 0);
+                    xf86PostProximityEventM(pInfo->dev, which, 
pEvdev->old_vals);
                 break;
         }
     }
@@ -2353,8 +2363,10 @@ EvdevProbe(InputInfoPtr pInfo)
             pInfo->type_name = XI_TOUCHSCREEN;
        } else {
             if (!libevdev_has_event_code(pEvdev->dev, EV_REL, REL_X) ||
-                !libevdev_has_event_code(pEvdev->dev, EV_REL, REL_Y))
+                !libevdev_has_event_code(pEvdev->dev, EV_REL, REL_Y)) {
+                pEvdev->flags |= EVDEV_RELATIVE_EVENTS;
                 EvdevForceXY(pInfo, Relative);
+            }
            xf86IDrvMsg(pInfo, X_INFO, "Configuring as mouse\n");
            pInfo->type_name = XI_MOUSE;
        }
@@ -2485,7 +2497,7 @@ EvdevOpenDevice(InputInfoPtr pInfo)
     }
 
     if (pInfo->fd < 0) {
-        xf86IDrvMsg(pInfo, X_ERROR, "Unable to open evdev device \"%s\".\n", 
device);
+        xf86IDrvMsg(pInfo, X_ERROR, "Unable to open evdev device \"%s\" 
(%s).\n", device, strerror(errno));
         return BadValue;
     }
 



View it on GitLab: 
https://salsa.debian.org/xorg-team/driver/xserver-xorg-input-evdev/compare/1dd61111adea1d137877ca1a9642e1552a152355...67a97afbc011799e0089f88f562586a33a312684

-- 
View it on GitLab: 
https://salsa.debian.org/xorg-team/driver/xserver-xorg-input-evdev/compare/1dd61111adea1d137877ca1a9642e1552a152355...67a97afbc011799e0089f88f562586a33a312684
You're receiving this email because of your account on salsa.debian.org.

Reply via email to