commit 8f655fe3faabc4a44a32504d0ef14fc961f803fb
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Apr 6 11:17:09 2023 +1000

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

commit 0bf20b63f35385893f58bcbacbc3d78dc9dcf207
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Dec 7 08:46:32 2022 +1000

    CI: update some actions to v3
    
    Node 12 is deprecated so let's switch to the newer version
    https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit fe923e927a8ddf4d2e82ef4757c885b06d47fa03
Author: Greenscreener <honzikcernoh@gmail.com>
Date:   Sun Jul 24 15:02:46 2022 +0200

    Implement smooth panscrolling

commit 2a9e5953f89a7085786326e07edcb53ad821aace
Author: Greenscreener <honzikcernoh@gmail.com>
Date:   Sun Jul 24 14:48:29 2022 +0200

    Replace valuator array with valuator mask in convertAxes
    
    ValuatorMask has been around since xserver 1.10, released in 2011.

commit 6eefde01f04454c8b0df1dedd2bbf77086206c09
Author: Greenscreener <honzikcernoh@gmail.com>
Date:   Sun Jul 24 14:41:50 2022 +0200

    Fixing discrepancy in naxes
    
    See https://github.com/linuxwacom/xf86-input-wacom/pull/222#discussion_r897908702

commit 66f41d6225b34ca02a4a70d2a101e82c561c51d7
Author: Ping Cheng <ping.cheng@wacom.com>
Date:   Wed Nov 2 22:09:36 2022 -0700

    Assign Wacom specific keys only to Wacom devices
    
    Most extra features are only for Wacom 0x56a devices. Make them
    specific so we don't abuse other devices ;).
    
    Signed-off-by: Ping Cheng <ping.cheng@wacom.com>

commit 61b7d9061b53f79b5a37a463269bb9c8d45dbe14
Author: Ping Cheng <ping.cheng@wacom.com>
Date:   Wed Nov 2 21:55:21 2022 -0700

    Move wcmDeviceTypeKeys to wcmConfig.c
    
    There is only one file that needs wcmDeviceTypeKeys. Move it
    and make it into a static routine to simply the logic. Also,
    there is no value to return from this routine. It sets the
    types and keys to the common structure.
    
    Signed-off-by: Ping Cheng <ping.cheng@wacom.com>

commit 829a2d996f1a8d8a735c0eb7340797959de03ca8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Aug 31 11:56:16 2022 +1000

    gwacom: add support for special runtime options
    
    This is a hack to make it possible to test options that cannot be set
    through the xorg.conf, e.g button actions that are set through the
    X-specific properties interface.
    
    Expose a new function for "runtime options", though the actual option
    implementation needs to be handled in the gwacom wrapper code - i.e.
    only options explicitly supported can work.
    
    The currently supported option is "PanButton" which maps the given
    button to the PanScroll action.

commit 8e4a77bc28970d23da80838c195550cad4ef8e05
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Sep 1 15:31:47 2022 +1000

    x11: de-duplicate the valuator number assignment
    
    Let's add a helper function for this so we can't mess this up.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1aaa36753c1008733b62cea5f60088ddbddff1e8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Aug 31 11:35:53 2022 +1000

    Remove useless Wacom action name setting
    
    Copy/paste error from when this as lifted from the properties code to
    the core driver code, in the commits leading up to
    5326fd126042684338dfb662f48ba2e27be7fa5a.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 23c46706f12982c3baaa03b3b8f53ea72679a136
Author: Ping Cheng <ping.cheng@wacom.com>
Date:   Fri Aug 26 15:02:16 2022 -0700

    Bring two finger right-click function back
    
    Patch 65b7c37 fixed spurious right-clicks by setting wcmGestureMode
    back to GESTURE_CANCEL_MODE immediately when there is less than two
    fingers on the tablet, if the wcmGestureMode was in SCROLL_MODE or
    ZOOM_MODE.
    
    However, it narrowed wcmFingerTapToClick() rotine to LAG_MODE, which
    removed the opportunity for the routine to executed. Revert that.
    
    Fixes: https://github.com/linuxwacom/xf86-input-wacom/commit/65b7c37f0fac5cdd03ff7f977124148d0bdf4be8
    (Prevent spurious right-clicks at the end of very short scroll and zoom gestures)
    
    Signed-off-by: Ping Cheng <ping.cheng@wacom.com>

