This patch splits the meat of xf86libinput_handle_tablet_axis into a helper function xf86libinput_post_tablet_motion(), to be called right after we send the proximity in event. Clients that don't handle proximity (e.g. all XI2 clients) don't see the coordinates we send along with the proximity events. And, for historical reasons, they may not look at the coordinates in button events. So a device that comes into proximity and immediately sends a tip down button event doesn't send a motion event, causing the client to think the tip down was at whatever the last known position was (before previous prox-out). The practical effect is that when a user tries to draw a few dots, they end up being connected to each other. https://bugzilla.redhat.com/show_bug.cgi?id=1433755 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
xf86-input-libinput - a libinput-based X driver
The official repository for this driver is http://cgit.freedesktop.org/xorg/driver/xf86-input-libinput/
This is an X driver based on libinput. It is a thin wrapper around libinput, so while it does provide all features that libinput supports it does little beyond.
WARNING: misconfiguration of an X input driver may leave you without usable input devices in your X session. Use with caution.
Prerequisites
To build, you'll need the X.Org X server SDK (check your distribution for a xorg-x11-server-devel package or similar) and libinput (check your distribution for libinput-devel or similar).
To get libinput from source, see: http://www.freedesktop.org/wiki/Software/libinput/
To build the X server from source: http://www.x.org/wiki/Building_the_X_Window_System/
Building
To build this driver:
autoreconf -vif
./configure --prefix=$HOME/build
make && make install
Note that this assumes the same prefix as used in "Building the X Window System" above, adjust as required. If you want a system install, use a prefix of /usr.
Install the default configuration file:
cp conf/99-libinput.conf /etc/X11/xorg.conf.d/
This will assign this driver to all devices. Use with caution.
Bugs
Bugs in libinput go to the "libinput" component of wayland: https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland
Bugs in this driver go to the "Input/libinput" component of xorg: https://bugs.freedesktop.org/enter_bug.cgi?product=xorg