commit 1534ca8778ca62dda988929422bfa11217071ec8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 15 11:19:37 2022 +1000

    wacom 1.0.0
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5eb768c3a6eb0f6543e68d0cc0a6fc8cbc1060c4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 15 09:58:31 2022 +1000

    configure.ac: fix the check for unittests
    
    Leftover from ad8de30. Because we now only have one thing to check,
    let's always check for dl and handle the special "auto" case based on
    the outcome of the dl check.
    
    Fixes #248
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 15bb122bc2474e9eefe681bfbbadbaeb848061c1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 15 09:01:43 2022 +1000

    test: skip the wacom tests if we can't open the .so file
    
    Distribution package builds that use -Wl,-z,relro -Wl,-z,now will
    attempt to resolve all symbols on dlopen(). This is explicitly what we
    do not want because we don't link in the whole X server.
    
    It's a bit hard to override this for a single executable (my attempts
    didn't go far so there may be some other flag that influences this too)
    so for now just skip the whole test - this is better than failing the
    test suite.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c215f1e6b085e80b265c6e998afa057ba74d5e01
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 15 08:51:46 2022 +1000

    wacom-record: silence a compiler warning
    
    /usr/include/glib-2.0/glib/glib-autocleanups.h:28:3: warning: ‘syspath’
    may be used uninitialized in this function [-Wmaybe-uninitialized]
       28 |   g_free (*pp);
    
    Can't actually happen but it's an easy fix to get rid of this warning.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit db3df50ab1aa4b83de74100f705e608b66b13a2a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 15 08:15:51 2022 +1000

    meson.build: install the SDK headers
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 34315942e5801a636745d6a9b682ef2fad432eda
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 15 08:14:49 2022 +1000

    meson.build: use datadir, not sysconfdir, for the xorg.conf files
    
    Mixup of the two, sysconfdir is /etc which is not what we want for a
    normal install of the driver
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 985392cf38b337164d6d957eb4599dcbca519763
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Mon Feb 14 13:49:31 2022 -0800

    Correct typo in calculation of relative-mode non-pad RING2 values
    
    The current value needs to be read from the RING2 axis, not the plain
    RING axis.
    
    Fixes: 58a931bc21d1 ("Abstract the event interface to pass a struct with axis data around")
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit c8e597aa5436835cab9eb9819cda402e03264104
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 8 09:24:30 2022 +1000

    CI: add a job to build with the exact meson version we require
    
    Just to catch any inadvertent reliance on features that came after our
    minimum version. Meson *should* warn about this but let's be sure.
    
    Fixes #233
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d2876b666b487598622b7c656cd7a1b25da03404
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Feb 11 14:41:13 2022 +1000

    wacom 0.99.3
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 364b8ffb8f22c0b0889c68cd4cdad2bac3f0de86
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 10 10:26:16 2022 +1000

    Print the device id, device type and serial number as hex
    
    This is how we tend to use it most of the time (e.g. in libwacom
    definitions)
    
    Note that we're using 0x%x here instead of the easier %#x because the
    X server's old sigsafe printf implementation doesn't support the
    alternative format.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e8015b67000b555347412e955c6e9ed1556225c4
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Fri Feb 4 14:34:31 2022 -0800

    Revamp debug printing of axis data
    
    The `wcmSendEvents` function is a bit of a mess when it comes to printing
    out debug information. It maintains and dumps temporary data that may not
    reflect what will actually be passed to e.g. `wcmSendNonPadEvents` and
    does so at two different log levels for little reason after the recent
    refactor.
    
    This commit takes a page from wacom-record and introduces a function to
    dynamically dump axis data to a string. This lets us remove all the old
    temporaries and print out the values that actually matter.
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit d83afd252819fa31bb0934328acce758fbec2c39
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 10 15:23:43 2022 +1000

    CI: use the Ubuntu python version
    
    This makes CI issues easier to reproduce in a podman container (despite
    GitHub's ubuntu image having preinstalled a bunch of stuff).
    
    We're about to use a lot more python-specific stuff so let's not rely on
    whatever github installs with the magic python action.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 49f642f1667ea03451553e334044b85d3d6bd0d9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 10 19:16:38 2022 +1000

    CI: add a job to check for missing files in the tarball
    
    Anything in git should be in the tarball. Better to have a job for this
    explicitly rather than finding it out later, because debugging this is
    extremely frustrating.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d10d763d6c335b3c97fd9e7ddd71099e4f4d274e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 10 16:43:57 2022 +1000

    CI: capture meson testlogs from the tarball build too
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit f79793516d1f6c37107e09d5869f7f7347ad0268
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 10 20:29:19 2022 +1000

    autotools: add autogen and README to EXTRA_DIST
    
    Doesn't hurt to have those in the tarball
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit f170f7f0903d9e23562e872566795e4dc0ae65e6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 10 20:25:37 2022 +1000

    Consolidate .gitignore files
    
    And update them with missing entries in the process
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit f89be195fce53bcc284a6e99eb1d0dd550218329
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 10 19:07:52 2022 +1000

    test: remove a superfluous file
    
    Accidentally added during development, renamed later to
    wacom-tests.c but not removed correctly
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 131de22dd9ec63b4727bf5f320eee62294654d35
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 10 12:43:03 2022 +1000

    Don't crash wcmAllocate if name is NULL
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b67016849c8a01e9281ffd0dc5a7f0633e319fe4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 10 12:39:58 2022 +1000

    wacom-record: fix printing for multiple devices
    
    wacom-record takes multiple event nodes but the device info printing was
    broken. Fix this by moving the device info printing into the
    device-added callback (which is emitted as soon as we call
    wacom_device_new). The new event output is thus:
    
        - source: 2
          event: new-device
          name: "Wacom Intuos Pro M Pen"
          options:
          - _source: "server/udev"
          - device: "/dev/input/event4"
          ...
    
    This now has the advantage of subdevices printing the correct options as
    well (i.e. type eraser as this is added by the hotplugging code).
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2c9e352c3529a58a12035f0d3ad0a36bbd707188
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 10 12:38:41 2022 +1000

    gwacom: add function to get the device options from the device
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit f28c881a8a752d7c75164f53ba8c471df5cd08a3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 10 11:55:31 2022 +1000

    gwacom: allow for listing of WacomOptions keys
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d70066a5eb4ed43984b19b3644dd16fbfe01b8a2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 10 11:22:27 2022 +1000

    wacom-record: assert if device allocation fails
    
    Unlike what the error message suggested, wacom_device_new() doesn't fail
    except for memory allocation failures. Which we don't need to care about
    here.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit fa9b1eb4e5c78c6eed8cc2626d67e39b4dea95af
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 10 10:34:40 2022 +1000

    gwacom: fix crash if the first device fails to initialize
    
    If the very first device fails (not a wacom device) then the debug
    message when freeing the common pointer would cause a NULL-pointer
    dereference. That's a gwacom-only issue caused by the shortcut of
    logging all common messages through the first device.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 4c95a4651638ae265c96bb6a8416c760df8a2506
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 10 08:27:38 2022 +1000

    A few whitespace fixes

commit e940da8001cc5c5d5669eac1b7359401d2f5d946
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Fri Feb 4 13:30:27 2022 -0800

    Rotate / scale coordinates before storing them in axes
    
    The WacomAxisData calculated by `wcmSendEvents` is expected to contain
    the X,Y coordinates which have been adjusted for device rotation and
    scale. Prior to the refactoring, the values of X and Y (along with
    everything else) were only packaged up for relaying at the very end
    of the function. Now this packaging occurs much earlier which requires
    our call to `wcmRotateAndScaleCoordinates` to move as well.
    
    Fixes: 58a931bc21d1 (Abstract the event interface to pass a struct with axis data around )
    Link: https://github.com/linuxwacom/xf86-input-wacom/issues/226
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit 43906e0a642832fea731248fcea8fec6ce5f7ab3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 9 13:05:23 2022 +1000

    CI: build with all meson auto features enabled
    
    We have a number of features default to auto(). Force-enable those in
    the CI so we don't miss on testing.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 794e92ddb9355db72e52abbeeaf546d4a80ce4b5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 9 13:33:51 2022 +1000

    CI: missing field initializers are not errors
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit bb2fd9d77798cb7a9d9b52125de81a981cbc20ec
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 9 13:52:16 2022 +1000

    meson.build: pass -Wno-error=format to the asprintf check
    
    meson generates a little program containing "return asprintf ();"
    But that call errors out, not because asprintf is missing but because on
    clang, -Werror includes -Wformat:
            error: format string missing [-Werror,-Wformat]
    
    The result is that meson things asprintf doesn't exist and we then try
    to link to Xasprintf which is implemented in the server only (and thus
    causes a linker error in the gwacom lib).
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 485bb68b90e6a0a8069c04cfb69b48629847084c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 9 13:23:22 2022 +1000

    autotools: add missing files to the tarball
    
    Thanks to a missing backspace, there were still some files missing from
    the tarball. And our CI didn't pick it up because it wasn't building the
    gwacom bits from the tarball.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ad8de302874ab2075928ddd4e3f762251fef0703
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 9 09:50:07 2022 +1000

    Drop the build system checks for -wrap
    
    No longer needed as of ff94040208c9da3411753e1ffe554e6c80b87dd7
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 291192a5e5ac329cc5d355858d6e69337c65be1d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 9 11:46:03 2022 +1000

    test: mark the test section entries as no_sanitize_address
    
    This works around an issue running our test suite through clang with
    asan. Specifically, the asan test fails with:
      ERROR: AddressSanitizer: global-buffer-overflow on address
      #0 0x7f31314a1b57 in wcm_run_tests [...] wacom-test-suite.c:44:3
      ...
      0x7f31314ff150 is located 48 bytes to the left of global variable '_decl_test_get_wheel_button' defined in '../src/wcmCommon.c:1802:1' (0x7f31314ff180) of size 16
      0x7f31314ff150 is located 0 bytes to the right of global variable '_decl_test_get_scroll_delta' defined in '../src/wcmCommon.c:1754:1' (0x7f31314ff140) of size 16
    
    The C standard doesn't guarantee that sections are immediately
    next to each other, so our expected behavior could break in the future.
    
    Since this is a test suite, we don't really care for now. And I rather
    suspect there's plenty of code out there that too would break if clang
    ever changed this.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 988fcdd7f433eac843baf25f79f2f9ed5f4370e1
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 9 11:34:00 2022 +1000

    meson.build: set the LD_LIBRARY_PATH explicitly for the wacom-tests
    
    This fails in the CI otherwise, for reasons not quite clear. So let's
    drop the direct dependency (since wacom-tests dlsyms it) and set the
    LD_LIBRARY_PATH in the test environment that calls it.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit fee367269b0679fd163c92618ca94414e53c48d6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 9 11:14:44 2022 +1000

    CI: name the artifacts after the job name/options
    
    Otherwise we have the results overwrite each other
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 3718ed3f1a9b7d001ff2d76dbe1999b54809106d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 8 09:29:39 2022 +1000

    release.sh: markdown-ify the announce "email"
    
    This hasn't been an actual email for ages, the content of this is just
    uploaded as release text to github. So let's drop the subject line and
    make the rest easier to read.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ae5ac76c4f07c5487e3bcad64ef1d80e9702d336
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 8 22:07:41 2022 +1000

    gwacom: make the enums GIR-compatible
    
    GIR generation requires "typedef enum {} foo", with the first character
    of the enum names dropped. In the bindings, WFOO_BAR then turns into
    FOO_BAR on the enum object.
    
    This fixes an ABI issue with the WacomAxis struct - the enum (4 bytes)
    was previously exported as gpointer (8 bytes) in the bindings, causing
    garbage values to be read.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e30d23e4a1e26dd97c38d28e198cd0917f1b40e7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 8 21:31:36 2022 +1000

    gwacom: declare the WacomEventData as GBoxedType
    
    This allows us to pass it to the signal as proper type, making it
    available in the GIR bindings.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 8f536c4afbbf7561f2e2d616bc78481e26854419
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 8 07:25:20 2022 +1000

    wacom 0.99.2
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 3fbab38f91a15fc5a4d877c47227df50607e965a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Feb 4 11:54:16 2022 +1000

    configure.ac: require C99
    
    Because it is... checks year... 2022 and c99 is not exactly modern
    anymore anyway.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 16b1c0b5e5cff6ae6f81638e95b0f83d3a1a4b5f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Feb 4 11:31:16 2022 +1000

    xsetwacom: shut up two compiler warnings
    
    There's more, but let's silence some of them at least
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ae84ebd96524524aa214ea9fa1bbc5548b4eb8f8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Feb 4 13:33:01 2022 +1000

    meson.build: use dep.get_variable() instead of the deprecated one
    
    NOTICE: Future-deprecated features used:
     * 0.56.0: {'Dependency.get_pkgconfig_variable'}
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c68a8798c2be81686002eac34247e610f7ee8594
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Thu Feb 3 14:14:11 2022 -0800

    Update configure.ac to point to our issue tracker if a unit test fails
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit 44710a571a3399c0b894160abb7480e257a1c441
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Thu Jan 27 15:15:10 2022 -0800

    test: Enforce "zero minimum" workaround only for touch device
    
    The codepath for pen/eraser devices is capable of using the minimum
    values. Move the code to enforce a a minimum value of zero to the touch
    portion of the function where it applies.
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit d8347da16d2f13a3f0c3c047d080eaeb084fac3a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 3 10:54:51 2022 +1000

    tools: switch the xsetwacom tests to use the new test suite approach too
    
    Note that this removes the xsetwacom tests from the autotools build,
    this is meson only now.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d1617e9fea1475e45c59e821b4ed8a24f1d749d0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 3 10:48:12 2022 +1000

    test: fix long-standing typo in the initial size tests
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 591d4633dc99a2ba3dd906b570fd98e95482d8de
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 2 13:56:15 2022 +1000

    test: add a test for the convertAxes helper
    
    See #222
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ff94040208c9da3411753e1ffe554e6c80b87dd7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 2 13:18:33 2022 +1000

    Replace our unit-test suite with something more magic and easier
    
    The previous approach, written 11 years ago, relied on providing all
    symbols the driver needs as stubs (see fake-symbols.c). Most of these
    symbols just needed to be there so we could compile the test, they
    didn't actually get utilized by the tests.
    
    Dropping this and instead add something roughly similar to Rust: the
    test function can be in the same file as the source function.
    
    The TEST_CASE() macro uses __attribute__((section)) to push the test
    cases in custom ELF section. This section we can iterate on and call all
    tests one-by-one. The test runner only needs to dlopen + dlsym the
    driver module and run the entry point function.
    
    The test-suite part of this is minimal: tests can assert on failure and
    everything stops. Adding things like fnmatch for test case names is
    possible when/if we ever need it.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit efb8df85ca75349e1d14237bcd0085025cc44830
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 3 14:03:15 2022 +1000

    meson.build: remove udev dep from wacom-tests
    
    This was dragged in by the ISDV4 serial code which has since been
    removed, so it's no longer required here.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 8c6f4476d118a29298b44dbf2c0633610a8f4a45
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 3 13:42:50 2022 +1000

    autotools: remove the libudev dependency from the driver
    
    With the ISDV4 code removed, this is no longer used by the driver
    itself.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5688550f8fc0af48d252e2da4d41188af839b61e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 3 13:44:39 2022 +1000

    meson.build: remove an unused variable
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 771c43776e62d3f824753e123f936f3c0ef4c650
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 3 10:12:43 2022 +1000

    wacom-record: print the mask of available values
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6099e5f22b949d472f3f30282f5bdf6d84ef3073
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 3 09:59:08 2022 +1000

    wacom-record: print the mode for motion events
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 459a76fd91b55002052a99190d1b2b965bb7433b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 3 09:43:04 2022 +1000

    wacom-record: handle the extra device paths with g_autofree too
    
    As a rule of thumb, don't free anything as g_autofree, just use a new
    variable instead. Easier to read this way.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c8088649e3b3a5e34e296dd312fefd1624bc142f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 3 09:41:39 2022 +1000

    wacom-record: fix segfault if no argument was supplied
    
    In that case, argc is 0, so --argc is < 0
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 146e8d340a09614c7b59275f48d0005a2e768767
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 2 11:52:32 2022 +1000

    x11: handle valuators with a first_valuator != 0 correctly
    
    xf86Post*EventP requires that the valuators array index 0 is whatever
    first_valuator is.
    
    Found in #222
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a529e92b1144b59111a6a16e35169db128ce216f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 3 13:18:50 2022 +1000

    Remove a declaration and some comments referring to serial devices
    
    All obsolete since ce2421a031aa0979671ce24d38c08c92b2142257
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit be159bcd06c39ee1839efa66b732c810b6afe186
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 1 17:09:28 2022 +1000

    CI: add jobs to build from tarballs

commit 1648ad6c5cdcf9cfe390e8bd46cfa84782f7ac2b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 1 17:09:39 2022 +1000

    autotools: make sure the gwacom sources are in the tarball
    
    Those aren't used by autotools but if we want to build an
    autotools-generated tarball with meson we need to provide them.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5983e8208e9aaa6f9700d217ab21944d85b08e22
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 1 08:24:13 2022 +1000

    wacom 0.99.1
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0e10636573a56e4eabe7ccc0d9616faa7bf86896
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jan 25 09:34:56 2022 +1000

    meson: default to the module dir from xorg-server.pc
    
    On Ubuntu 20.04 at least, libdir is /usr/lib/x86_64-linux-gnu/ but the
    xorg modules are in /usr/lib/xorg/modules/. A default install with
    prefix /usr thus puts the modules into the wrong directory.
    
    Fix this by defaulting to the xorg module path from the xserver
    pkgconfig file. That has been exported since 2005, so it's save to rely
    on.
    
    Fixes #217
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 93b7ff5d0f57916ff28d56795f0cca9c21557528
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jan 12 09:11:09 2022 +1000

    Fix a compilation error when DEBUG is undefined
    
    Fixes #214
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit dd50f2db86f548624dcfc2a7c9e9428abc28b4cc
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jan 12 09:30:32 2022 +1000

    Escape an unused variable with ifdef DEBUG
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ed877d62d292e8198d496be015a024d095f20e7b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jan 12 09:25:23 2022 +1000

    Change the v3-v6 debug holders to an array
    
    This removes the compiler warnings when DEBUG is undefined, they're all
    only used for debug logging but we don't want to ifdef them everywhere.
    v5 is the only one "used" but only to re-calculate things.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 55b14facb4810e77157e76857d28c3bff0050953
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jan 12 09:21:37 2022 +1000

    Remove duplicate setting of v5/v6
    
    Both are unconditionally set a few lines south of here
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6de28b4ca980e0fc6a77dd9c7144d9da9fb03d69
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jan 12 09:19:08 2022 +1000

    Remove an unused variable
    
    This was always set to nbbuttons, so we don't need a separate variable
    here.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c5b605d376c69daf902a3d66ebc2d7df9b028ac8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jan 5 09:18:09 2022 +1000

    github: skip the coverity workflow in the forks
    
    These always fail since we don't have the required secrets. Skip that
    job unless we're on the upstream repository.

commit ce2421a031aa0979671ce24d38c08c92b2142257
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jan 5 08:13:17 2022 +1000

    Remove support for serial devices from the driver
    
    The serial code inside the driver is effectively unused and definitely
    untested. It's been a decade since the last serial devices came out and few of
    those will be in active use, the few that are are likely supported by
    the inputattach code we keep in place for now.
    
    Fixes #197
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e4094a72fed413d43951b0dc113351c0d84516aa
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Fri Jan 7 10:52:57 2022 -0800

    Report puck "throttle" (absolute scrollwheel) data in correct axis
    
    The "throttle" / absolute scrollwheel found on devices like the 4D Mouse
    should be reported in the v4 axis. A typo in a previous commit caused
    it to stop being reported.
    
    Fixes: 58a931bc21 ("Abstract the event interface to pass a struct with axis data around")
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit a78392d8d6e9aa344c7d09f5b1330fc7aeb8ef96
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jan 5 08:35:05 2022 +1000

    github: make the workflow names a bit smarter
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit f3a5474fbb073abc5d3a5a066e285ead9a3f5dd5
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Mon Dec 13 08:05:40 2021 -0800

    Disallow initalization of unknown device axis by wcmInitAxis
    
    Addresses the following compile warning from GCC:
    
        ../src/x11/xf86Wacom.c: In function ‘wcmInitAxis’:
        ../src/x11/xf86Wacom.c:538:9: warning: ‘index’ may be used
            uninitialized in this function [-Wmaybe-uninitialized]
    
    Attempting to initialize an unknown axis will now result in a program
    abort. This copies the behavior used by the `convertAxes` function.
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit 30e522a75206d7438063b2883feebbc622c21b69
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Dec 10 11:31:40 2021 +1000

    Bail out if wcmDevStar() fails
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b8905483dbdc2f3c1f578ca0fa770162907fb5e6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Dec 10 11:27:21 2021 +1000

    Remove an outdated comment
    
    No idea what this is referring to but it's no longer accurate.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1e205eece628b9551648d915b7c4bba79eb87eda
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Dec 10 11:25:46 2021 +1000

    Change wcmDevSwitchModeCall to take and return a Bool
    
    Let the caller handle the X11 constants and just take an "is_absolute"
    boolean and return a boolean to indicate success
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0e92df6889b8ec928603a7c11792699afa7347a2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Dec 10 11:04:45 2021 +1000

    Remove an outdated comment
    
    Now that the driver is separated into src/x11 and the file was renamed,
    this comment is both wrong and outdated.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 3e4a5243c554e9e0ee5a96763fa19c46143a89a6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Dec 2 09:18:25 2021 +1000

    Add a debugging hook for evdev events
    
    Unused in the X driver interface but for libgwacom/wacom-record we can
    use this to print evdev events before driver events, making it easier to
    figure out which input causes which driver output
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ad7d8faa193e190dc0ffea92b2c077ae7328aa45
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Dec 2 08:56:44 2021 +1000

    Drop include of linux/version.h
    
    No longer needed
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 71701d38acde5f235f905930ab121cf6a2619528
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 26 13:23:57 2021 +1000

    Add a GObject-based interface to the driver
    
    This patch adds a basic GObject-based library in lib/ that is sufficient
    to interact with the driver. The example tools/wacom-record.c is
    provided to illustrate the use of this library and to provide a
    commandline debugging tool.
    
    This library is for testing use only, it does not provide a stable API
    and should not be used. It is not installed and only available if the
    driver is built with meson.
    
    GObject IR bindings are available too to write e.g. Python programs that
    use the driver.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d254f902ef0452b63d39935b670814cdabe31534
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 1 12:11:56 2021 +1000

    Move the X-driver-specific files into src/x11
    
    These two files are the only ones that interact with the X server, let's
    move them so we have a visible separation between the core driver and
    the X parts.
    
    Renaming wcmXCommand.c to xf86WacomProperties.c in the process, for
    slightly better namespacing.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b47fa8a0aa0b987e675222fd18195a759d40ecaa
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Nov 30 10:06:38 2021 +1000

    Split the various logging functions into several calls
    
    We have driver and device logging, and each as a normal log function, a
    sigsafe log path and a debug message log path. So 6 functions overall.
    
    This doesn't matter for the X driver which routes sigsafe to
    LogMessageVerbSigSafe but for other frontends it's useful to keep these
    apart.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 3271defd328ad2c33e88de0bcf0600f1b2c8f1ec
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Nov 30 10:36:44 2021 +1000

    Pass the context to two helper functions
    
    In both cases we'll use that context in a follow-up patch to hook into
    the logging functions.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6bd9b920a40bc22c45cfdb5318d9354a7d12a470
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Nov 29 14:36:24 2021 +1000

    Decide on the hotplugged device's name in the driver
    
    For devices hotplugged by the driver, we use the basename and then
    append the tool type and serial (if any). No point having this in the X
    driver layer, let's make this generic.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1be51900620cb1f55262efb475fa11e5519f509d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Sat Nov 27 10:50:38 2021 +1000

    Change return type of wcmDevInit for better readability
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 638da338ce48717721c700bed23096d7578706d2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 26 15:15:35 2021 +1000

    Allocate the touch valuators in the driver layer
    
    This is ugly. Ideally we'd have those valuators in a custom struct in
    the driver layer but... we don't have that struct, we're using pInfo. So
    rather than wrapping that into yet another struct, let's just allocate
    directly here.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 9d67f62b953eaabd35c3234d8388c4bbd4ff4fb7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 26 14:52:40 2021 +1000

    Wrap GetTimeInMillis()
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e8a7b5a5ac359d6a53148f61a05f7996459fa5d4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 26 14:39:37 2021 +1000

    Move a function to the core driver layer
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 29d093bd8671a792124720281f7f1f7c4934d6b4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 26 13:27:19 2021 +1000

    Abstract the pInfo pointer as a generic frontend void pointer
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 9caf26360367a8b28ca7c6961887052509d61fbd
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 26 11:26:10 2021 +1000

    Allow building the driver without serial ISDV4 support
    
    If configured with -Disdv4=false, the ISDV4 serial
    bits will not be built, including the udev rules and the inputattach
    helper and service files.
    
    This is meson only.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 493ccdc8f2d1e94dde7f45b2062ac7f91b9a3cf4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 26 11:19:03 2021 +1000

    Move model listing to the X driver layer
