diff -Nru xf86-input-wacom-0.32.0/aclocal.m4 xf86-input-wacom-0.33.0/aclocal.m4 --- xf86-input-wacom-0.32.0/aclocal.m4 2015-11-23 23:20:17.000000000 +0000 +++ xf86-input-wacom-0.33.0/aclocal.m4 2016-05-13 22:32:51.000000000 +0000 @@ -21,7 +21,7 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.])]) dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- -dnl serial 11 (pkg-config-0.29) +dnl serial 11 (pkg-config-0.29.1) dnl dnl Copyright © 2004 Scott James Remnant . dnl Copyright © 2012-2015 Dan Nicholson @@ -63,7 +63,7 @@ dnl See the "Since" comment for each macro you use to see what version dnl of the macros you require. m4_defun([PKG_PREREQ], -[m4_define([PKG_MACROS_VERSION], [0.29]) +[m4_define([PKG_MACROS_VERSION], [0.29.1]) m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1, [m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])]) ])dnl PKG_PREREQ diff -Nru xf86-input-wacom-0.32.0/ChangeLog xf86-input-wacom-0.33.0/ChangeLog --- xf86-input-wacom-0.32.0/ChangeLog 2015-11-23 23:48:04.000000000 +0000 +++ xf86-input-wacom-0.33.0/ChangeLog 2016-05-13 23:10:59.000000000 +0000 @@ -1,3 +1,154 @@ +commit b16b68a9302ce19226d78eed0e1fcb530f372506 +Author: Jason Gerecke +Date: Fri May 13 15:32:27 2016 -0700 + + wacom 0.33.0 + + Signed-off-by: Jason Gerecke + +commit f4763d1985330bb966908113bf3bd0b55d68372c +Author: Jason Gerecke +Date: Wed May 4 09:26:58 2016 -0700 + + wacom 0.32.99.1 + + Signed-off-by: Jason Gerecke + +commit 0da5cd545e38079b62656a23835c4943af05dc92 +Author: Jason Gerecke +Date: Wed Apr 27 10:10:27 2016 -0700 + + conf: rename to 70-wacom.conf + + This is part of a two-step solution, the other half is renaming the + xf86-input-libinput config snippet to sort lower than ours. + + Currently libinput picks up devices that are (for now) destined to the wacom + driver. Since the wacom driver is more of a leaf package than libinput, the + best option here is to make the wacom driver sort higher and let users + uninstall it when not needed. To avoid crowding the 90-* space where users + usually have custom config snippets, libinput will drop down to 60 and + wacom will bump up to 70. + + Fixes: https://sourceforge.net/p/linuxwacom/bugs/315/ + Fixes: https://github.com/linuxwacom/xf86-input-wacom/issues/4 + + Signed-off-by: Jason Gerecke + Reviewed-by: Peter Hutterer + +commit 7a2c6437015d9fec14915ef19dbb2b6894faaba2 +Author: Jason Gerecke +Date: Wed Feb 24 10:43:24 2016 -0800 + + conf: Prevent xf86-input-wacom from binding to pure-keyboard devices + + The Wacom Bluetooth Keyboard matches the "Wacom class" and so is bound to the + xf86-input-wacom driver. This driver is not designed to work with keyboards, + so we narrow the set of devices our InputClasses will match. Because we need + to match tablets, touchpads, and touchscreens (pad devices are a special case + of tablet) but there is no way to specify an "or" match we duplicate existing + classes and assign one of the above types to each. + + Note that simply adding 'MatchIsKeyboard "false"' to our existing snippets + would cause devices like the Cintiq 24HDT Pad and Cintiq 27QHDT Pad from + binding to our driver since both are recognized as (partial) keyboards due + to the presence of KEY_* kernel events. + + Fixes: https://sourceforge.net/p/linuxwacom/bugs/294/ + Fixes: https://github.com/linuxwacom/xf86-input-wacom/issues/1 + + Signed-off-by: Jason Gerecke + +commit 044e17da543493d65bd01152dcddcadbbfe5b8ee +Author: Jason Gerecke +Date: Fri Apr 1 11:07:54 2016 -0700 + + isdv4: Use last-known event position in touch up events + + Old serial ISDv4 sensors that (still?!) use the driver-internal parsing + routines can inadvertantly send (0,0) coordinates to X on touch up. + Even if a sensor sends (0,0) as the touch up coordinate, the code in + wcmTouchFilter.c should do the right thing by only sending motion + eventions while the touch is down. This isn't the case when in-driver + gestures are disabled though, since motion events (specifically XI_TouchEnd) + will be sent for touch up events as well. + + To prevent potential (0,0) coordinates from being emitted on touch up + while in-driver gestures are disabled, we use the last-known touch + position as the current touch position. This mirrors what is done by + the standard input kernel driver (which leaves X/Y at its last known + position on touch up). + + Fixes: https://sourceforge.net/p/linuxwacom/bugs/312/ + + Signed-off-by: Jason Gerecke + Reviewed-by: Ping Cheng + +commit 3b0c093f507cb5e99be277606de1671b77572dab +Author: Jason Gerecke +Date: Tue Jan 12 12:12:03 2016 -0800 + + xsetwacom: Use stderr for 'core' and 'displaytogle' deprecation notices + + Signed-off-by: Jason Gerecke + Reviewed-by: Peter Hutterer + +commit bccfc6faa243909538bf18af04e1308c3b9c208f +Author: Jason Gerecke +Date: Tue Jan 19 08:55:36 2016 -0800 + + xsetwacom: Only print action name for "modetoggle" and "displaytoggle" + + Running "xsetwacom get" on a button which contain a "modetoggle" or + "displaytoggle" action will result in output which cannot be parsed + by "xsetwacom set". Both of these actions are treated like buttons, + printing extra data that is not expected by the "set" command. + + Signed-off-by: Jason Gerecke + Reviewed-by: Peter Hutterer + +commit e1df2c330db940c96030dafcab850fc167531113 +Author: Jason Gerecke +Date: Tue Jan 12 12:15:35 2016 -0800 + + xsetwacom: Remove unnecessary static state from 'get_actions' + + The 'last_type' variable within 'get_actions' stores the type of the last + action encountered. When dealing with "key" or "button" actions, we use + that information to determine if we need to print out the action prefix + or not (if the type hasn't changed, its safe to leave the prefix out). + + For some reason, this variable was marked as 'static', which causes it + to retain its value across invocations. The function is only called once + for any given button, meaning that we improperly retain the "last_type" + across buttons. If the last action on a button is of e.g. type "key" and + the first action of the next button is as well, then the "key" prefix + will be missing from the printed output of that second button's actions. + Making this variable non-static fixes this issue and ensures each run + of the function is independent. + + Fixes: http://sourceforge.net/p/linuxwacom/bugs/303/ + Fixes: https://github.com/linuxwacom/xf86-input-wacom/issues/3 + + Signed-off-by: Jason Gerecke + Reviewed-by: Peter Hutterer + +commit d9119a8c412926b97fac364d32e2bade47d2c295 +Author: Peter Hutterer +Date: Mon Dec 7 10:23:52 2015 +1000 + + release.sh: use -t flag to create a sf shell + + Signed-off-by: Peter Hutterer + +commit 8978e7010f0ee39c43a9902fbbbbbbeb20da8152 +Author: Peter Hutterer +Date: Mon Dec 7 10:18:58 2015 +1000 + + release.sh: fix syntax errors + + Signed-off-by: Peter Hutterer + commit a626adda70bf7e514a6715ba0fe63874808ca5e0 Author: Jason Gerecke Date: Mon Nov 23 15:20:02 2015 -0800 diff -Nru xf86-input-wacom-0.32.0/conf/50-wacom.conf xf86-input-wacom-0.33.0/conf/50-wacom.conf --- xf86-input-wacom-0.32.0/conf/50-wacom.conf 2015-10-23 17:26:33.000000000 +0000 +++ xf86-input-wacom-0.33.0/conf/50-wacom.conf 1970-01-01 00:00:00.000000000 +0000 @@ -1,59 +0,0 @@ -Section "InputClass" - Identifier "Wacom USB device class" - MatchUSBID "056a:*" - MatchDevicePath "/dev/input/event*" - Driver "wacom" -EndSection - -Section "InputClass" - Identifier "Wacom PnP device class" - MatchPnPID "WACf*|WCOM*|WACM*|FUJ02e5|FUJ02e7|FUJ02e9" - MatchDevicePath "/dev/input/event*" - Driver "wacom" -EndSection - -Section "InputClass" - Identifier "Wacom class" - MatchProduct "Wacom|WACOM|PTK-540WL|ISD-V4" - MatchDevicePath "/dev/input/event*" - Driver "wacom" -EndSection - -Section "InputClass" - Identifier "Wacom serial class" - MatchProduct "Serial Wacom Tablet" - Driver "wacom" -EndSection - -Section "InputClass" - Identifier "Wacom serial class identifiers" - MatchProduct "WACf|FUJ02e5|FUJ02e7|FUJ02e9" - Driver "wacom" -EndSection - -# Hanwang tablets -Section "InputClass" - Identifier "Hanwang class" - MatchProduct "Hanwang" - MatchDevicePath "/dev/input/event*" - Driver "wacom" -EndSection - -# Waltop tablets -Section "InputClass" - Identifier "Waltop class" - MatchProduct "WALTOP" - MatchIsTablet "on" - MatchDevicePath "/dev/input/event*" - Driver "wacom" -EndSection - -# N-Trig Duosense Electromagnetic Digitizer -Section "InputClass" - Identifier "Wacom N-Trig class" - MatchProduct "HID 1b96:0001|N-Trig Pen|N-Trig DuoSense" - MatchDevicePath "/dev/input/event*" - Driver "wacom" - Option "Button2" "3" -EndSection - diff -Nru xf86-input-wacom-0.32.0/conf/70-wacom.conf xf86-input-wacom-0.33.0/conf/70-wacom.conf --- xf86-input-wacom-0.32.0/conf/70-wacom.conf 1970-01-01 00:00:00.000000000 +0000 +++ xf86-input-wacom-0.33.0/conf/70-wacom.conf 2016-04-27 16:33:48.000000000 +0000 @@ -0,0 +1,103 @@ +# Some of the below input classes appear 3x times, once for each of +# "tablet", "touchscreen", and "touchpad" to ensure that the Wacom +# driver is not accidentally bound to other types of hardware that +# Wacom has made which are not handled by the wacom driver (e.g the +# Wacom Bluetooth Keyboard) +# +# https://sourceforge.net/p/linuxwacom/bugs/294/ + +Section "InputClass" + Identifier "Wacom USB tablet class" + MatchUSBID "056a:*" + MatchDevicePath "/dev/input/event*" + MatchIsTablet "true" + Driver "wacom" +EndSection + +Section "InputClass" + Identifier "Wacom USB touchscreen class" + MatchUSBID "056a:*" + MatchDevicePath "/dev/input/event*" + MatchIsTouchscreen "true" + Driver "wacom" +EndSection + +Section "InputClass" + Identifier "Wacom USB touchpad class" + MatchUSBID "056a:*" + MatchDevicePath "/dev/input/event*" + MatchIsTouchpad "true" + Driver "wacom" +EndSection + +Section "InputClass" + Identifier "Wacom tablet class" + MatchProduct "Wacom|WACOM|PTK-540WL|ISD-V4" + MatchDevicePath "/dev/input/event*" + MatchIsTablet "true" + Driver "wacom" +EndSection + +Section "InputClass" + Identifier "Wacom touchscreen class" + MatchProduct "Wacom|WACOM|PTK-540WL|ISD-V4" + MatchDevicePath "/dev/input/event*" + MatchIsTouchscreen "true" + Driver "wacom" +EndSection + +Section "InputClass" + Identifier "Wacom touchpad class" + MatchProduct "Wacom|WACOM|PTK-540WL|ISD-V4" + MatchDevicePath "/dev/input/event*" + MatchIsTouchpad "true" + Driver "wacom" +EndSection + +# Serial Wacom devices should always be one of tablet, touchscreen, or +# touchpad so we can safely get away with just one match section in +# these cases +Section "InputClass" + Identifier "Wacom PnP device class" + MatchPnPID "WACf*|WCOM*|WACM*|FUJ02e5|FUJ02e7|FUJ02e9" + MatchDevicePath "/dev/input/event*" + Driver "wacom" +EndSection + +Section "InputClass" + Identifier "Wacom serial class" + MatchProduct "Serial Wacom Tablet" + Driver "wacom" +EndSection + +Section "InputClass" + Identifier "Wacom serial class identifiers" + MatchProduct "WACf|FUJ02e5|FUJ02e7|FUJ02e9" + Driver "wacom" +EndSection + +# Hanwang tablets +Section "InputClass" + Identifier "Hanwang class" + MatchProduct "Hanwang" + MatchDevicePath "/dev/input/event*" + Driver "wacom" +EndSection + +# Waltop tablets +Section "InputClass" + Identifier "Waltop class" + MatchProduct "WALTOP" + MatchIsTablet "on" + MatchDevicePath "/dev/input/event*" + Driver "wacom" +EndSection + +# N-Trig Duosense Electromagnetic Digitizer +Section "InputClass" + Identifier "Wacom N-Trig class" + MatchProduct "HID 1b96:0001|N-Trig Pen|N-Trig DuoSense" + MatchDevicePath "/dev/input/event*" + Driver "wacom" + Option "Button2" "3" +EndSection diff -Nru xf86-input-wacom-0.32.0/conf/Makefile.am xf86-input-wacom-0.33.0/conf/Makefile.am --- xf86-input-wacom-0.32.0/conf/Makefile.am 2015-10-23 17:26:33.000000000 +0000 +++ xf86-input-wacom-0.33.0/conf/Makefile.am 2016-04-27 17:08:35.000000000 +0000 @@ -1,7 +1,7 @@ CLEANFILES= if HAS_XORG_CONF_DIR -dist_config_DATA = 50-wacom.conf +dist_config_DATA = 70-wacom.conf else fdidir = $(datadir)/hal/fdi/policy/20thirdparty dist_fdi_DATA = wacom.fdi diff -Nru xf86-input-wacom-0.32.0/conf/Makefile.in xf86-input-wacom-0.33.0/conf/Makefile.in --- xf86-input-wacom-0.32.0/conf/Makefile.in 2015-11-23 23:20:25.000000000 +0000 +++ xf86-input-wacom-0.33.0/conf/Makefile.in 2016-05-13 22:55:16.000000000 +0000 @@ -122,7 +122,7 @@ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac -am__dist_config_DATA_DIST = 50-wacom.conf +am__dist_config_DATA_DIST = 70-wacom.conf am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ @@ -311,7 +311,7 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ CLEANFILES = $(am__append_1) -@HAS_XORG_CONF_DIR_TRUE@dist_config_DATA = 50-wacom.conf +@HAS_XORG_CONF_DIR_TRUE@dist_config_DATA = 70-wacom.conf @HAS_XORG_CONF_DIR_FALSE@fdidir = $(datadir)/hal/fdi/policy/20thirdparty @HAS_XORG_CONF_DIR_FALSE@dist_fdi_DATA = wacom.fdi @HAVE_SYSTEMD_UNIT_DIR_TRUE@unitdir = $(SYSTEMD_UNIT_DIR) diff -Nru xf86-input-wacom-0.32.0/configure xf86-input-wacom-0.33.0/configure --- xf86-input-wacom-0.32.0/configure 2015-11-23 23:20:24.000000000 +0000 +++ xf86-input-wacom-0.33.0/configure 2016-05-13 22:55:14.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for xf86-input-wacom 0.32.0. +# Generated by GNU Autoconf 2.69 for xf86-input-wacom 0.33.0. # # Report bugs to . # @@ -651,8 +651,8 @@ # Identity of this package. PACKAGE_NAME='xf86-input-wacom' PACKAGE_TARNAME='xf86-input-wacom' -PACKAGE_VERSION='0.32.0' -PACKAGE_STRING='xf86-input-wacom 0.32.0' +PACKAGE_VERSION='0.33.0' +PACKAGE_STRING='xf86-input-wacom 0.33.0' PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg' PACKAGE_URL='' @@ -1451,7 +1451,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures xf86-input-wacom 0.32.0 to adapt to many kinds of systems. +\`configure' configures xf86-input-wacom 0.33.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1522,7 +1522,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of xf86-input-wacom 0.32.0:";; + short | recursive ) echo "Configuration of xf86-input-wacom 0.33.0:";; esac cat <<\_ACEOF @@ -1673,7 +1673,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -xf86-input-wacom configure 0.32.0 +xf86-input-wacom configure 0.33.0 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2088,7 +2088,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by xf86-input-wacom $as_me 0.32.0, which was +It was created by xf86-input-wacom $as_me 0.33.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2957,7 +2957,7 @@ # Define the identity of the package. PACKAGE='xf86-input-wacom' - VERSION='0.32.0' + VERSION='0.33.0' cat >>confdefs.h <<_ACEOF @@ -19864,7 +19864,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by xf86-input-wacom $as_me 0.32.0, which was +This file was extended by xf86-input-wacom $as_me 0.33.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -19930,7 +19930,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -xf86-input-wacom config.status 0.32.0 +xf86-input-wacom config.status 0.33.0 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -Nru xf86-input-wacom-0.32.0/configure.ac xf86-input-wacom-0.33.0/configure.ac --- xf86-input-wacom-0.32.0/configure.ac 2015-11-23 23:19:40.000000000 +0000 +++ xf86-input-wacom-0.33.0/configure.ac 2016-05-13 22:32:03.000000000 +0000 @@ -23,7 +23,7 @@ # Initialize Autoconf AC_PREREQ([2.60]) AC_INIT([xf86-input-wacom], - [0.32.0], + [0.33.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xf86-input-wacom]) AC_CONFIG_MACRO_DIR([m4]) diff -Nru xf86-input-wacom-0.32.0/debian/changelog xf86-input-wacom-0.33.0/debian/changelog --- xf86-input-wacom-0.32.0/debian/changelog 2016-03-03 11:42:33.000000000 +0000 +++ xf86-input-wacom-0.33.0/debian/changelog 2016-05-24 01:52:37.000000000 +0000 @@ -1,3 +1,9 @@ +xf86-input-wacom (1:0.33.0-0ubuntu1) yakkety; urgency=medium + + * New upstream release + + -- Robert Ancell Tue, 24 May 2016 13:48:43 +1200 + xf86-input-wacom (1:0.32.0-0ubuntu3) xenial; urgency=medium * Really rebuild against the new xserver. diff -Nru xf86-input-wacom-0.32.0/src/wcmISDV4.c xf86-input-wacom-0.33.0/src/wcmISDV4.c --- xf86-input-wacom-0.32.0/src/wcmISDV4.c 2015-10-23 17:26:33.000000000 +0000 +++ xf86-input-wacom-0.33.0/src/wcmISDV4.c 2016-04-14 17:33:57.000000000 +0000 @@ -625,8 +625,8 @@ return -1; } - ds->x = touchdata.x; - ds->y = touchdata.y; + ds->x = touchdata.status ? touchdata.x : last->x; + ds->y = touchdata.status ? touchdata.y : last->y; ds->proximity = touchdata.status; ds->device_type = TOUCH_ID; ds->device_id = TOUCH_DEVICE_ID; @@ -651,8 +651,8 @@ channel = 1; ds = &common->wcmChannel[channel].work; RESET_RELATIVE(*ds); - ds->x = touchdata.finger2.x; - ds->y = touchdata.finger2.y; + ds->x = touchdata.finger2.status ? touchdata.finger2.x : lastTemp->x; + ds->y = touchdata.finger2.status ? touchdata.finger2.y : lastTemp->y; ds->device_type = TOUCH_ID; ds->device_id = TOUCH_DEVICE_ID; ds->serial_num = 2; diff -Nru xf86-input-wacom-0.32.0/tools/xsetwacom.c xf86-input-wacom-0.33.0/tools/xsetwacom.c --- xf86-input-wacom-0.32.0/tools/xsetwacom.c 2015-10-23 17:26:33.000000000 +0000 +++ xf86-input-wacom-0.33.0/tools/xsetwacom.c 2016-01-25 19:00:10.000000000 +0000 @@ -1026,7 +1026,7 @@ static int once_only = 1; if (once_only) { - printf ("Note: The \"core\" keyword is not supported anymore and " + fprintf(stderr, "Note: The \"core\" keyword is not supported anymore and " "will be ignored.\n"); once_only = 0; } @@ -1053,7 +1053,7 @@ static int once_only = 1; if (once_only) { - printf ("Note: The \"displaytoggle\" keyword is not supported " + fprintf(stderr, "Note: The \"displaytoggle\" keyword is not supported " "anymore and will be ignored.\n"); once_only = 0; } @@ -1951,6 +1951,7 @@ unsigned long nitems, bytes_after, *data; int i; char buff[1024] = {0}; + int last_type; prop = XInternAtom(dpy, param->prop_name, True); @@ -1979,9 +1980,9 @@ AnyPropertyType, &type, &format, &nitems, &bytes_after, (unsigned char**)&data); + last_type = 0; for (i = 0; i < nitems; i++) { - static int last_type; unsigned long action = data[i]; int current_type; int detail; @@ -2021,7 +2022,7 @@ if (current_type == AC_KEY) sprintf(str, "%c%s ", press_str, XKeysymToString(detail)); - else + else if (current_type == AC_BUTTON) sprintf(str, "%c%d ", press_str, detail); strcat(buff, str); last_type = current_type;