Debian

Available patches from Ubuntu

To see Ubuntu differences wrt. to Debian, write down a grep-dctrl query identifying the packages you're interested in:
grep-dctrl -n -sPackage Sources.Debian
(e.g. -FPackage linux-ntfs or linux-ntfs)

Modified packages are listed below:

Debian ( Changelog | PTS | Bugs ) Ubuntu ( Changelog | txt | LP | Bugs ) | Diff from Ubuntu

Source: xf86-input-wacom

xf86-input-wacom (1:0.39.0-0ubuntu1) focal; urgency=medium * New upstream release. -- Timo Aaltonen <tjaalton@debian.org> Wed, 11 Mar 2020 10:56:19 +0200 xf86-input-wacom (1:0.38.0-0ubuntu1) focal; urgency=medium * New upstream release. * source: Update diff-ignore. * skip-touchscreens.diff: Dropped, not needed anymore. * control: Update git urls. -- Timo Aaltonen <tjaalton@debian.org> Thu, 21 Nov 2019 18:13:46 +0200 xf86-input-wacom (1:0.36.1-0ubuntu2) disco; urgency=medium * skip-touchscreens.diff: Don't use wacom for touchscreens. (LP: #1774242) -- Timo Aaltonen <tjaalton@debian.org> Fri, 12 Apr 2019 10:26:53 +0300 xf86-input-wacom (1:0.36.1-0ubuntu1) bionic; urgency=medium * New upstream release. - add support for Cintiq 27QHDT, Cintiq Pro 24/32, 2nd gen Intuos Pro * watch: Updated. * fix-tests.diff: Dropped, upstream. -- Timo Aaltonen <tjaalton@debian.org> Tue, 03 Apr 2018 10:39:26 +0300 xf86-input-wacom (1:0.34.0-0ubuntu2) zesty; urgency=medium * fix-tests.diff: Fix test build against new xserver. -- Timo Aaltonen <tjaalton@debian.org> Tue, 07 Mar 2017 11:16:53 +0200 xf86-input-wacom (1:0.34.0-0ubuntu1) zesty; urgency=medium * New upstream release. * control: Drop -dbg package. * disable-tests.diff: Dropped, tests pass again. -- Timo Aaltonen <tjaalton@debian.org> Mon, 06 Mar 2017 15:27:59 +0200 xf86-input-wacom (1:0.33.0-0ubuntu1) yakkety; urgency=medium * New upstream release. -- Timo Aaltonen <tjaalton@debian.org> Mon, 19 Sep 2016 14:32:35 +0300 xf86-input-wacom (1:0.32.0-0ubuntu3) xenial; urgency=medium * Really rebuild against the new xserver. -- Timo Aaltonen <tjaalton@debian.org> Thu, 03 Mar 2016 13:42:33 +0200 xf86-input-wacom (1:0.32.0-0ubuntu2) xenial; urgency=medium * Rebuild against new xserver. -- Timo Aaltonen <tjaalton@debian.org> Wed, 20 Jan 2016 10:19:20 +0200 xf86-input-wacom (1:0.32.0-0ubuntu1) xenial; urgency=medium * New upstream release. (LP: #1534966) * control: Update git repo urls. -- Timo Aaltonen <tjaalton@debian.org> Wed, 20 Jan 2016 10:12:19 +0200 xf86-input-wacom (1:0.30.0-0ubuntu3) wily; urgency=medium * rules: Remove .la files again. -- Timo Aaltonen <tjaalton@debian.org> Mon, 05 Oct 2015 16:31:59 +0300 xf86-input-wacom (1:0.30.0-0ubuntu2) wily; urgency=medium * rules, install: dh_install doesn't support renaming files, mangle 69-wacom.rules in rules as before. (LP: #1497041) -- Timo Aaltonen <tjaalton@debian.org> Wed, 23 Sep 2015 08:20:39 +0300 xf86-input-wacom (1:0.30.0-0ubuntu1) wily; urgency=medium * New upstream release * debian/control: - Use debhelper 9 - Use standards version 3.9.6 * debian/compat: - Use debhelper 9 * debian/rules: - Set udev rules directory at configure time - Set Xorg module dir - Set systemd unit dir - Drop unneeded build directory - Don't need to delete .la files anymore * debian/xserver-xorg-input-wacom.install: - Don't need to move systemd unit anymore - Use multi-arch location for pkgconfig file - Renamed wacom.rules to 69-wacom.rules -- Robert Ancell <robert.ancell@canonical.com> Mon, 20 Jul 2015 14:52:21 +1200 xf86-input-wacom (1:0.25.0-0ubuntu2) wily; urgency=medium * rules, install: Fix udev rules and systemd service install destination. (LP: #1392887) -- Timo Aaltonen <tjaalton@debian.org> Thu, 21 May 2015 08:18:55 +0300 xf86-input-wacom (1:0.25.0-0ubuntu1) utopic; urgency=medium * New upstream release. * Drop the udev script and use the upstream provided one. -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Wed, 10 Sep 2014 16:34:04 +0200 xf86-input-wacom (1:0.23.0-0ubuntu2) trusty; urgency=medium * Rebuild for xorg 1.15 abi. -- Maarten Lankhorst <maarten.lankhorst@ubuntu.com> Wed, 05 Feb 2014 09:28:37 +0000 xf86-input-wacom (1:0.23.0-0ubuntu1) trusty; urgency=low * New upstream release (LP: #1235615) - Add support for Intuos Pro (LP: #1234811) - Add support for Cintiq 22HDT and 13HD, DTK2241 and DTH2242 -- Timo Aaltonen <tjaalton@ubuntu.com> Sat, 05 Oct 2013 09:50:10 +0300 xf86-input-wacom (1:0.20.0-0ubuntu1) saucy; urgency=low * New upstream release. -- Timo Aaltonen <tjaalton@ubuntu.com> Thu, 29 Aug 2013 15:39:17 +0300 xf86-input-wacom (1:0.19.0-0ubuntu3.3) raring; urgency=low * disable-tests.diff: Don't build tests (FTBFS). -- Timo Aaltonen <tjaalton@ubuntu.com> Fri, 08 Feb 2013 13:21:00 +0200 xf86-input-wacom (1:0.19.0-0ubuntu2) raring; urgency=low * Rebuild to pick up new Xserver dependencies. -- Timo Aaltonen <tjaalton@ubuntu.com> Fri, 08 Feb 2013 11:58:29 +0200 xf86-input-wacom (1:0.19.0-0ubuntu1) raring; urgency=low * New upstream release. -- Timo Aaltonen <tjaalton@ubuntu.com> Fri, 18 Jan 2013 11:05:11 +0200 xf86-input-wacom (1:0.18.0-0ubuntu1) raring; urgency=low * New upstream release. - the driver supports XI2 multitouch now * Drop upstream patches. * control: Bump policy to 3.9.3, no changes. -- Timo Aaltonen <tjaalton@ubuntu.com> Mon, 10 Dec 2012 13:55:32 +0200 xf86-input-wacom (1:0.17.0-0ubuntu2) quantal; urgency=low * Add ignore-out-of-box-events.diff, fix cursor jumping to top-left corner when touching a button on Intuos5. (LP: #1038615) * Switch to source format 3.0 (quilt) due to .bz2 tarball. -- Timo Aaltonen <tjaalton@ubuntu.com> Mon, 17 Sep 2012 17:00:19 +0300 xf86-input-wacom (1:0.17.0-0ubuntu1) quantal; urgency=low * New upstream release. * watch: Upstream uses bz2 now. * Add-LogMessageVerbSigSafe-to-fake-symbols.diff: Fix a distcheck failure. -- Timo Aaltonen <tjaalton@ubuntu.com> Thu, 06 Sep 2012 12:32:15 +0300 xf86-input-wacom (1:0.16.0+0git9f32b03-0ubuntu1) quantal-proposed; urgency=low [ Maarten Lankhorst ] * New upstream release. * Add fixes from git * Removed upstream patches: - only-match-tablet-waltop.diff - 102-add-intuos5-support.diff * Add xserver-xorg-input-wacom-dbg -- Timo Aaltonen <tjaalton@ubuntu.com> Wed, 01 Aug 2012 15:01:07 +0300 xf86-input-wacom (1:0.14.0-0ubuntu3) quantal; urgency=low * Drop 101_fix_build_against_frankenserver.patch, we're building against 1.12 now. -- Timo Aaltonen <tjaalton@ubuntu.com> Wed, 04 Jul 2012 00:57:10 +0300 xf86-input-wacom (1:0.14.0-0ubuntu2) precise; urgency=low * 102-add-intuos5-support.diff: Add support for Intuos5 tablets. * only-match-tablet-waltop.diff: Let evdev handle rest of the device, wacom takes care of just the tablet part. -- Timo Aaltonen <tjaalton@ubuntu.com> Fri, 30 Mar 2012 13:07:00 +0300 xf86-input-wacom (1:0.14.0-0ubuntu1) precise; urgency=low * New upstream release (LP: #961743). -- Timo Aaltonen <tjaalton@ubuntu.com> Thu, 22 Mar 2012 00:44:18 +0200 xf86-input-wacom (1:0.13.0-0ubuntu1) precise; urgency=low * New upstream release. * Refresh 101_fix_build_against_frankenserver.patch to apply. * Add another hunk to patch 101 to work around the input ABI hybrid we have. -- Timo Aaltonen <tjaalton@ubuntu.com> Wed, 01 Feb 2012 12:34:53 +0200 xf86-input-wacom (1:0.12.0-0ubuntu2) precise; urgency=low * Rebuild against X server 1.11. * debian/patches/101_fix_build_against_frankenserver.patch: - Our 1.11/1.12 hybrid server doesn't have the input config changes found in ABI 14. -- Christopher James Halse Rogers <raof@ubuntu.com> Tue, 20 Dec 2011 19:31:06 +1100 xf86-input-wacom (1:0.12.0-0ubuntu1) precise; urgency=low * New upstream release. - dropped patch 101, included upstream - patch 100 modified to apply * Add libxinerama-dev to build-deps, needed by the new upstream. * Changed the VCS headers to point to the correct repository. -- Timo Aaltonen <tjaalton@ubuntu.com> Thu, 17 Nov 2011 11:52:42 +0200 xf86-input-wacom (1:0.11.0-0ubuntu2) oneiric; urgency=low * Rename 100_enable_waltop.diff to 100_enable_extra_devices.diff * Add 101_add_e6.patch and add "ISD-V4" to 100_enable_extra_devices.diff: Enable touchscreen wacom support for E6 2FGT tablet PC digitizer used in Lenovo x220 tablets. (LP: #787781) -- Bryce Harrington <bryce@ubuntu.com> Tue, 20 Sep 2011 12:07:18 -0700 xf86-input-wacom (1:0.11.0-0ubuntu1) oneiric; urgency=low * New upstream version. - remove patches 101 and 102, included upstream. * Add 100_enable_waltop.diff - Autoload wacom for Waltop devices (LP: #300067) * Switch to dh: - Bump debhelper build-dep, add dh-autoreconf build-dep. - Bump compat to 8. - Rework debian/rules. - Remove xsfbs. - Remove autogenerated files. - Add xserver-xorg-input-wacom.install. * Add libudev-dev to build-deps. * Bump Standards version to 3.9.1 (no changes needed). -- Timo Aaltonen <tjaalton@ubuntu.com> Wed, 25 May 2011 09:58:54 +0300 xf86-input-wacom (1:0.10.11-0ubuntu4) natty; urgency=low * 102_add_support_for_lenovo_x220.diff: Add an id for Lenovo X220 tablet. (LP: #746652) -- Timo Aaltonen <tjaalton@ubuntu.com> Mon, 11 Apr 2011 10:56:02 +0300 xf86-input-wacom (1:0.10.11-0ubuntu3) natty; urgency=low * Add 101_xsetwacom_ccw.patch: Fix rotate "ccw" to be accepted when set (LP: #727505) -- Bryce Harrington <bryce@ubuntu.com> Mon, 07 Mar 2011 17:43:04 -0800 xf86-input-wacom (1:0.10.11-0ubuntu2) natty; urgency=low * Rebuild to pick up new Xserver dependencies -- Christopher James Halse Rogers <raof@ubuntu.com> Wed, 23 Feb 2011 17:52:00 +1100 xf86-input-wacom (1:0.10.11-0ubuntu1) natty; urgency=low * New upstream release + Fix PreInit failure cleanup path to prevent SIGSEGV (LP: #718331) -- Christopher James Halse Rogers <raof@ubuntu.com> Tue, 22 Feb 2011 11:32:47 +1100 xf86-input-wacom (1:0.10.10-0ubuntu3) natty; urgency=low * debian/control: Bump xserver build-depend to really, really rebuild against Xserver 1.10 -- Christopher James Halse Rogers <raof@ubuntu.com> Tue, 01 Feb 2011 20:36:13 +1100 xf86-input-wacom (1:0.10.10-0ubuntu2) natty; urgency=low * Rebuild against Xserver 1.10 -- Bryce Harrington <bryce@ubuntu.com> Mon, 31 Jan 2011 18:37:40 -0800 xf86-input-wacom (1:0.10.10-0ubuntu1) natty; urgency=low * New upstream release * Drop debian/patches/100_add_ntrig_ids.patch; applied upstream * debian/control: + Reflow {Build-,}Depends to one-per-line now the list is elongating. + Add libxrandr-dev to Build-Depends -- Christopher James Halse Rogers <raof@ubuntu.com> Fri, 14 Jan 2011 18:21:39 -0600 xf86-input-wacom (1:0.10.8-0ubuntu1) maverick; urgency=low * New upstream release (LP: #599512). Fixes build against Xserver 1.9. * debian/watch: + Canonical source is now on SourceForge, where we can watch it. Do so. * debian/control: + Bump build-dep on xserver-xorg-dev to ensure we build against the new Xserver 1.9 ABI. * debian/patches/100_ntrig_2010_02_03.patch: + Drop; it no longer applies. Replace with equivalent upstream commit in 100_add_ntrig_ids.patch -- Christopher James Halse Rogers <raof@ubuntu.com> Tue, 03 Aug 2010 09:38:33 +1000 xf86-input-wacom (1:0.10.6-0ubuntu2) maverick; urgency=low * debian/xserver-xorg-input-wacom.udev: revert udev rules for serial PNP devices to use correct rules from Lucid (Debian bug 589847). -- Kees Cook <kees@ubuntu.com> Wed, 21 Jul 2010 08:49:28 -0700 xf86-input-wacom (1:0.10.6-0ubuntu1) maverick; urgency=low * Merge from Debian unstable. Remaining Ubuntu changes: + 107_ntrig_tabletpc.patch: PCI id for N-Trig TabletPC + debian/rules: use xsfbs & xsfbs patch system + debian/control: add B-D on quilt + Add epoch * Update to new upstream version + Drop 101_strcat_args.patch, included in new upstream version. + Drop debian/local: xorg.conf.d snippet is now shipped upstream. * debian/rules: + Use xsfbs targets rather than hand-coding server ABI substvars. + Drop deletion of HAL rules; new upstream no longer installs them. * debian/control: + Add ${misc:Depends} to silence lintian + Use ${xinpdriver:Depends} rather than deprecated ${xserver:Depends} * Update debian/xsfbs * Add XSF README.source -- Christopher James Halse Rogers <raof@ubuntu.com> Thu, 10 Jun 2010 15:24:41 +1000

Modifications :
  1. Download patch ltmain.sh
  2. Download patch tools/xsetwacom.c

    --- 0.34.99.1-1/tools/xsetwacom.c 2017-06-26 07:00:35.000000000 +0000 +++ 1:0.39.0-0ubuntu1/tools/xsetwacom.c 2019-11-04 17:05:25.000000000 +0000 @@ -28,6 +28,7 @@ #include <limits.h> #include <stdio.h> #include <stdarg.h> +#include <stdbool.h> #include <ctype.h> #include <stdlib.h> #include <getopt.h> @@ -472,6 +473,15 @@ static param_t parameters[] = .prop_flags = PROP_FLAG_BOOLEAN }, { + .name = "PanScrollThreshold", + .x11name = "PanScrollThreshold", + .desc = "Adjusts distance required for pan actions to generate a scroll event", + .prop_name = WACOM_PROP_PANSCROLL_THRESHOLD, + .prop_format = 32, + .prop_offset = 0, + .arg_count = 1, + }, + { .name = "MapToOutput", .desc = "Map the device to the given output. ", .set_func = set_output, @@ -484,7 +494,7 @@ static param_t parameters[] = .get_func = get_all, .prop_flags = PROP_FLAG_READONLY, }, - {} + {.name = NULL} }; /** @@ -504,7 +514,7 @@ static struct deprecated {"GetTabletID", "TabletID"}, {"DebugLevel", "ToolDebugLevel"}, {"CommonDBG", "TabletDebugLevel"}, - {"GetTabletID", "TabletID"}, + {"Serial", "BindToSerial"}, {"PressCurve", "PressureCurve"}, {"TPCButton", "TabletPCButton"}, {"CursorProx", "CursorProximity"}, @@ -581,6 +591,8 @@ static struct modifier modifiers[] = { {"lhyper", "Hyper_L"}, {"rhyper", "Hyper_R"}, + {"altgr", "ISO_Level3_Shift"}, + { NULL, NULL } }; @@ -751,8 +763,7 @@ static void usage(void) static void version(void) { - printf("%d.%d.%d\n", PACKAGE_VERSION_MAJOR, PACKAGE_VERSION_MINOR, - PACKAGE_VERSION_PATCHLEVEL); + printf(BUILD_VERSION "\n"); } static XDevice* find_device(Display *display, char *name) @@ -983,7 +994,7 @@ static const char *convert_specialkey(co m++; } - return m->converted ? m->converted : (char*)specialkey; + return m->converted ? m->converted : specialkey; } /** @@ -1010,6 +1021,7 @@ static int special_map_button(Display *d static int special_map_core(Display *dpy, int argc, char **argv, unsigned long *ndata, unsigned long *data, const size_t size); static int special_map_modetoggle(Display *dpy, int argc, char **argv, unsigned long *ndata, unsigned long *data, const size_t size); static int special_map_displaytoggle(Display *dpy, int argc, char **argv, unsigned long *ndata, unsigned long *data, const size_t size); +static int special_map_panscroll(Display *dpy, int argc, char **argv, unsigned long *ndata, unsigned long *data, const size_t size); /* Valid keywords for the --set ButtonX options */ static struct keywords { @@ -1021,6 +1033,7 @@ static struct keywords { {"core", special_map_core}, {"modetoggle", special_map_modetoggle}, {"displaytoggle", special_map_displaytoggle}, + {"pan", special_map_panscroll}, { NULL, NULL } }; @@ -1065,6 +1078,19 @@ static int special_map_displaytoggle(Dis return 0; } +static int special_map_panscroll(Display *dpy, int argc, char **argv, unsigned long *ndata, unsigned long *data, const size_t size) +{ + if (*ndata + 1 > size) { + fprintf(stderr, "Insufficient space to store all commands.\n"); + return 0; + } + data[*ndata] = AC_PANSCROLL; + + *ndata += 1; + + return 0; +} + static inline int is_valid_keyword(const char *keyword) { struct keywords *kw = keywords; @@ -2770,6 +2796,24 @@ void argsfromstdin(int *argc, char ***ar } #endif /* BUILD_FUZZINTERFACE */ +static bool check_for_wayland(Display *dpy) +{ + bool has_xwayland_devices = false; + XDeviceInfo *info; + int ndevices, i; + + info = XListInputDevices(dpy, &ndevices); + for (i = 0; i < ndevices; i++) { + if (strncmp(info[i].name, "xwayland-", 9) == 0) { + has_xwayland_devices = true; + break; + } + } + XFreeDeviceList(info); + + return has_xwayland_devices; +} + int main (int argc, char **argv) { int c; @@ -2855,6 +2899,13 @@ int main (int argc, char **argv) return -1; } + if (check_for_wayland(dpy)) { + fprintf(stderr, + "Wayland devices found but this tool is incompatible with Wayland. See\n" + "https://github.com/linuxwacom/xf86-input-wacom/wiki/Wayland\n"); + return 1; + } + if (!do_list && !do_get && !do_set) { if (optind < argc) @@ -2977,7 +3028,7 @@ static void test_parameter_number(void) * deprecated them. * Numbers include trailing NULL entry. */ - assert(ARRAY_SIZE(parameters) == 39); + assert(ARRAY_SIZE(parameters) == 40); assert(ARRAY_SIZE(deprecated_parameters) == 17); }
  3. Download patch test-driver

    --- 0.34.99.1-1/test-driver 2017-06-26 07:00:35.000000000 +0000 +++ 1:0.39.0-0ubuntu1/test-driver 2019-05-01 15:24:18.000000000 +0000 @@ -1,9 +1,9 @@ #! /bin/sh # test-driver - basic testsuite driver script. -scriptversion=2013-07-13.22; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 2011-2013 Free Software Foundation, Inc. +# Copyright (C) 2011-2018 Free Software Foundation, Inc. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -16,7 +16,7 @@ scriptversion=2013-07-13.22; # UTC # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. +# along with this program. If not, see <https://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -106,11 +106,14 @@ trap "st=143; $do_exit" 15 # Test script is run here. "$@" >$log_file 2>&1 estatus=$? + if test $enable_hard_errors = no && test $estatus -eq 99; then - estatus=1 + tweaked_estatus=1 +else + tweaked_estatus=$estatus fi -case $estatus:$expect_failure in +case $tweaked_estatus:$expect_failure in 0:yes) col=$red res=XPASS recheck=yes gcopy=yes;; 0:*) col=$grn res=PASS recheck=no gcopy=no;; 77:*) col=$blu res=SKIP recheck=no gcopy=yes;; @@ -119,6 +122,12 @@ case $estatus:$expect_failure in *:*) col=$red res=FAIL recheck=yes gcopy=yes;; esac +# Report the test outcome and exit status in the logs, so that one can +# know whether the test passed or failed simply by looking at the '.log' +# file, without the need of also peaking into the corresponding '.trs' +# file (automake bug#11814). +echo "$res $test_name (exit status: $estatus)" >>$log_file + # Report outcome to console. echo "${col}${res}${std}: $test_name" @@ -131,9 +140,9 @@ echo ":copy-in-global-log: $gcopy" >> $t # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End:
  4. Download patch conf/Makefile.am

    --- 0.34.99.1-1/conf/Makefile.am 2017-06-26 07:00:35.000000000 +0000 +++ 1:0.39.0-0ubuntu1/conf/Makefile.am 2019-11-04 17:05:25.000000000 +0000 @@ -3,8 +3,13 @@ CLEANFILES= if HAS_XORG_CONF_DIR dist_config_DATA = 70-wacom.conf else -fdidir = $(datadir)/hal/fdi/policy/20thirdparty -dist_fdi_DATA = wacom.fdi +fdipolicydir = $(datadir)/hal/fdi/policy/20thirdparty +dist_fdipolicy_DATA = wacom.fdi +endif + +if USE_HAL_FDI_PREPROBE_QUIRK +fdipreprobedir = $(datadir)/hal/fdi/preprobe/20thirdparty +dist_fdipreprobe_DATA = wacom-preprobe.fdi endif if HAVE_SYSTEMD_UNIT_DIR
  5. Download patch m4/lt~obsolete.m4

    --- 0.34.99.1-1/m4/lt~obsolete.m4 1970-01-01 00:00:00.000000000 +0000 +++ 1:0.39.0-0ubuntu1/m4/lt~obsolete.m4 2019-05-01 15:24:14.000000000 +0000 @@ -0,0 +1,99 @@ +# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- +# +# Copyright (C) 2004-2005, 2007, 2009, 2011-2018 Free Software +# Foundation, Inc. +# Written by Scott James Remnant, 2004. +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 5 lt~obsolete.m4 + +# These exist entirely to fool aclocal when bootstrapping libtool. +# +# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN), +# which have later been changed to m4_define as they aren't part of the +# exported API, or moved to Autoconf or Automake where they belong. +# +# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN +# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us +# using a macro with the same name in our local m4/libtool.m4 it'll +# pull the old libtool.m4 in (it doesn't see our shiny new m4_define +# and doesn't know about Autoconf macros at all.) +# +# So we provide this file, which has a silly filename so it's always +# included after everything else. This provides aclocal with the +# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything +# because those macros already exist, or will be overwritten later. +# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. +# +# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. +# Yes, that means every name once taken will need to remain here until +# we give up compatibility with versions before 1.7, at which point +# we need to keep only those names which we still refer to. + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) + +m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) +m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) +m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) +m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) +m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) +m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) +m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) +m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) +m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) +m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) +m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) +m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) +m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) +m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) +m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) +m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) +m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) +m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) +m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) +m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) +m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) +m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) +m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) +m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) +m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) +m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) +m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) +m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) +m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) +m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) +m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) +m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) +m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) +m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) +m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) +m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) +m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) +m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) +m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) +m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) +m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) +m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) +m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) +m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) +m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) +m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) +m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) +m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) +m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) +m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) +m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) +m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) +m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) +m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) +m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) +m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) +m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])])
  6. Download patch config.sub
  7. Download patch config.guess
  8. Download patch debian/README.source

    --- 0.34.99.1-1/debian/README.source 1970-01-01 00:00:00.000000000 +0000 +++ 1:0.39.0-0ubuntu1/debian/README.source 2019-10-04 07:23:09.000000000 +0000 @@ -0,0 +1,49 @@ +------------------------------------------------------ +Quick Guide To Patching This Package For The Impatient +------------------------------------------------------ + +1. Make sure you have quilt installed +2. Unpack the package as usual with "dpkg-source -x" +3. Run the "patch" target in debian/rules +4. Create a new patch with "quilt new" (see quilt(1)) +5. Edit all the files you want to include in the patch with "quilt edit" + (see quilt(1)). +6. Write the patch with "quilt refresh" (see quilt(1)) +7. Run the "clean" target in debian/rules + +Alternatively, instead of using quilt directly, you can drop the patch in to +debian/patches and add the name of the patch to debian/patches/series. + +------------------------------------ +Guide To The X Strike Force Packages +------------------------------------ + +The X Strike Force team maintains X packages in git repositories on +git.debian.org in the pkg-xorg subdirectory. Most upstream packages +are actually maintained in git repositories as well, so they often +just need to be pulled into git.debian.org in a "upstream-*" branch. +Otherwise, the upstream sources are manually installed in the Debian +git repository. + +The .orig.tar.gz upstream source file could be generated using this +"upstream-*" branch in the Debian git repository but it is actually +copied from upstream tarballs directly. + +Due to X.org being highly modular, packaging all X.org applications +as their own independent packages would have created too many Debian +packages. For this reason, some X.org applications have been grouped +into larger packages: xutils, xutils-dev, x11-apps, x11-session-utils, +x11-utils, x11-xfs-utils, x11-xkb-utils, x11-xserver-utils. +Most packages, including the X.org server itself and all libraries +and drivers are, however maintained independently. + +The Debian packaging is added by creating the "debian-*" git branch +which contains the aforementioned "upstream-*" branch plus the debian/ +repository files. +When a patch has to be applied to the Debian package, two solutions +are involved: +* If the patch is available in one of the upstream branches, it + may be git'cherry-picked into the Debian repository. In this + case, it appears directly in the .diff.gz. +* Otherwise, the patch is added to debian/patches/ which is managed + with quilt as documented in /usr/share/doc/quilt/README.source.
  9. Download patch version

    --- 0.34.99.1-1/version 1970-01-01 00:00:00.000000000 +0000 +++ 1:0.39.0-0ubuntu1/version 2019-12-23 01:13:40.000000000 +0000 @@ -0,0 +1 @@ +0.39.0
  10. Download patch debian/rules

    --- 0.34.99.1-1/debian/rules 2020-03-11 12:06:19.000000000 +0000 +++ 1:0.39.0-0ubuntu1/debian/rules 2019-10-04 07:23:09.000000000 +0000 @@ -1,99 +1,24 @@ #!/usr/bin/make -f -# (ever more vaguely) Derived from: -# Sample debian/rules that uses debhelper, -# GNU copyright 1997 by Joey Hess. -# Copyright Ron Lee 2003 - 2016 -export DH_OPTIONS - -# These are used for cross-compiling and for saving the configure script -# from having to guess our platform (since we know it already) -DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) -DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) -DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH 2>/dev/null) - - -objdir = objs -package = xserver-xorg-input-wacom - - -clean: - dh_testdir - dh_testroot - $(RM) -r $(objdir) - rm -f *-stamp - dh_clean - - -$(objdir)/config.status: configure - dh_testdir - mkdir -p $(objdir) - cd $(objdir) && ../configure --disable-maintainer-mode \ - --host=$(DEB_HOST_GNU_TYPE) \ - --build=$(DEB_BUILD_GNU_TYPE) \ - --prefix=/usr \ - --with-systemd-unit-dir=/lib/systemd/system \ - --with-udev-rules-dir=/lib/udev/rules.d - -build: build-arch - -build-arch: build-arch-stamp -build-arch-stamp: $(objdir)/config.status - dh_testdir - cd $(objdir) && $(MAKE) - touch $@ - -build-indep: - - -install: install-arch - -install-arch: XDEP = $(shell cat /usr/share/xserver-xorg/xinputdep) -install-arch: XSUB = debian/$(package).substvars -install-arch: DH_OPTIONS = -p$(package) -install-arch: build-arch -install-arch: - dh_testdir - dh_testroot - dh_clean -k - - cd $(objdir) && $(MAKE) install DESTDIR=$(CURDIR)/debian/$(package) - mv debian/$(package)/lib/udev/rules.d/wacom.rules \ - debian/$(package)/lib/udev/rules.d/69-wacom.rules - $(RM) debian/$(package)/usr/lib/xorg/modules/input/*.la - -ifneq (,$(DEB_HOST_MULTIARCH)) - mkdir -p debian/$(package)/usr/lib/$(DEB_HOST_MULTIARCH) - mv debian/$(package)/usr/lib/pkgconfig \ - debian/$(package)/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig -endif - - echo "xinpdriver:Depends=$(XDEP)" > $(XSUB) - echo "xinpdriver:Provides=xorg-driver-input" >> $(XSUB) - -install-indep: - - -binary: binary-arch - -binary-arch: DH_OPTIONS = -a -binary-arch: install-arch - dh_testdir - dh_testroot - dh_installdocs - dh_installchangelogs - dh_strip - dh_compress - dh_fixperms - dh_installdeb - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb - -binary-indep: - - -.PHONY: clean build build-arch build-indep install install-arch install-indep \ - binary binary-arch binary-indep +override_dh_auto_configure: + dh_auto_configure -- \ + --with-udev-rules-dir=/lib/udev/rules.d \ + --with-xorg-module-dir=/usr/lib/xorg/modules \ + --with-systemd-unit-dir=/lib/systemd/system + +override_dh_auto_install: + dh_auto_install \ + --destdir=debian/tmp + +override_dh_install: + find debian/tmp -name '*.la' -delete + mv $(CURDIR)/debian/tmp/lib/udev/rules.d/wacom.rules \ + $(CURDIR)/debian/tmp/lib/udev/rules.d/69-wacom.rules + dh_install --fail-missing + +# That's a plugin, use appropriate warning level: +override_dh_shlibdeps: + dh_shlibdeps -- --warnings=6 +%: + dh $@ --with quilt,autoreconf,xsf
  11. Download patch debian/xserver-xorg-input-wacom.install

    --- 0.34.99.1-1/debian/xserver-xorg-input-wacom.install 1970-01-01 00:00:00.000000000 +0000 +++ 1:0.39.0-0ubuntu1/debian/xserver-xorg-input-wacom.install 2019-10-04 07:23:09.000000000 +0000 @@ -0,0 +1,8 @@ +lib/systemd/system +lib/udev/rules.d/69-wacom.rules +usr/bin +usr/include +usr/lib/*/pkgconfig +usr/lib/xorg/modules/input/*.so +usr/share/man +usr/share/X11
  12. Download patch src/wcmTouchFilter.c
  13. Download patch include/Makefile.in

    --- 0.34.99.1-1/include/Makefile.in 2017-06-26 07:00:35.000000000 +0000 +++ 1:0.39.0-0ubuntu1/include/Makefile.in 2019-12-20 18:42:41.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2013 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -15,7 +15,17 @@ @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -79,8 +89,6 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = include -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(sdk_HEADERS) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ @@ -88,6 +96,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/l $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(sdk_HEADERS) $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -159,6 +168,7 @@ am__define_uniq_tagged_files = \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags +am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ @@ -200,6 +210,7 @@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ GREP = @GREP@ +HAL_SET_PROPERTY = @HAL_SET_PROPERTY@ HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ @@ -216,7 +227,9 @@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ LN_S = @LN_S@ +LSHAL = @LSHAL@ LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ @@ -328,14 +341,13 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign include/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign include/Makefile -.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -426,7 +438,10 @@ cscopelist-am: $(am__tagged_files) distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -574,6 +589,8 @@ uninstall-am: uninstall-sdkHEADERS mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am uninstall-sdkHEADERS +.PRECIOUS: Makefile + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded.
  14. Download patch debian/compat

    --- 0.34.99.1-1/debian/compat 2020-03-11 12:06:19.000000000 +0000 +++ 1:0.39.0-0ubuntu1/debian/compat 2019-10-04 07:23:09.000000000 +0000 @@ -1 +1 @@ -6 +9
  15. Download patch install-sh
  16. Download patch debian/control

    --- 0.34.99.1-1/debian/control 2020-03-11 12:06:19.000000000 +0000 +++ 1:0.39.0-0ubuntu1/debian/control 2019-11-21 16:13:23.000000000 +0000 @@ -1,23 +1,32 @@ Source: xf86-input-wacom Section: x11 Priority: optional -Maintainer: Ron Lee <ron@debian.org> -Build-Depends: debhelper (>= 6.0.7), pkg-config, libudev-dev, xutils-dev, - xserver-xorg-dev (>= 2:1.9.4), libx11-dev, libxi-dev, - libxrandr-dev, libxinerama-dev -Standards-Version: 4.0.0.1 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +XSBC-Original-Maintainer: Ron Lee <ron@debian.org> +Build-Depends: debhelper (>= 9), + dh-autoreconf, + pkg-config, + xutils-dev, + xserver-xorg-dev (>= 2:1.11), + libxi-dev, + libxrandr-dev, + quilt, + libudev-dev, + libxinerama-dev, +Standards-Version: 3.9.6 Homepage: http://linuxwacom.sf.net -Vcs-Git: git://git.debian.org/users/ron/xf86-input-wacom.git -Vcs-Browser: http://git.debian.org/?p=users/ron/xf86-input-wacom.git +Vcs-Git: git://git.launchpad.net/~ubuntu-x-swat/xf86-input-wacom.git +Vcs-Browser: https://git.launchpad.net/~ubuntu-x-swat/xf86-input-wacom Package: xserver-xorg-input-wacom Section: x11 Architecture: any -Depends: ${xinpdriver:Depends}, ${shlibs:Depends} +Depends: ${xinpdriver:Depends}, + ${shlibs:Depends}, + ${misc:Depends}, Suggests: xinput Provides: ${xinpdriver:Provides} Replaces: wacom-tools (<< 0.10.0) Conflicts: wacom-tools (<< 0.10.0) Description: X.Org X server -- Wacom input driver This package provides the X.Org driver for Wacom tablet devices. -
  17. Download patch conf/Makefile.in
  18. Download patch test/Makefile.in
  19. Download patch ChangeLog
  20. Download patch configure.ac

    --- 0.34.99.1-1/configure.ac 2017-06-26 07:00:35.000000000 +0000 +++ 1:0.39.0-0ubuntu1/configure.ac 2019-12-20 18:42:22.000000000 +0000 @@ -23,12 +23,13 @@ # Initialize Autoconf AC_PREREQ([2.60]) AC_INIT([xf86-input-wacom], - [0.34.99.1], + [0.39.0], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xf86-input-wacom]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_HEADERS([config.h]) +AH_BOTTOM([#include "config-ver.h"]) # Initialize Automake AM_INIT_AUTOMAKE([foreign dist-bzip2 no-dist-gzip]) @@ -106,6 +107,21 @@ AC_ARG_WITH([xorg-conf-dir], AC_SUBST(configdir) AM_CONDITIONAL(HAS_XORG_CONF_DIR, [test "x$configdir" != "x"]) +AC_ARG_ENABLE(hal-fdi-preprobe-quirk, AS_HELP_STRING([--enable-hal-fdi-preprobe-quirk], + [Install HAL workaround for devices with unsupported EV_SW events (default: auto)]), + [USE_HAL_FDI_PREPROBE_QUIRK=$enableval], + [USE_HAL_FDI_PREPROBE_QUIRK=auto]) +if test "x$USE_HAL_FDI_PREPROBE_QUIRK" = xauto ; then + AC_CHECK_PROG([LSHAL], [lshal], [yes], [no]) + AC_CHECK_PROG([HAL_SET_PROPERTY], [hal-set-property], [yes], [no]) + AS_IF([test "x$LSHAL" = "xyes" -a "x$HAL_SET_PROPERTY" = "xyes"], + [USE_HAL_FDI_PREPROBE_QUIRK=yes], + [USE_HAL_FDI_PREPROBE_QUIRK=no]) +fi +AC_MSG_CHECKING([if HAL preprobe quirk should be installed]) +AC_MSG_RESULT($USE_HAL_FDI_PREPROBE_QUIRK) +AM_CONDITIONAL(USE_HAL_FDI_PREPROBE_QUIRK, [test "x$USE_HAL_FDI_PREPROBE_QUIRK" = xyes]) + AC_ARG_ENABLE(fuzz-interface, AS_HELP_STRING([--enable-fuzz-interface], [Enable xsetwacom to take NUL-separated commands from stdin (default: no)]), [FUZZINTERFACE=$enableval],
  21. Download patch src/wcmValidateDevice.c

    --- 0.34.99.1-1/src/wcmValidateDevice.c 2017-06-26 07:00:35.000000000 +0000 +++ 1:0.39.0-0ubuntu1/src/wcmValidateDevice.c 2019-12-19 19:11:38.000000000 +0000 @@ -199,9 +199,23 @@ int wcmDeviceTypeKeys(InputInfoPtr pInfo { case 0xF8: /* Cintiq 24HDT */ case 0xF4: /* Cintiq 24HD */ - TabletSetFeature(priv->common, WCM_DUALRING | WCM_LCD); + TabletSetFeature(priv->common, WCM_DUALRING); /* fall through */ + case 0x34D: /* MobileStudio Pro 13 */ + case 0x34E: /* MobileStudio Pro 16 */ + case 0x398: /* MobileStudio Pro 13 */ + case 0x399: /* MobileStudio Pro 16 */ + case 0x3AA: /* MobileStudio Pro 16 */ + TabletSetFeature(priv->common, WCM_LCD); + /* fall through */ + + case 0x357: /* Intuos Pro 2 M */ + case 0x358: /* Intuos Pro 2 L */ + case 0x360: /* Intuos Pro 2 M (Bluetooth) */ + case 0x36a: /* Intuos Pro 2 L (Bluetooth) */ + case 0x392: /* Intuos Pro 2 S */ + case 0x393: /* Intuos Pro 2 S (Bluetooth) */ case 0x314: /* Intuos Pro S */ case 0x315: /* Intuos Pro M */ case 0x317: /* Intuos Pro L */ @@ -298,25 +312,55 @@ int wcmDeviceTypeKeys(InputInfoPtr pInfo case 0xED: /* TPC with 1FGT */ case 0x90: /* TPC */ case 0x97: /* TPC */ + case 0x9F: /* TPC */ case 0xEF: /* TPC */ TabletSetFeature(priv->common, WCM_TPC); break; - case 0x9F: + case 0x304:/* Cintiq 13HD */ + case 0x307:/* Cintiq Companion Hybrid */ + case 0x30A:/* Cintiq Companion */ + case 0x325:/* Cintiq Companion 2 */ + case 0x32A:/* Cintiq 27QHD */ + case 0x32B:/* Cintiq 27QHDT Pen */ + case 0x333:/* Cintiq 13HDT Pen */ + case 0x34F:/* Cintiq Pro 13 FHD */ + case 0x350:/* Cintiq Pro 16 UHD */ + case 0x351:/* Cintiq Pro 24 */ + case 0x352:/* Cintiq Pro 32 */ + case 0x37C:/* Cintiq Pro 24 Pen-Only */ + case 0x390:/* Cintiq 16 */ + TabletSetFeature(priv->common, WCM_ROTATION); + /* fall-through */ + case 0xF6: /* Cintiq 24HDT Touch */ case 0x57: /* DTK2241 */ case 0x59: /* DTH2242 Pen */ case 0x5D: /* DTH2242 Touch */ case 0x5E: /* Cintiq 22HDT Touch */ - case 0x304:/* Cintiq 13HD */ + case 0x309:/* Cintiq Companion Hybrid Touch */ + case 0x30C:/* Cintiq Companion Touch */ + case 0x326:/* Cintiq Companion 2 Touch */ + case 0x32C:/* Cintiq 27QHDT Touch */ + case 0x32F:/* DTU-1031X */ + case 0x335:/* Cintiq 13HDT Touch */ + case 0x336:/* DTU-1141 */ + case 0x343:/* DTK-1651 */ case 0x34A:/* MobileStudio Pro 13 Touch */ case 0x34B:/* MobileStudio Pro 16 Touch */ - case 0x34D:/* MobileStudio Pro 13 */ - case 0x34E:/* MobileStudio Pro 13 */ - case 0x34F:/* Cintiq Pro 13 FHD */ - case 0x350:/* Cintiq Pro 16 UHD */ case 0x353:/* Cintiq Pro 13 FHD Touch */ case 0x354:/* Cintiq Pro 13 UHD Touch */ + case 0x355:/* Cintiq Pro 24 Touch */ + case 0x356:/* Cintiq Pro 32 Touch */ + case 0x359:/* DTU-1141B */ + case 0x35A:/* DTH-1152*/ + case 0x368:/* DTH-1152 Touch */ + case 0x382:/* DTK-2451 */ + case 0x37D:/* DTH-2452 */ + case 0x37E:/* DTH-2452 Touch */ + case 0x39A:/* MobileStudio Pro 13 Touch */ + case 0x39B:/* MobileStudio Pro 16 Touch */ + case 0x3AC:/* MobileStudio Pro 16 Touch */ TabletSetFeature(priv->common, WCM_LCD); break; } @@ -884,13 +928,15 @@ Bool wcmPreInitParseOptions(InputInfoPtr if (wcmParseSerials (pInfo) != 0) goto error; - if (IsCursor(priv)) + if (IsTablet(priv)) { - common->wcmCursorProxoutDist = xf86SetIntOption(pInfo->options, "CursorProx", 0); - if (common->wcmCursorProxoutDist < 0 || - common->wcmCursorProxoutDist > common->wcmMaxDist) - xf86Msg(X_CONFIG, "%s: CursorProx invalid %d \n", - pInfo->name, common->wcmCursorProxoutDist); + const char *prop = IsCursor(priv) ? "CursorProx" : "StylusProx"; + priv->wcmProxoutDist = xf86SetIntOption(pInfo->options, prop, 0); + if (priv->wcmProxoutDist < 0 || + priv->wcmProxoutDist > common->wcmMaxDist) + xf86Msg(X_CONFIG, "%s: %s invalid %d \n", + pInfo->name, prop, priv->wcmProxoutDist); + priv->wcmSurfaceDist = -1; } priv->topX = xf86SetIntOption(pInfo->options, "TopX", 0); @@ -902,6 +948,9 @@ Bool wcmPreInitParseOptions(InputInfoPtr tool = priv->tool; tool->serial = priv->serial; + common->wcmPanscrollThreshold = xf86SetIntOption(pInfo->options, "PanScrollThreshold", + common->wcmPanscrollThreshold); + /* The first device doesn't need to add any tools/areas as it * will be the first anyway. So if different, add tool * and/or area to the existing lists @@ -972,13 +1021,10 @@ Bool wcmPreInitParseOptions(InputInfoPtr if (TabletHasFeature(common, WCM_2FGT)) { int gesture_is_on; - - /* GestureDefault was off for all devices - * except when multi-touch is supported */ - common->wcmGestureDefault = 1; + Bool gesture_default = TabletHasFeature(priv->common, WCM_LCD) ? FALSE : TRUE; gesture_is_on = xf86SetBoolOption(pInfo->options, "Gesture", - common->wcmGestureDefault); + gesture_default); if (is_primary || IsTouch(priv)) common->wcmGesture = gesture_is_on; @@ -1021,11 +1067,11 @@ error: return FALSE; } -/* The values were based on trail and error. */ -#define WCM_BAMBOO3_MAXX 4096.0 -#define WCM_BAMBOO3_ZOOM_DISTANCE 180.0 -#define WCM_BAMBOO3_SCROLL_DISTANCE 80.0 -#define WCM_BAMBOO3_SCROLL_SPREAD_DISTANCE 350.0 +/* The values were based on trial and error with a 3rd-gen Bamboo */ +#define WCM_DEFAULT_MM_XRES (27.8 * 1000) +#define WCM_DEFAULT_MM_YRES (44.5 * 1000) +#define WCM_ZOOM_DISTANCE_MM 6.5 +#define WCM_SCROLL_DISTANCE_MM 1.8 /** * Parse post-init options for this device. Useful for overriding HW @@ -1052,10 +1098,10 @@ Bool wcmPostInitParseOptions(InputInfoPt /* 2FG touch device */ if (TabletHasFeature(common, WCM_2FGT) && IsTouch(priv)) { - int zoom_distance = common->wcmMaxTouchX * - (WCM_BAMBOO3_ZOOM_DISTANCE / WCM_BAMBOO3_MAXX); - int scroll_distance = common->wcmMaxTouchX * - (WCM_BAMBOO3_SCROLL_DISTANCE / WCM_BAMBOO3_MAXX); + int x_res = common->wcmTouchResolX ? common->wcmTouchResolX : WCM_DEFAULT_MM_XRES; + int y_res = common->wcmTouchResolY ? common->wcmTouchResolY : WCM_DEFAULT_MM_YRES; + int zoom_distance = WCM_ZOOM_DISTANCE_MM * x_res / 1000; + int scroll_distance = WCM_SCROLL_DISTANCE_MM * y_res / 1000; common->wcmGestureParameters.wcmZoomDistance = xf86SetIntOption(pInfo->options, "ZoomDistance", @@ -1064,10 +1110,6 @@ Bool wcmPostInitParseOptions(InputInfoPt common->wcmGestureParameters.wcmScrollDistance = xf86SetIntOption(pInfo->options, "ScrollDistance", scroll_distance); - - common->wcmGestureParameters.wcmMaxScrollFingerSpread = - common->wcmMaxTouchX * - (WCM_BAMBOO3_SCROLL_SPREAD_DISTANCE / WCM_BAMBOO3_MAXX); }
  22. Download patch src/wcmUSB.c
  23. Download patch release.sh
  24. Download patch missing

    --- 0.34.99.1-1/missing 2017-06-26 07:00:35.000000000 +0000 +++ 1:0.39.0-0ubuntu1/missing 2019-05-01 15:24:17.000000000 +0000 @@ -1,9 +1,9 @@ #! /bin/sh # Common wrapper for a few potentially missing GNU programs. -scriptversion=2013-10-28.13; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1996-2013 Free Software Foundation, Inc. +# Copyright (C) 1996-2018 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. # This program is free software; you can redistribute it and/or modify @@ -17,7 +17,7 @@ scriptversion=2013-10-28.13; # UTC # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. +# along with this program. If not, see <https://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -101,9 +101,9 @@ else exit $st fi -perl_URL=http://www.perl.org/ -flex_URL=http://flex.sourceforge.net/ -gnu_software_URL=http://www.gnu.org/software +perl_URL=https://www.perl.org/ +flex_URL=https://github.com/westes/flex +gnu_software_URL=https://www.gnu.org/software program_details () { @@ -207,9 +207,9 @@ give_advice "$1" | sed -e '1s/^/WARNING: exit $st # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End:
  25. Download patch m4/ltsugar.m4

    --- 0.34.99.1-1/m4/ltsugar.m4 1970-01-01 00:00:00.000000000 +0000 +++ 1:0.39.0-0ubuntu1/m4/ltsugar.m4 2019-05-01 15:24:14.000000000 +0000 @@ -0,0 +1,124 @@ +# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- +# +# Copyright (C) 2004-2005, 2007-2008, 2011-2018 Free Software +# Foundation, Inc. +# Written by Gary V. Vaughan, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# serial 6 ltsugar.m4 + +# This is to help aclocal find these macros, as it can't see m4_define. +AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) + + +# lt_join(SEP, ARG1, [ARG2...]) +# ----------------------------- +# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their +# associated separator. +# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier +# versions in m4sugar had bugs. +m4_define([lt_join], +[m4_if([$#], [1], [], + [$#], [2], [[$2]], + [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) +m4_define([_lt_join], +[m4_if([$#$2], [2], [], + [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) + + +# lt_car(LIST) +# lt_cdr(LIST) +# ------------ +# Manipulate m4 lists. +# These macros are necessary as long as will still need to support +# Autoconf-2.59, which quotes differently. +m4_define([lt_car], [[$1]]) +m4_define([lt_cdr], +[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], + [$#], 1, [], + [m4_dquote(m4_shift($@))])]) +m4_define([lt_unquote], $1) + + +# lt_append(MACRO-NAME, STRING, [SEPARATOR]) +# ------------------------------------------ +# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'. +# Note that neither SEPARATOR nor STRING are expanded; they are appended +# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). +# No SEPARATOR is output if MACRO-NAME was previously undefined (different +# than defined and empty). +# +# This macro is needed until we can rely on Autoconf 2.62, since earlier +# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. +m4_define([lt_append], +[m4_define([$1], + m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) + + + +# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) +# ---------------------------------------------------------- +# Produce a SEP delimited list of all paired combinations of elements of +# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list +# has the form PREFIXmINFIXSUFFIXn. +# Needed until we can rely on m4_combine added in Autoconf 2.62. +m4_define([lt_combine], +[m4_if(m4_eval([$# > 3]), [1], + [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl +[[m4_foreach([_Lt_prefix], [$2], + [m4_foreach([_Lt_suffix], + ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, + [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) + + +# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) +# ----------------------------------------------------------------------- +# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited +# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. +m4_define([lt_if_append_uniq], +[m4_ifdef([$1], + [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], + [lt_append([$1], [$2], [$3])$4], + [$5])], + [lt_append([$1], [$2], [$3])$4])]) + + +# lt_dict_add(DICT, KEY, VALUE) +# ----------------------------- +m4_define([lt_dict_add], +[m4_define([$1($2)], [$3])]) + + +# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) +# -------------------------------------------- +m4_define([lt_dict_add_subkey], +[m4_define([$1($2:$3)], [$4])]) + + +# lt_dict_fetch(DICT, KEY, [SUBKEY]) +# ---------------------------------- +m4_define([lt_dict_fetch], +[m4_ifval([$3], + m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), + m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) + + +# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) +# ----------------------------------------------------------------- +m4_define([lt_if_dict_fetch], +[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], + [$5], + [$6])]) + + +# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) +# -------------------------------------------------------------- +m4_define([lt_dict_filter], +[m4_if([$5], [], [], + [lt_join(m4_quote(m4_default([$4], [[, ]])), + lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), + [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl +])
  26. Download patch m4/libtool.m4
  27. Download patch src/xf86Wacom.c

    --- 0.34.99.1-1/src/xf86Wacom.c 2017-06-26 07:00:35.000000000 +0000 +++ 1:0.39.0-0ubuntu1/src/xf86Wacom.c 2019-11-04 17:05:25.000000000 +0000 @@ -632,7 +632,8 @@ static void wcmDevReadInput(InputInfoPtr if (!wcmReady(pInfo)) break; /* dispatch */ - wcmReadPacket(pInfo); + if (!wcmReadPacket(pInfo)) + break; } #ifdef DEBUG @@ -649,7 +650,7 @@ static void wcmDevReadInput(InputInfoPtr #endif } -void wcmReadPacket(InputInfoPtr pInfo) +Bool wcmReadPacket(InputInfoPtr pInfo) { WacomDevicePtr priv = (WacomDevicePtr)pInfo->private; WacomCommonPtr common = priv->common; @@ -672,7 +673,10 @@ void wcmReadPacket(InputInfoPtr pInfo) if (errno != EAGAIN && errno != EINTR) LogMessageVerbSigSafe(X_ERROR, 0, "%s: Error reading wacom device : %s\n", pInfo->name, strerror(errno)); - return; + if (errno == ENODEV) + xf86RemoveEnabledDevice(pInfo); + + return FALSE; } /* account for new data */ @@ -704,6 +708,8 @@ void wcmReadPacket(InputInfoPtr pInfo) } common->bufpos = len; + + return TRUE; } int wcmDevChangeControl(InputInfoPtr pInfo, xDeviceCtl * control)
  28. Download patch configure
  29. Download patch INSTALL
  30. Download patch autogen.sh

    --- 0.34.99.1-1/autogen.sh 2017-06-26 07:00:35.000000000 +0000 +++ 1:0.39.0-0ubuntu1/autogen.sh 1970-01-01 00:00:00.000000000 +0000 @@ -1,13 +0,0 @@ -#! /bin/sh - -srcdir=`dirname $0` -test -z "$srcdir" && srcdir=. - -ORIGDIR=`pwd` -cd $srcdir - -autoreconf -v --install --force || exit 1 -rm -rf autom4te.cache m4 -cd $ORIGDIR || exit $? - -#$srcdir/configure "$@"
  31. Download patch src/xf86Wacom.h

    --- 0.34.99.1-1/src/xf86Wacom.h 2017-06-26 07:00:35.000000000 +0000 +++ 1:0.39.0-0ubuntu1/src/xf86Wacom.h 2019-11-04 17:05:25.000000000 +0000 @@ -120,7 +120,7 @@ char *wcmEventAutoDevProbe (InputInfoPtr int wcmInitTablet(InputInfoPtr pInfo, const char* id, float version); /* standard packet handler */ -void wcmReadPacket(InputInfoPtr pInfo); +Bool wcmReadPacket(InputInfoPtr pInfo); /* handles suppression, filtering, and dispatch. */ void wcmEvent(WacomCommonPtr common, unsigned int channel, const WacomDeviceState* ds);
  32. Download patch man/Makefile.in

    --- 0.34.99.1-1/man/Makefile.in 2017-06-26 07:00:35.000000000 +0000 +++ 1:0.39.0-0ubuntu1/man/Makefile.in 2019-12-20 18:42:41.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2013 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -40,7 +40,17 @@ # VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -104,7 +114,6 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = man -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ @@ -112,6 +121,7 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/l $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = @@ -166,6 +176,7 @@ am__installdirs = "$(DESTDIR)$(driverman "$(DESTDIR)$(xsetwacommandir)" DATA = $(driverman_DATA) $(xsetwacomman_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +am__DIST_COMMON = $(srcdir)/Makefile.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ @@ -207,6 +218,7 @@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ GREP = @GREP@ +HAL_SET_PROPERTY = @HAL_SET_PROPERTY@ HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ @@ -223,7 +235,9 @@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ LN_S = @LN_S@ +LSHAL = @LSHAL@ LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ @@ -346,14 +360,13 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign man/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign man/Makefile -.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -419,7 +432,10 @@ ctags CTAGS: cscope cscopelist: -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -569,6 +585,8 @@ uninstall-am: uninstall-drivermanDATA un ps ps-am tags-am uninstall uninstall-am \ uninstall-drivermanDATA uninstall-xsetwacommanDATA +.PRECIOUS: Makefile + .man.$(DRIVER_MAN_SUFFIX): $(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
  33. Download patch debian/xserver-xorg-input-wacom.postinst

    --- 0.34.99.1-1/debian/xserver-xorg-input-wacom.postinst 2020-03-11 12:06:19.000000000 +0000 +++ 1:0.39.0-0ubuntu1/debian/xserver-xorg-input-wacom.postinst 1970-01-01 00:00:00.000000000 +0000 @@ -1,22 +0,0 @@ -#!/bin/sh -set -e - -# dh_installudev left this orphaned when the udev rules location changed, -# so remove it now if it remains unchanged by the local admin. See #565126. - -OLD_RULES=/etc/udev/rules.d/z60_xserver-xorg-input-wacom.rules - -if [ -f $OLD_RULES ]; -then - OLD_HASH=$(dpkg-query -W -f='${Conffiles}' xserver-xorg-input-wacom 2>/dev/null | - awk '$1 == "'$OLD_RULES'" { print $2 }') - - if [ -n "$OLD_HASH" ] && [ "$(md5sum $OLD_RULES | cut -d' ' -f1)" = "$OLD_HASH" ]; - then - rm -f $OLD_RULES - fi -fi - - -#DEBHELPER# -
  34. Download patch debian/watch

    --- 0.34.99.1-1/debian/watch 1970-01-01 00:00:00.000000000 +0000 +++ 1:0.39.0-0ubuntu1/debian/watch 2019-10-04 07:23:09.000000000 +0000 @@ -0,0 +1,4 @@ +version=4 + +https://github.com/linuxwacom/xf86-input-wacom/releases \ + (?:.*?/)xf86-input-wacom-(\d[\d.]*)\.tar\.bz2
  35. Download patch src/xf86WacomDefs.h

    --- 0.34.99.1-1/src/xf86WacomDefs.h 2017-06-26 07:00:35.000000000 +0000 +++ 1:0.39.0-0ubuntu1/src/xf86WacomDefs.h 2019-12-19 19:11:38.000000000 +0000 @@ -93,6 +93,12 @@ #define ABS_MT_SLOT 0x2f #endif +/* 4.15 */ + +#ifndef BTN_STYLUS3 +#define BTN_STYLUS3 0x149 +#endif + /****************************************************************************** * Forward Declarations *****************************************************************************/ @@ -163,12 +169,14 @@ struct _WacomModel always an LCD) */ #define WCM_PENTOUCH 0x00000400 /* Tablet supports pen and touch */ #define WCM_DUALRING 0x00000800 /* Tablet has two touch rings */ +#define WCM_LEGACY_IDS 0x00001000 /* Tablet uses legacy device IDs */ #define TabletHasFeature(common, feature) MaskIsSet((common)->tablet_type, (feature)) #define TabletSetFeature(common, feature) MaskSet((common)->tablet_type, (feature)) #define ABSOLUTE_FLAG 0x00000100 #define BAUD_19200_FLAG 0x00000400 #define BUTTONS_ONLY_FLAG 0x00000800 +#define SCROLLMODE_FLAG 0x00001000 #define IsCursor(priv) (DEVICE_ID((priv)->flags) == CURSOR_ID) #define IsStylus(priv) (DEVICE_ID((priv)->flags) == STYLUS_ID) @@ -282,6 +290,7 @@ struct _WacomDeviceRec WacomCommonPtr common; /* common info pointer */ /* state fields in device coordinates */ + struct _WacomDeviceState wcmPanscrollState; /* panscroll state tracking */ struct _WacomDeviceState oldState; /* previous state information */ int oldCursorHwProx; /* previous cursor hardware proximity */ @@ -290,6 +299,8 @@ struct _WacomDeviceRec int nPressCtrl[4]; /* control points for curve */ int minPressure; /* the minimum pressure a pen may hold */ int oldMinPressure; /* to record the last minPressure before going out of proximity */ + int wcmSurfaceDist; /* Distance reported by hardware when tool at surface */ + int wcmProxoutDist; /* Distance from surface when proximity-out should be triggered */ unsigned int eventCnt; /* count number of events while in proximity */ int maxRawPressure; /* maximum 'raw' pressure seen until first button event */ WacomToolPtr tool; /* The common tool-structure for this device */ @@ -365,7 +376,6 @@ typedef struct { int wcmZoomDistance; /* minimum distance for a zoom touch gesture */ int wcmScrollDistance; /* minimum motion before sending a scroll gesture */ int wcmScrollDirection; /* store the vertical or horizontal bit in use */ - int wcmMaxScrollFingerSpread; /* maximum distance between fingers for scroll gesture */ int wcmGestureUsed; /* retain used gesture count within one in-prox event */ int wcmTapTime; /* minimum time between taps for a right click */ } WacomGesturesParameters; @@ -450,17 +460,15 @@ struct _WacomCommonRec int wcmTouch; /* disable/enable touch event */ int wcmTouchDefault; /* default to disable when not supported */ int wcmGesture; /* disable/enable touch gesture */ - int wcmGestureDefault; /* default touch gesture to disable when not supported */ int wcmGestureMode; /* data is in Gesture Mode? */ WacomDeviceState wcmGestureState[MAX_FINGERS]; /* inital state when in gesture mode */ WacomGesturesParameters wcmGestureParameters; - int wcmMaxCursorDist; /* Max mouse distance reported so far */ - int wcmCursorProxoutDist; /* Max mouse distance for proxy-out max/256 units */ - int wcmCursorProxoutDistDefault; /* Default max mouse distance for proxy-out */ + int wcmProxoutDistDefault; /* Default value for wcmProxoutDist */ int wcmSuppress; /* transmit position on delta > supress */ int wcmRawSample; /* Number of raw data used to filter an event */ int wcmPressureRecalibration; /* Determine if pressure recalibration of worn pens should be performed */ + int wcmPanscrollThreshold; /* distance pen must move to send a panscroll event */ int bufpos; /* position with buffer */ unsigned char buffer[BUFFER_SIZE]; /* data read from device */
  36. Download patch man/xsetwacom.man

    --- 0.34.99.1-1/man/xsetwacom.man 2017-06-26 07:00:35.000000000 +0000 +++ 1:0.39.0-0ubuntu1/man/xsetwacom.man 2019-11-04 17:05:25.000000000 +0000 @@ -100,7 +100,8 @@ of the area defined. Default: 0 0 x2 y \fBButton\fR button-number [mapping] Set a mapping for the specified button-number. Mappings take the form of either a single numeric button or an 'action' to be performed. If no mapping -is provided, the default mapping is restored. +is provided, the default mapping is restored. If button-number is mapped +to 0, the Button event is ignored. Numeric button mappings indicate what X11 button number the given button-number should correspond to. For example, a mapping of "3" means a press of the given @@ -134,6 +135,13 @@ numbers. The "modetoggle" keyword is also recognized; it takes no arguments, and toggles the device mode between relative and absolute pointer tracking. +The "pan" keyword causes the driver to send scroll events while the pen +is dragged. This makes it easy to scroll through lists and documents, +pan around 2D canvases, and zoom in/out of 3D scenes (exact behavior +depends on application interpretation of scrollwheel events). Dragging +the pen up/down will send scrollwheel down/up events; dragging it left/right +will send scrollwheel right/left events. + The events in the action mapping are sent when the physical button is pressed. If the action mapping leaves any buttons or keys pressed (such as a modifier key), they will be released when the physical button is released. @@ -247,9 +255,10 @@ This is a read-only parameter. Initial t kernel when X driver starts. .TP \fBCursorProximity\fR distance -sets the max distance from tablet to stop reporting movement for cursor in -relative mode. Default for Intuos series is 10, for Graphire series (including -Volitos) is 42. Only available for the cursor/puck device. +Set the distance at which a relative tool is treated as being out of proximity. +Beyond this distance the cursor will stop responding to tool motion. The +default value for pucks is 10 (Intuos Pro) or 42 (Intuos/Bamboo). The default +value for pens is 30. .TP \fBThreshold\fR level Set the minimum pressure necessary to generate a Button event for the stylus @@ -273,6 +282,21 @@ initial pressure reading may be unequal good pen. If the consecutive pressure readings are not higher than the initial pressure by a threshold no button event will be generated. This option allows to disable the recalibration. Default: on +.TP +\fBPanScrollThreshold\fR distance +This specifies the distance the pen must move (in tablet units) before +a scroll event is generated when using the "pan" action. Smaller values +will require less distance and be more sensitive. Larger values will +require more distance and be less sensitive. Default: 1300 or 2600 +depending on tablet resolution (corresponds to 13 mm of distance). + +.SH WAYLAND SUPPORT + +This tool provides access to the device properties implemented in the +\fBxf86-input-wacom\fR X server input module. It does not work under a +Wayland compositor as the input module is not active. +.TP +See https://github.com/linuxwacom/xf86-input-wacom/wiki/Wayland for details. .SH "AUTHORS" @@ -283,4 +307,4 @@ __xservername__(__appmansuffix__), __dri xorg.conf(__filemansuffix__), X(__miscmansuffix__) .PP -More information is available at http://linuxwacom.sourceforge.net +More information is available at https://github.com/linuxwacom/xf86-input-wacom
  37. Download patch debian/patches/series

    --- 0.34.99.1-1/debian/patches/series 1970-01-01 00:00:00.000000000 +0000 +++ 1:0.39.0-0ubuntu1/debian/patches/series 2019-11-21 16:03:03.000000000 +0000 @@ -0,0 +1 @@ +#placeholder
  38. Download patch tools/tools-shared.c

    --- 0.34.99.1-1/tools/tools-shared.c 2017-06-26 07:00:35.000000000 +0000 +++ 1:0.39.0-0ubuntu1/tools/tools-shared.c 2019-11-04 17:05:25.000000000 +0000 @@ -55,8 +55,10 @@ int open_device(const char *path) TRACE("Opening device '%s'.\n", path); fd = open(path, O_RDWR | O_NOCTTY); - if (fd < 1) + if (fd < 1) { perror("Failed to open device file"); + goto out; + } if (ioctl(fd, TIOCGSERIAL, &ser) == -1) { @@ -217,7 +219,7 @@ int read_data(int fd, unsigned char* buf TRACE("Reading %d bytes from device.\n", min_len); redo: do { - int l = read(fd, &buffer[len], min_len); + int l = read(fd, &buffer[len], min_len - len); if (l == -1) { if (errno != EAGAIN) {
  39. Download patch README

    --- 0.34.99.1-1/README 2017-06-26 07:00:35.000000000 +0000 +++ 1:0.39.0-0ubuntu1/README 1970-01-01 00:00:00.000000000 +0000 @@ -1,47 +0,0 @@ -This package provides the X.Org X11 driver for Wacom and Wacom-like tablets. -It obsoletes the linuxwacom driver and supports X server versions 1.7 and -higher. Server versions lower than 1.7 may be supported by this driver, but -users are encouraged to use the old linuxwacom driver instead. - -Information about building this driver, configuration and general use is -available on http://linuxwacom.sourceforge.net - -Since this driver is an X11 driver only, a kernel driver is required to get -hardware support. If the kernel driver is older than this driver, some -features may not be available. - -============================================================================== - -BUILDING FROM GIT: - $ ./autogen.sh --prefix=/usr - $ make - -Adjust the prefix according to your local setup, in most cases, a prefix of -/usr is correct. - -BUILDING FROM TARBALL: - - $ ./configure --prefix=/usr - $ make - -Adjust the prefix according to your local setup, in most cases, a prefix of -/usr is correct. - -============================================================================== - -Please surf the HOWTO pages at -http://sourceforge.net/apps/mediawiki/linuxwacom/index.php?title=Category:HOWTO -to find the proper options if the default building environment doesn't work -for you. - -============================================================================== - -Developers, please surf the DeveloperPages at -http://sourceforge.net/apps/mediawiki/linuxwacom/index.php?title=Category:DeveloperPages -to find more information on how to contribute to this driver. - -============================================================================== - - -WEBSITE: http://linuxwacom.sourceforge.net -
  40. Download patch tools/Makefile.am

    --- 0.34.99.1-1/tools/Makefile.am 2017-06-26 07:00:35.000000000 +0000 +++ 1:0.39.0-0ubuntu1/tools/Makefile.am 2019-11-04 17:05:25.000000000 +0000 @@ -28,11 +28,11 @@ shared_sources = tools-shared.h tools-sh isdv4_serial_debugger_SOURCES = isdv4-serial-debugger.c $(shared_sources) isdv4_serial_inputattach_SOURCES = isdv4-serial-inputattach.c $(shared_sources) -isdv4_serial_inputattach_CFLAGS = $(UDEV_CFLAGS) +isdv4_serial_inputattach_CFLAGS = $(AM_CFLAGS) $(UDEV_CFLAGS) isdv4_serial_inputattach_LDADD = $(UDEV_LIBS) xsetwacom_SOURCES = xsetwacom.c -xsetwacom_CFLAGS = $(X11_CFLAGS) +xsetwacom_CFLAGS = $(AM_CFLAGS) $(X11_CFLAGS) xsetwacom_LDADD = $(X11_LIBS) if FUZZINTERFACE @@ -42,7 +42,7 @@ endif if UNITTESTS check_PROGRAMS = xsetwacom-test xsetwacom_test_SOURCES=xsetwacom.c -xsetwacom_test_CFLAGS=-DBUILD_TEST $(X11_CFLAGS) +xsetwacom_test_CFLAGS=-DBUILD_TEST $(AM_CFLAGS) $(X11_CFLAGS) -Wno-error xsetwacom_test_LDADD = $(X11_LIBS) TESTS=$(check_PROGRAMS)
  41. Download patch src/Makefile.in
  42. Download patch man/wacom.man

    --- 0.34.99.1-1/man/wacom.man 2017-06-26 07:00:35.000000000 +0000 +++ 1:0.39.0-0ubuntu1/man/wacom.man 2019-11-04 17:05:25.000000000 +0000 @@ -23,7 +23,7 @@ This driver supports the Wacom IV and Wa need this driver. USB tablet support is available on some Linux platforms and requires the wacom kernel driver being loaded before this driver starts. .PP -Please check http://linuxwacom.sourceforge.net for latest updates of Wacom X +Please check https://github.com/linuxwacom for latest updates of Wacom X and kernel drivers. .SH DRIVER-INTERNAL DEVICE HOTPLUGGING When input device hotplugging in the X server is enabled and no @@ -214,9 +214,10 @@ X server is running, no other programs w stream. Default: "false". .TP 4 .B Option \fI"CursorProx"\fP \fI"number"\fP -sets the max distance from tablet to stop reporting movement for the cursor. -Default for Intuos series is 10, for Graphire series (including Volitos) is -42. Only available for the cursor/puck device. +sets the distance at which a relative tool is treated as being out of proximity. +Beyond this distance the cursor will stop responding to tool motion. The +default value for pucks is 10 (Intuos Pro) or 42 (Intuos/Bamboo). The default +value for pens is 30. .TP 4 .B Option \fI"RawSample"\fP \fI"number"\fP Set the sample window size (a sliding average sampling window) for @@ -277,6 +278,13 @@ initial pressure reading may be unequal good pen. If the consecutive pressure readings are not higher than the initial pressure by a threshold no button event will be generated. This option allows to disable the recalibration. +.TP 4 +.B Option \fI"PanScrollThreshold"\fP \fI"number"\fP +Specifies the distance the pen must move (in tablet units) before a +scroll event is generated when using the "pan" action. Smaller values +will require less distance and be more sensitive. Larger values will +require more distance and be less sensitive. Default: 1300 or 2600 +depending on tablet resolution (corresponds to 13 mm of distance). .RE .SH "TOUCH GESTURES" .SS Single finger (1FG) @@ -328,7 +336,7 @@ basis. __xservername__(__appmansuffix__), xorg.conf(__filemansuffix__), xorg.conf.d(__filemansuffix__), X(__miscmansuffix__) .PP -More information is available at http://linuxwacom.sourceforge.net +More information is available at https://github.com/linuxwacom/xf86-input-wacom .SH AUTHORS Peter Hutterer <peter.hutterer@who-t.net>, Ping Cheng <pingc@wacom.com>,
  43. Download patch include/wacom-properties.h

    --- 0.34.99.1-1/include/wacom-properties.h 2017-06-26 07:00:35.000000000 +0000 +++ 1:0.39.0-0ubuntu1/include/wacom-properties.h 2019-11-04 17:05:25.000000000 +0000 @@ -111,6 +111,9 @@ */ #define WACOM_PROP_PRESSURE_RECAL "Wacom Pressure Recalibration" +/* 32 bit, 1 values */ +#define WACOM_PROP_PANSCROLL_THRESHOLD "Wacom Panscroll Threshold" + /* The following are tool types used by the driver in WACOM_PROP_TOOL_TYPE * or in the 'type' field for XI1 clients. Clients may check for one of * these types to identify tool types.
  44. Download patch compile
  45. Download patch aclocal.m4
  46. Download patch include/Xwacom.h

    --- 0.34.99.1-1/include/Xwacom.h 2017-06-26 07:00:35.000000000 +0000 +++ 1:0.39.0-0ubuntu1/include/Xwacom.h 2019-11-04 17:05:25.000000000 +0000 @@ -60,6 +60,7 @@ #define AC_MODETOGGLE 0x00020000 /* Toggle absolute/relative mode */ #define AC_DBLCLICK 0x00030000 /* DEPRECATED: use two button events instead */ #define AC_DISPLAYTOGGLE 0x00040000 /* DEPRECATED: has no effect (used to toggle among screens) */ +#define AC_PANSCROLL 0x00050000 /* Enter/exit panscroll mode */ #define AC_BUTTON 0x00080000 /* Emit button events */ #define AC_TYPE 0x000f0000 /* The mask to isolate event type bits */ #define AC_KEYBTNPRESS 0x00100000 /* bit set for key/button presses */
  47. Download patch conf/wacom-preprobe.fdi

    --- 0.34.99.1-1/conf/wacom-preprobe.fdi 1970-01-01 00:00:00.000000000 +0000 +++ 1:0.39.0-0ubuntu1/conf/wacom-preprobe.fdi 2019-11-04 17:05:25.000000000 +0000 @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<deviceinfo version="0.2"> + <device> + + <!-- Some Wacom devices (e.g. Cintiq Pro) have an EV_SW event which is + unsupported by HAL. To prevent the input prober from failing + on this event (hal/hald/linux/probing/probe-input.c:79) we + should pretend that it doesn't exist. --> + <match key="info.capabilities" contains="button"> + <match key="info.product" contains_outof="Wacom;WACOM"> + <merge key="button.has_state" type="bool">false</merge> + </match> + </match> + + </device> +</deviceinfo>
  48. Download patch src/wcmFilter.c

    --- 0.34.99.1-1/src/wcmFilter.c 2017-06-26 07:00:35.000000000 +0000 +++ 1:0.39.0-0ubuntu1/src/wcmFilter.c 2019-11-04 17:05:25.000000000 +0000 @@ -276,6 +276,18 @@ static void storeRawSample(WacomCommonPt } } +static int wcmFilterAverage(int *samples, int n) +{ + int x = 0; + int i; + + for (i = 0; i < n; i++) + { + x += samples[i]; + } + return x / n; +} + /***************************************************************************** * wcmFilterCoord -- provide noise correction to all transducers ****************************************************************************/ @@ -283,7 +295,6 @@ static void storeRawSample(WacomCommonPt int wcmFilterCoord(WacomCommonPtr common, WacomChannelPtr pChannel, WacomDeviceStatePtr ds) { - int x=0, y=0, tx=0, ty=0, i; WacomFilterState *state; DBG(10, common, "common->wcmRawSample = %d \n", common->wcmRawSample); @@ -292,30 +303,18 @@ int wcmFilterCoord(WacomCommonPtr common state = &pChannel->rawFilter; - for ( i=0; i<common->wcmRawSample; i++ ) - { - x += state->x[i]; - y += state->y[i]; - if (HANDLE_TILT(common) && (ds->device_type == STYLUS_ID || - ds->device_type == ERASER_ID)) - { - tx += state->tiltx[i]; - ty += state->tilty[i]; - } - } - ds->x = x / common->wcmRawSample; - ds->y = y / common->wcmRawSample; - + ds->x = wcmFilterAverage(state->x, common->wcmRawSample); + ds->y = wcmFilterAverage(state->y, common->wcmRawSample); if (HANDLE_TILT(common) && (ds->device_type == STYLUS_ID || ds->device_type == ERASER_ID)) { - ds->tiltx = tx / common->wcmRawSample; + ds->tiltx = wcmFilterAverage(state->tiltx, common->wcmRawSample); if (ds->tiltx > common->wcmTiltMaxX) ds->tiltx = common->wcmTiltMaxX; else if (ds->tiltx < common->wcmTiltMinX) ds->tiltx = common->wcmTiltMinX; - ds->tilty = ty / common->wcmRawSample; + ds->tilty = wcmFilterAverage(state->tilty, common->wcmRawSample); if (ds->tilty > common->wcmTiltMaxY) ds->tilty = common->wcmTiltMaxY; else if (ds->tilty < common->wcmTiltMinY)
  49. Download patch m4/ltoptions.m4
  50. Download patch conf/70-wacom.conf

    --- 0.34.99.1-1/conf/70-wacom.conf 2017-06-26 07:00:35.000000000 +0000 +++ 1:0.39.0-0ubuntu1/conf/70-wacom.conf 2019-11-04 17:05:25.000000000 +0000 @@ -101,3 +101,30 @@ Section "InputClass" Driver "wacom" Option "Button2" "3" EndSection + +# Dell Canvas 27 (touch part is an Advanced Silicon, pen part a Wacom) +Section "InputClass" + Identifier "Dell Canvas 27 Touch" + MatchUSBID "2575:0204" + MatchDevicePath "/dev/input/event*" + MatchIsTouchscreen "true" + Driver "wacom" +EndSection + +# Surface Go +Section "InputClass" + Identifier "SurfaceGo Touch" + MatchProduct "ELAN9038:00 04F3:261A" + MatchDevicePath "/dev/input/event*" + Driver "wacom" +EndSection + +# Nuvision Solo 10 Draw (Supports Surface Pens) +Section "InputClass" + Identifier "Nuvision Solo 10 Draw" + MatchProduct "04F3200A:00 04F3:22F7" + MatchDevicePath "/dev/input/event*" + Driver "wacom" +EndSection + +
  51. Download patch Makefile.am

    --- 0.34.99.1-1/Makefile.am 2017-06-26 07:00:35.000000000 +0000 +++ 1:0.39.0-0ubuntu1/Makefile.am 2019-11-04 17:05:25.000000000 +0000 @@ -24,13 +24,16 @@ DISTCHECK_CONFIGURE_FLAGS = --with-sdkdi SUBDIRS = conf doc src man include tools test MAINTAINERCLEANFILES = ChangeLog INSTALL +BUILT_SOURCES = config-ver.h +CLEANFILES = config-ver.h pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = xorg-wacom.pc -EXTRA_DIST = GPL +EXTRA_DIST = GPL \ + version -.PHONY: ChangeLog INSTALL +.PHONY: ChangeLog INSTALL FORCE INSTALL: $(INSTALL_CMD) @@ -39,3 +42,12 @@ ChangeLog: $(CHANGELOG_CMD) dist-hook: ChangeLog INSTALL + +config-ver.h: version + if ! grep -qs "^#define BUILD_VERSION \"$$(cat version)\"$$" "$@"; then \ + sed -i '/^#define BUILD_VERSION /d' "$@" 2>/dev/null; \ + echo "#define BUILD_VERSION \"$$(cat version | tr -d '\n')\"" >> "$@"; \ + fi + +version: FORCE + if test -x $(srcdir)/git-version-gen; then $(srcdir)/git-version-gen -u; fi
  52. Download patch tools/Makefile.in
  53. Download patch m4/ltversion.m4

    --- 0.34.99.1-1/m4/ltversion.m4 1970-01-01 00:00:00.000000000 +0000 +++ 1:0.39.0-0ubuntu1/m4/ltversion.m4 2019-05-01 15:24:14.000000000 +0000 @@ -0,0 +1,23 @@ +# ltversion.m4 -- version numbers -*- Autoconf -*- +# +# Copyright (C) 2004, 2011-2018 Free Software Foundation, Inc. +# Written by Scott James Remnant, 2004 +# +# This file is free software; the Free Software Foundation gives +# unlimited permission to copy and/or distribute it, with or without +# modifications, as long as this notice is preserved. + +# @configure_input@ + +# serial 4221 ltversion.m4 +# This file is part of GNU Libtool + +m4_define([LT_PACKAGE_VERSION], [2.4.6.42-b88ce]) +m4_define([LT_PACKAGE_REVISION], [2.4.6.42]) + +AC_DEFUN([LTVERSION_VERSION], +[macro_version='2.4.6.42-b88ce' +macro_revision='2.4.6.42' +_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) +_LT_DECL(, macro_revision, 0) +])
  54. Download patch src/wcmConfig.c

    --- 0.34.99.1-1/src/wcmConfig.c 2017-06-26 07:00:35.000000000 +0000 +++ 1:0.39.0-0ubuntu1/src/wcmConfig.c 2019-11-04 17:05:25.000000000 +0000 @@ -492,6 +492,12 @@ static Bool wcmLinkTouchAndPen(InputInfo WacomCommonPtr tmpcommon = NULL; WacomDevicePtr tmppriv = NULL; + if (IsPad(priv)) + { + DBG(4, priv, "No need to link up pad devices.\n"); + return FALSE; + } + /* Lookup to find the associated pen and touch */ for (; device != NULL; device = device->next) { @@ -504,7 +510,7 @@ static Bool wcmLinkTouchAndPen(InputInfo DBG(4, priv, "Considering link with %s...\n", tmppriv->name); /* already linked devices */ - if (tmpcommon->wcmTouchDevice && IsTablet(tmppriv)) + if (tmpcommon->wcmTouchDevice) { DBG(4, priv, "A link is already in place. Ignoring.\n"); continue; @@ -738,6 +744,7 @@ static pointer wcmPlug(pointer module, p { xf86AddInputDriver(&WACOM, module, 0); + xf86Msg(X_INFO, "Build version: " BUILD_VERSION "\n"); usbListModels(); return module;
  55. Download patch doc/Makefile.in

    --- 0.34.99.1-1/doc/Makefile.in 2017-06-26 07:00:35.000000000 +0000 +++ 1:0.39.0-0ubuntu1/doc/Makefile.in 2019-12-20 18:42:41.000000000 +0000 @@ -1,7 +1,7 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. +# Makefile.in generated by automake 1.16.1 from Makefile.am. # @configure_input@ -# Copyright (C) 1994-2013 Free Software Foundation, Inc. +# Copyright (C) 1994-2018 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -15,7 +15,17 @@ @SET_MAKE@ VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' +am__is_gnu_make = { \ + if test -z '$(MAKELEVEL)'; then \ + false; \ + elif test -n '$(MAKE_HOST)'; then \ + true; \ + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \ + true; \ + else \ + false; \ + fi; \ +} am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ @@ -79,8 +89,6 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = doc -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(srcdir)/doxygen.conf.in $(am__dist_noinst_DATA_DIST) ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ @@ -88,6 +96,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/l $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) +DIST_COMMON = $(srcdir)/Makefile.am $(am__dist_noinst_DATA_DIST) \ + $(am__DIST_COMMON) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = doxygen.conf @@ -114,6 +124,7 @@ am__can_run_installinfo = \ am__dist_noinst_DATA_DIST = doxygen.conf.in footer.html DATA = $(dist_noinst_DATA) $(noinst_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) +am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/doxygen.conf.in DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ADMIN_MAN_DIR = @ADMIN_MAN_DIR@ @@ -155,6 +166,7 @@ FGREP = @FGREP@ FILE_MAN_DIR = @FILE_MAN_DIR@ FILE_MAN_SUFFIX = @FILE_MAN_SUFFIX@ GREP = @GREP@ +HAL_SET_PROPERTY = @HAL_SET_PROPERTY@ HAVE_DOT = @HAVE_DOT@ INSTALL = @INSTALL@ INSTALL_CMD = @INSTALL_CMD@ @@ -171,7 +183,9 @@ LIB_MAN_DIR = @LIB_MAN_DIR@ LIB_MAN_SUFFIX = @LIB_MAN_SUFFIX@ LIPO = @LIPO@ LN_S = @LN_S@ +LSHAL = @LSHAL@ LTLIBOBJS = @LTLIBOBJS@ +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ MAINT = @MAINT@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ @@ -286,14 +300,13 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign doc/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --foreign doc/Makefile -.PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ + echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \ + cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) @@ -319,7 +332,10 @@ ctags CTAGS: cscope cscopelist: -distdir: $(DISTFILES) +distdir: $(BUILT_SOURCES) + $(MAKE) $(AM_MAKEFLAGS) distdir-am + +distdir-am: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ @@ -464,6 +480,8 @@ uninstall-am: mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags-am uninstall uninstall-am +.PRECIOUS: Makefile + @HAVE_DOXYGEN_TRUE@html/index.html: @HAVE_DOXYGEN_TRUE@ $(AM_V_GEN)$(DOXYGEN) doxygen.conf
  56. Download patch config.h.in

    --- 0.34.99.1-1/config.h.in 2017-06-26 07:00:35.000000000 +0000 +++ 1:0.39.0-0ubuntu1/config.h.in 2019-12-20 18:42:47.000000000 +0000 @@ -36,8 +36,7 @@ /* Define to 1 if you have the <unistd.h> header file. */ #undef HAVE_UNISTD_H -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ +/* Define to the sub-directory where libtool stores uninstalled libraries. */ #undef LT_OBJDIR /* Name of package */ @@ -110,3 +109,5 @@ /* Define to 1 if you need to in order for `stat' and other things to work. */ #undef _POSIX_SOURCE + +#include "config-ver.h"
  57. Download patch debian/source/format

    --- 0.34.99.1-1/debian/source/format 1970-01-01 00:00:00.000000000 +0000 +++ 1:0.39.0-0ubuntu1/debian/source/format 2019-10-04 07:23:09.000000000 +0000 @@ -0,0 +1 @@ +3.0 (quilt)
  58. Download patch src/wcmXCommand.c

    --- 0.34.99.1-1/src/wcmXCommand.c 2017-06-26 07:00:35.000000000 +0000 +++ 1:0.39.0-0ubuntu1/src/wcmXCommand.c 2019-11-04 17:05:25.000000000 +0000 @@ -87,7 +87,7 @@ static Atom prop_serials; static Atom prop_serial_binding; static Atom prop_strip_buttons; static Atom prop_wheel_buttons; -static Atom prop_cursorprox; +static Atom prop_proxout; static Atom prop_threshold; static Atom prop_suppress; static Atom prop_touch; @@ -99,6 +99,7 @@ static Atom prop_tooltype; static Atom prop_btnactions; static Atom prop_product_id; static Atom prop_pressure_recal; +static Atom prop_panscroll_threshold; #ifdef DEBUG static Atom prop_debuglevels; #endif @@ -272,9 +273,9 @@ void InitWcmDeviceProperties(InputInfoPt values[0] = priv->serial; prop_serial_binding = InitWcmAtom(pInfo->dev, WACOM_PROP_SERIAL_BIND, XA_INTEGER, 32, 1, values); - if (IsCursor(priv)) { - values[0] = common->wcmCursorProxoutDist; - prop_cursorprox = InitWcmAtom(pInfo->dev, WACOM_PROP_PROXIMITY_THRESHOLD, XA_INTEGER, 32, 1, values); + if (IsTablet(priv)) { + values[0] = priv->wcmProxoutDist; + prop_proxout = InitWcmAtom(pInfo->dev, WACOM_PROP_PROXIMITY_THRESHOLD, XA_INTEGER, 32, 1, values); } values[0] = (!common->wcmMaxZ) ? 0 : common->wcmThreshold; @@ -336,6 +337,9 @@ void InitWcmDeviceProperties(InputInfoPt XA_INTEGER, 8, 1, values); } + values[0] = common->wcmPanscrollThreshold; + prop_panscroll_threshold = InitWcmAtom(pInfo->dev, WACOM_PROP_PANSCROLL_THRESHOLD, XA_INTEGER, 32, 1, values); + values[0] = common->vendor_id; values[1] = common->tablet_id; prop_product_id = InitWcmAtom(pInfo->dev, XI_PROP_PRODUCT_ID, XA_INTEGER, 32, 2, values); @@ -455,6 +459,8 @@ static int wcmCheckActionProperty(WacomD break; case AC_MODETOGGLE: break; + case AC_PANSCROLL: + break; default: DBG(3, priv, "ERROR: Unknown command\n"); return BadValue; @@ -829,14 +835,14 @@ int wcmSetProperty(DeviceIntPtr dev, Ato return wcmSetActionsProperty(dev, property, prop, checkonly, ARRAY_SIZE(priv->strip_actions), priv->strip_actions, priv->strip_keys); else if (property == prop_wheel_buttons) return wcmSetActionsProperty(dev, property, prop, checkonly, ARRAY_SIZE(priv->wheel_actions), priv->wheel_actions, priv->wheel_keys); - else if (property == prop_cursorprox) + else if (property == prop_proxout) { CARD32 value; if (prop->size != 1 || prop->format != 32) return BadValue; - if (!IsCursor (priv)) + if (!IsTablet (priv)) return BadValue; value = *(CARD32*)prop->data; @@ -845,7 +851,7 @@ int wcmSetProperty(DeviceIntPtr dev, Ato return BadValue; if (!checkonly) - common->wcmCursorProxoutDist = value; + priv->wcmProxoutDist = value; } else if (property == prop_threshold) { const INT32 MAXIMUM = wcmInternalToUserPressure(pInfo, priv->maxCurve); @@ -972,6 +978,21 @@ int wcmSetProperty(DeviceIntPtr dev, Ato if (!checkonly) common->wcmPressureRecalibration = values[0]; + } else if (property == prop_panscroll_threshold) + { + CARD32 *values = (CARD32*)prop->data; + + if (prop->size != 1 || prop->format != 32) + return BadValue; + + if (values[0] <= 0) + return BadValue; + + if (IsTouch(priv)) + return BadMatch; + + if (!checkonly) + common->wcmPanscrollThreshold = values[0]; } else { Atom *handler = NULL;
  59. Download patch Makefile.in
  60. Download patch src/wcmCommon.c
  61. Download patch depcomp

    --- 0.34.99.1-1/depcomp 2017-06-26 07:00:35.000000000 +0000 +++ 1:0.39.0-0ubuntu1/depcomp 2019-05-01 15:24:18.000000000 +0000 @@ -1,9 +1,9 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2013-05-30.07; # UTC +scriptversion=2018-03-07.03; # UTC -# Copyright (C) 1999-2013 Free Software Foundation, Inc. +# Copyright (C) 1999-2018 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -16,7 +16,7 @@ scriptversion=2013-05-30.07; # UTC # GNU General Public License for more details. # You should have received a copy of the GNU General Public License -# along with this program. If not, see <http://www.gnu.org/licenses/>. +# along with this program. If not, see <https://www.gnu.org/licenses/>. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -783,9 +783,9 @@ exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" +# time-stamp-time-zone: "UTC0" # time-stamp-end: "; # UTC" # End:
  1. xf86-input-wacom