commit 18ed7697e3049943e3bfef46af6c647b2d93ed8f
Author: Ping Cheng <ping.cheng@wacom.com>
Date:   Tue Jul 19 14:01:35 2022 -0700

    Don't report error when waiting for serial number
    
    For some devices, such as AES pens, serial number is 0 when tool
    comes into proximity. That means serial number was not ready. It
    is a known state. All we needed is to wait for the non-zero serial
    number. Don't report it through W_ERROR.
    
    Signed-off-by: Ping Cheng <ping.cheng@wacom.com>

commit ad11a9da15d4cbef62f4ec1c19a6279ef21710f3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jul 25 12:30:14 2022 +1000

    Remove a comment referring to the wrong function
    
    The function moved away in e4ea35d56aec59a5de0ef3d9282fdd796d89e6ad,
    let's drop this comment.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit f2df07587e5ff89a6c5b2246bc468211c31cf43a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jul 14 13:45:32 2022 +1000

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

commit e71404e3d500762ea25e40ec7d0c4a34d3978762
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jul 14 13:57:37 2022 +1000

    meson.build: fixate the GIR namespace version to 1.0
    
    This is more like a soname version than a project version - keeping it
    in step with the driver version means we also have to update each
    callsite. But it looks like we'll be stable for this for a while, so
    let's just fixate it.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit f53fbcafc277bb750e0584584bf58d1d3d8353df
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jun 13 11:19:36 2022 +1000

    gitignore: add __pycache__
    
    Might as well not accidentally commit this one
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0dc0b101bf49731cdb7946835bd3bd2045d036d8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jun 10 21:00:26 2022 +1000

    test: add a test for the artpen/airbrush wheel updates
    
    This was slightly too complicated to add to the existing
    test_axis_updates test, so that test is duplicated here, only testing
    what we see as "wheel" axis in the driver.
    
    The test is run for all three pens
    
    Because the X driver unconditionally sets ds->abswheel from the kernel
    events, we must take care only to send the kernel axis that matters for
    our current tool - otherwise we overwrite ds->abswheel with whichever
    one of ABS_Z or ABS_WHEEL is sent last in the evdev frame.
    In other words, we cannot test that artpen ignores ABS_WHEEL and
    airbrush ignores ABS_Z because ... they don't.
    
    For the generic pen that doesn't matter since we're supposed to ignore
    both axes anyway.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Ping Cheng <ping.cheng@wacom.com>
    Tested-by: Ping Cheng <ping.cheng@wacom.com>

commit be3471293363b518eb07a1eb041fb3e548de1bef
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jun 13 10:08:08 2022 +1000

    meson: default to pytest-3 first, then pytest
    
    At least Ubuntu 20.04 has pytest point at the Python 2.x compatible
    version, resulting in syntax errors when trying to parse our Python 3
    code files. So let's check pytest-3 first since that is the compatible
    version and fall back to normal pytest only where it's missing.
    
    Fixes #272
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 15802a3871d15fcbd1a510b85715e633b11e078a
Author: Greenscreener <honzikcernoh@gmail.com>
Date:   Sat Jun 11 14:58:55 2022 +0200

    Added vim modelines to python files.

commit d5b61195553094f316015facb0d7a7ac2954d1b2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jun 8 14:44:05 2022 +1000

    test: raise an InputError with better info if modules are missing
    
    The tests need to run as root (for uinput/evdev) so pip-installing a
    package as user gets past the build check but then fails at runtime.
    Let's make this bit easier to debug.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c44522c1f2c4487e1629435aa45b545c1d0279e9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jun 8 14:43:30 2022 +1000

    meson.build: default to verbose pytest logging
    
    Might as well collect as much data as we can get
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 073556d13e3937735983fb32e2704a5aaa51e435
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue May 24 11:07:37 2022 -0700

    test: Ensure standard pen does not report the "wheel" axis
    
    The event data has a mask field that specifies which fields are actually
    present (zero may be a valid value for an axis after all). Let's check
    that mask for each event and ensure that if the pen supports the axis,
    the axis is also present in the event.
    
    We still send kernel events for all axes to ensure the unsupported ones
    are correctly ignored by the driver.
    
    This allows us to parametrize the test with different stylus types and
    re-use the rest. Here we add a standard Cintiq pen and make sure the
    wheel axis is never set.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 817e77f5a7502cc9258d1e41e5f2863a498d104f
Author: Aaron Armstrong Skomra <aaron.skomra@wacom.com>
Date:   Tue May 24 11:20:38 2022 -0700

    Don't report "wheel" valuator unless it exists on tool
    
    Fixes #199
    
    Prior to this commit we operated as if all non Art Pens needed
    this valuator normalized.
    
    Signed-off-by: Aaron Skomra <aaron.skomra@wacom.com>

commit 6fd9efcd269e7bd879c62044d176007df8d659d8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon May 23 13:43:30 2022 +1000

    test: ignore test devices, or real devices during test suite runs
    
    Set an option on all our created uinput devices, and an environment
    variable when we're running the test suite. If both of these are set we
    process the device, otherwise ignore the device during PreInit.
    
    This stops the driver picking up events from test suite runs
    (potentially clicking around on the desktop) and it stops the test suite
    from false positives by locally connected devices.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 00473a30a0c5a6558a3c0491fc5808baaf711702
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon May 23 13:24:13 2022 +1000

    test: fix a typo
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit fd10a749f93e9bf7458c3f039fae61802234b8d4
Author: Joshua <Joshua@Joshua-Dickens.com>
Date:   Sun May 22 18:35:21 2022 -0700

    Fix xsetwacom returning 0 even when there's an error (#266)
    
    xsetwacom was only able to return a failure on a few scenarios but
    would return a success even when the command would encounter failures.
    
    List, set, get, and some other functions within those all had the potential
    to fail and would print an error message when said failures occurred
    but would improperly return a success.
    
    This commit adds the ability to properly report a success(0) or a failure(-1)
    to the relevant functions including all get and set methods that can be
    called by get_func and set_func.
    
    Link: https://github.com/linuxwacom/xf86-input-wacom/issues/126
    Signed-off-by: Joshua Dickens <joshua.dickens@wacom.com>

commit bcd984bdc353f2b4524debe36a11f58d0e81f346
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 5 10:45:47 2022 +1000

    test: add a test for the artpen rotation
    
    The artpen has a physical rotation property, sent by the kernel driver
    as ABS_Z (historical reasons). In the driver this is mapped to the
    ds->abswheel state because this axis is shared with the airbrush wheel -
    both are sent through the same XI valuator (historical reasons, as
    usual).
    
    We can rather easily test this by ensuring we have an artpen device id
    and then send something through ABS_Z, that should update the wheel
    axis.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Aaron Skomra <aaron.skomra@wacom.com>

commit 1f21c8c7fca37c15e0d8a6f7c7f89519c5947829
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 5 09:49:51 2022 +1000

    test: ensure a device prox out after our events
    
    This avoids a potential stuck button by leaving the tablet in proximity.
    Shouldn't happen since removing the device should release all buttons
    but...
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Aaron Skomra <aaron.skomra@wacom.com>

commit 2f1a7ae905886fb1441d45b97c8e9952a1c3a878
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 5 09:45:32 2022 +1000

    test: swap the axis checks for an iterator-based approach
    
    This ensures we get a StopIteration exception if we don't have the
    events we expect - previously we'd get a false positive on this test if
    we had no motion events after the first one.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Aaron Skomra <aaron.skomra@wacom.com>

commit 4d3bbc84e026ad4f7513d54432c26ae49b2fdd4d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 5 09:52:49 2022 +1000

    test: increase the count of events for axis update tests
    
    Make it 30% of the axis in 2% step increments, this gets past the issue
    of tilt not updating significantly and getting filtered.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Aaron Skomra <aaron.skomra@wacom.com>

commit 5d4ef8ac9088427dabbe5b6d5e367bb44c1d59bc
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 5 10:41:03 2022 +1000

    test: fix the ID assignment when parsing a device file
    
    Because InputId didn't have the same field order as the recording (to
    allow for default bustype, vid and version), we ended up with an
    erroneous vendor ID, causing some code paths in the driver to go the
    non-wacom path.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Aaron Skomra <aaron.skomra@wacom.com>

commit 1b7d64565cda276dbd20e0b67a9bb88ef538a7f3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 5 09:22:04 2022 +1000

    test: add a helper script to set up the environment
    
      $ sudo ./test/wacom-test-env.sh
      $ pytest
    
    A lot easier this way than having to manually set the environment
    variables.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Aaron Skomra <aaron.skomra@wacom.com>

commit 09567517939109cbaf9928a36e43e86bd1d71082
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 5 10:11:04 2022 +1000

    Document the rotation/wheel axes, they're not what you'd expect
    
    For historical reasons, the rotation axis is actually the cursor
    rotation only, the artpen rotation is mixed in with the airbrush wheel
    (which is scaled in to the rotation range).
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Aaron Skomra <aaron.skomra@wacom.com>

commit a94a845af196f49fdcece8958dc1320c0296b518
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 5 10:06:58 2022 +1000

    Add a few missing breaks for the default case
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Aaron Skomra <aaron.skomra@wacom.com>

commit a6828caa94f5fd9c81880eb11da294eed9cc48af
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 5 10:25:44 2022 +1000

    Make a debug message easier to understand
    
    We printed the device type as "tool id", let's print both but with the
    right naming.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Aaron Skomra <aaron.skomra@wacom.com>

commit 742c3e4494bf89301031ba6a627a7f5d5f49556f
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Thu Apr 7 09:56:00 2022 -0700

    Allow negative panscroll threshold for inverted scrolling
    
    The driver's "pan" feature allows you to send scroll events by holding down
    a defined stylus button and dragging the pen. Dragging the pen from top
    to bottom will cause the driver to send scroll-up events, and vice-versa.
    This simulates physically dragging the page under the cursor and works
    particularly well with display tablets.
    
    The rate at which scroll events are sent is controlled by comparing the
    distance the pen has moved "down" to a defined threshold value. If the
    distance exceeds the threshold a scroll-up event is sent; if it exceeds
    the the threshold * -1 a scroll-down event is sent.
    
    This commit allows the driver to accept negative threshold values to
    produce an inverted scrolling behavior (i.e. dragging the pen from top
    to bottom causes scroll-down events instead of scroll-up). To do this
    we just relax the checks performed at device configuration and property
    setting (affecting the "PanScrollThreshold" driver option and "Wacom
    Panscroll Threshold" Xinput property, respectively).
    
    Link: https://github.com/linuxwacom/xf86-input-wacom/issues/257
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit 1ca6fca7932d540ea7765bb9f66be050f61592aa
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 24 10:54:20 2022 +1000

    meson.build: comment out -Wall -Wextra
    
    These are handled as part of meson's warning_level project option
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c0f77b600122a3d8bdefa7a20a84f4049681d1e7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 22 09:30:41 2022 +1000

    meson: use gnu_symbol_visibility - sort-of
    
    meson has gnu_symbol_visibility which is set correctly depending on the
    compiler. Except - where the X server was built with a
    symbol-visibility-supporting compiler it will always force
    -fvisibility=hidden into the cflags, see
    https://gitlab.freedesktop.org/xorg/xserver/-/issues/1316
    
    Meson sorts pkgconf cflags after the gnu_symbol_visibility flag so the
    pkgconf cflag overrides our gnu_symbol_visibility flag.
    Make a note on this so no-one else has to spend time wondering about and
    debugging this.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b534f8fba8dbf3dc373db27c1b2b6e3103923e28
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 22 09:00:11 2022 +1000

    meson.build: only build libgwacom.so, not the static one
    
    We don't need the static one
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5390ebb2f55f40a3d41f4352447fb603ab4e2fd2
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Sat Feb 19 12:16:55 2022 -0800

    Enable additional compiler warnings by default
    
    Removes the two `-Wno-xxxx` directives from out default set of build flags
    enables several new warnings as well.
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit e217fe67690ff8d00af6ccc2bbe65720af21a979
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Fri Feb 18 13:51:20 2022 -0800

    Move -Wall and -Wextra from Github-only to default CFLAGS
    
    These two options were previously only being used by the Github runner.
    Lets move them to configure.ac / meson.build so that we encounter these
    warnings on our build system **before** pushing things to Github. The
    only thing Github should have is `-Werror` and friends.
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit b708574c48b5e57dc5fc7efa4ec7d102c062071f
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Fri Feb 18 13:44:54 2022 -0800

    autotools: Use the same set of CFLAGS as Meson builds
    
    When building with Meson, a number of CFLAGS are automatically used
    if supported by the compiler. Lets copy them over so that the same
    behavior will occur for autotools users. While we're at it, update
    the other target-specific flags to also better match Meson.
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit b998b68107b4a9b6116b271c858dfbcb29435789
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Sat Feb 19 16:11:23 2022 -0800

    Remove superflous 'invalid' label in wcmSetFlags
    
    This label is only taken in a single error case. We should handle the
    error at the point we detect it, not after jumping to yet another label.
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit 18ac7bc40be89ccc49ec9f17583503989944069d
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Sat Feb 19 15:44:40 2022 -0800

    Avoid truncated output warning in wcmAxisDump
    
    GCC seems to be confused by our code pattern and insists that our
    buffer isn't large enough (no matter how large we might make it)
    and may result in truncated snprintf output. Modify the structure
    to achieve the same effect in a different way that GCC doesn't
    mind.
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit 571fbced64a51259ea7825c737f1703a0eb6bdf5
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Sat Feb 19 15:12:45 2022 -0800

    Correct buffer size passed to wcmAxisValue
    
    Thankfully the incorrect `sizeof(data)` is less than the actual
    `sizeof(value)`, so there's no chance of some kind of buffer
    overflow in the existing code.
    
    Fixes: e8015b67000b ("Revamp debug printing of axis data")
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit a5a0b5bf0f855ac0a5501147de5147a520b8b9d2
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Wed Feb 16 16:34:50 2022 -0800

    Fix sign-compare warnings caused by clang's integer abs()
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit d9e92778ccc89bec74e361f8d4fcc7c24002d2bc
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Sat Feb 19 12:10:18 2022 -0800

    wacom-record: Change syntax for null struct initalization
    
    Avoid a -Wmissing-field-initializers warning from Clang, which apparently
    recognizes `{ 0 }` and `{ }` as valid patterns, but not `{ NULL }`.
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit df632685d02939957bebc61c4df5617652ce608e
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Wed Feb 16 16:24:16 2022 -0800

    wacom-record: Print unsigned values with %u rather than %d
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit 19a2ac80507aca77c9e30f445c9e245c474c7865
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Thu Jan 27 17:13:24 2022 -0800

    Explicitly check for WTYPE_INVALID in switch statements
    
    Avoid a Wswitch-enum warning.
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit ef372acece43c5cce16e61795a15050a5bcb1726
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Tue Jan 4 13:54:46 2022 -0800

    Misc. unsigned warning fixes
    
    Address a few more unsigned changes that don't fit in elsewhere.
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit cd02945a778132bcb63db5afec9747a15ade0033
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Wed Jan 26 15:43:34 2022 -0800

    Treat value of proxout property as signed
    
    While negative / extremely large values are both invalid, migrating the
    code to handle surface distances in an unsigned way is much more trouble
    than its worth (due in part to some tablets reporting distance in an
    opposite sense than others). It is more straightforward to leave them
    signed for now and just treat the proxout property as also signed.
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit 3287bf8dd89f7d57dcbab61090f92880e01e2e77
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Wed Jan 26 15:39:43 2022 -0800

    Store serial numbers as unsigned values
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit 23f2c7fcf77dc7f4a42864bc66ef91162137577a
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Wed Jan 26 13:54:22 2022 -0800

    Change signature of Parse function to take unsigned packet length
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit ce2ec765c2fa57d3f4a1b833f424ced2cf8ba53c
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Thu Jan 27 11:28:09 2022 -0800

    Make devicestate sample and time variables unsigned
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit 52803bf0a87772bb6ca837c68e68911909a6cd53
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Tue Jan 4 13:48:59 2022 -0800

    xsetwacom: Make prop_offset unsigned
    
    Note that in one instance we actually end up re-assigning the value of
    prop_offset to a signed variable to avoid additional warnings.
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit 846c6f51f7c959f984e60064306610f2408a5ffa
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Tue Jan 4 11:54:43 2022 -0800

    gesture: Make gesture distances and counts unsigned
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit e981a1c1c70b4ed6a34cfac2cde872905e89f4ed
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Tue Jan 4 11:40:06 2022 -0800

    gesture: Use unsigned integers for finger indicies
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit fe50ba4c0048d58f09489ad85f11c0ae4838b5b9
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Tue Jan 4 11:33:43 2022 -0800

    Make wcmEventCnt an unsigned int
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit ca19d531ab888e9ff80d5beb26af366061a2edd5
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Tue Jan 4 11:24:16 2022 -0800

    Store button state as unsigned int
    
    The WacomDeviceState structure uses an unsigned int to store keys and
    some functions that operate on keys and buttons are already set up to
    work with unsigned values. Make buttons unsigned for consistency with
    keys and to reduce warnings.
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit 0962f67b2c7660fdbdf80a189b90b0e37e61314d
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Tue Jan 4 10:29:54 2022 -0800

    tools: Report when the entire buffer is garbage
    
    Most callers silently ignore the case where `skip_garbage` returns a
    negative result. This function changes the function signature to let us
    return an unsigned count and then has the caller make some noise when
    this would have happened. Correct various unsigned issues along the way.
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit 869f32c7b98632974f23606d2d706a69e7cc0b69
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Wed Jan 26 12:58:20 2022 -0800

    Use locally-declared unsigned loop variables to eliminate warnings
    
    We often use the prototypical `int i` loop variable but sometimes we're
    iterating over a loop with an unsigned bound. This is low-hanging fruit
    for cleaning up some of the "Wsign-compare" warnings that exist in the
    driver. While we're at it, take the opportunity to make many of these
    loops use local declarations -- a feature standardized way back in
    1999 alongside other blockbusters like The Matrix.
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit 465412be96b8e1967bd21209af54a11f0c7b0cc3
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Thu Jan 27 16:05:05 2022 -0800

    Fix -Wformat-signedness warnings
    
    Fix the various warnings about us printing an unsigned value as signed
    (or vice-versa).
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit f1c9d9a118cc14057fcf859c9f71de0ae0ad2e18
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Thu Jan 27 16:23:11 2022 -0800

    Avoid Wformat-overflow warning
    
    Increase the size of buffer we write our string into to silence a warning
    from stricter levels of Wformat-overflow.
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit 7d6d15d5c6d7e2cd6dbb54b20fdadc2e5b658564
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Tue Feb 15 10:07:10 2022 -0800

    cppcheck: Avoid uninitalized variable warning
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit b1555a21c801c2eaab320c57291c95034dc45468
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Tue Feb 15 08:28:52 2022 -0800

    scan-build: Silence dead-store warning from intentionally-ignored value
    
    We don't care about the result from `read`, but it seems that Coverity
    was complaining that we didn't use its result. We hacked around this
    by simply storing it into `rc`, but now scan-build complains that this
    value is also never used. This commit further-refines the hack to
    silence both Coverity and scan-build.
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit b3741a1687a53edc4e7115b886dc4796f3096f1e
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Tue Feb 15 08:06:52 2022 -0800

    scan-build: Remove dead-store to subproperty variable
    
    This dead-store was introduced in commit 59925bd45b71 ("NONE is not a
    valid action, and NULL a bad value"). The code which previously relied
    on subproperty being non-zero was moved into a seperate `else` block
    that is no longer executed in the case where subproperty is zero.
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit ad8b081fab7c5e0889f0102fb41e2458d98c4164
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Thu Jan 27 11:58:06 2022 -0800

    scan-build: Silence spurious null pointer warning when initializing tools
    
    The scan-build tool notices that we can trigger a null dereference if
    the value of `common->wcmTool` is NULL. This pointer is allocated and
    assigned at initialization, however, so we should be able to avoid the
    warning by simply asserting that it is non-null.
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit 1f18309d63cf979afdeba6e8f5b67253b7d36a21
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Thu Jan 27 11:55:53 2022 -0800

    scan-build: xsetwacom: Avoid dead-store when parsing actions
    
    The scan-build utility detects that the expression `j = parsed = 0`
    was causing a dead store to the value of `parsed`. Rather than simply
    removing the store to parsed, re-format the code to avoid making its
    value visible outside of the `if` block alltogether.
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

commit 65a1fd43e3bf73e0d47a17da3b019f81ba3b680b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 10 09:35:21 2022 +1000

    test: add a test for the single-axis updates
    
    Just a test that if we change x, only x changes in the events.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 8a01c35b4cb8f86c996ab63baa589a3841449a11
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Feb 9 10:25:07 2022 +1000

    test: add a test for the relative motion issue

commit 858bb568716f19fd3973088a2af237904584fea9
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 8 22:09:46 2022 +1000

    test: add a pytest test suite
    
    This test suite makes use of the gwacom library and its GObject
    bindings, allowing us to write the actual tests in python.
    
    Real devices can be specified as a YAML file in test/devices.
    In the tests we can either create custom device or load the correct
    Pen/Finger/Pad component from the real device. Devices are then created
    as uinput devices [1], with a Monitor class set up to capture any
    events.
    
    The test needs to initialize that device and monitor, then play events
    through the device and analyze the output.
    
    [1] This unfortunately won't work in containers, like the github CI...
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit dbe4f9e687a481020ad27b495b6f16c2767f0814
Author: Jason Gerecke <jason.gerecke@wacom.com>
Date:   Wed Feb 16 15:04:56 2022 -0800

    meson: Fix fuzzinterface build option
    
    Trying to enable this option results in the following configuration
    error:
    
        meson.build:117:10: ERROR: Configuration set requires 2 arguments.
    
    Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>

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>

