commit 583ed5acdc17a4dc7848c891d7cdbd35ff07b781
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue May 19 15:37:30 2020 +1000

    xf86-input-libinput 0.30.0
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e8e5d1a6b579c6bd5e6c9e76a53f13ca77fa0d5f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue May 19 15:57:52 2020 +1000

    gitlab CI: update to latest CI templates
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 639b21d78a80566477163993366400e506f6e7b7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue May 19 15:47:00 2020 +1000

    gitlab CI: bump to Fedora 32
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e52daf203bb690e33b27514cb8fc76b263e6622a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Oct 11 10:24:30 2019 +1000

    Implement support for scroll button locks
    
    Add a boolean option/property to enable/disable the scroll button lock. Where
    enabled, the button can be clicked and released as opposed to having to be
    held down.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 400bf493d1840e72dc3bad624707b4934fe5de33
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Aug 12 12:35:51 2019 +1000

    xf86-input-libinput 0.29.0
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 27a88897bedb8dca41be311a162243ec7f4a952d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Aug 12 10:57:11 2019 +1000

    Add basic Gitlab CI for testing the build
    
    This merely tests against the devel package in Fedora, not against the xserver
    from git. Should be enough, the driver here doesn't change enough to need the
    git builds.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d5867e5db6300ba2fa08054f16af661bd0ae4200
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Aug 12 10:35:15 2019 +1000

    Fix compiler warning about unhandled switch events
    
    This bumps the required libinput version to 1.7 - which has been out for over
    two years now. That's conservative enough.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1ef2ed874e700a6be9091c01df5b432a3e4d8b2e
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jul 30 11:23:46 2019 +1000

    Check for the tool type too when creating subdevices
    
    Fixed #25
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 3c9052d8865200818a3e98ea9077df54829e724c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jul 30 11:10:55 2019 +1000

    Fix wrong enum type
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 39b0bb4585106a56a51236d8e9843b2da8d745a5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jul 30 11:46:50 2019 +1000

    Revert "Upgrade the default scroll distance to 120"
    
    This was part of the high-resolution wheel work that was factored out ahead of
    time. Problem is: this breaks scroll button emulation in the server as we
    use the distance to determine when we click buttons 4-7.
    
    Before: movement of 15 normalized pixel units on a touchpad - one click. Now:
    120 of those units. So that's a bit less than ideal.
    
    The change to 120 can be done, but needs the corresponding handling in the
    axis distance calculations.
    
    Fixes #24
    
    This reverts commit 055481187d44b10ba220398a1ca46f4854fd76ee.

commit 8923d18d25303354f250b4f165fa66b327b8ac7e
Author: David Rosca <nowrep@gmail.com>
Date:   Mon Feb 25 18:26:08 2019 +0100

    Also use type to match tablet tool with device
    
    On devices with tools having both serial and id 0,
    it would fail to create separate subdevices.
    
    Thinkpad X220T (Wacom ISDv4 E6) now correctly registers
    Pen and Eraser xinput devices.

commit 055481187d44b10ba220398a1ca46f4854fd76ee
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jan 23 09:01:24 2019 +1000

    Upgrade the default scroll distance to 120
    
    This is just a number, to be used as divider and shouldn't have any effect in
    correctly written clients. With the high-res scrolling coming up however, we
    have a few devices where the dist cannot be expressed as an integer fraction
    of 15, so let's up it to 120 because we know all hardware wheels have to be an
    integer fraction of that that, thanks to Microsoft's API requirements.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 5a925eaa84b31c5857969342802018cb5803475a
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Feb 4 13:14:11 2019 +1000

    xf86-input-libinput 0.28.2
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e7eafa199e9e60c15014a9d72d14efcbbf8e44ca
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jan 21 15:21:45 2019 +1000

    Handle scroll wheel events with a discrete of 0
    
    The driver currently assumes that any wheel event has a non-zero discrete
    value of 1. This is incorrect, it just hasn't triggered yet with any device.
    
    With the hi-res scroll patches in place in the kernel and libinput, we may get
    wheel events with a discrete value of 0. We assume that if this ever happens,
    the device has some sensible click angle set so all we need to do is ignore
    the discrete 0 events and wait for the first discrete event to come.
    
    Also add an explanatory comment too to make it clear the calculation is only
    done once.
    
    Fixes #19
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d13ab268bdf6eb589022c58ddc87c1211b49ac4c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jan 21 13:19:11 2019 +1000

    Return the wheel scroll value instead of just the fraction
    
    This is prep work for the hi-res work but right now, no real functional
    changes. It does however fix a bug where we used the vertial scroll dist for
    the horizontal wheel as well.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 347c78387eb3fbadcd582f0ea51bb083962a728f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jan 21 13:05:23 2019 +1000

    Split the scroll axis details up for easier extension
    
    If we need more per-axis fields, it's easier to add this way.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b63f7994dc4359900dbb2a29612e0112b6ae5b79
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jan 7 16:26:47 2019 +1000

    conf: add an example snippet for how to assign options
    
    Users still like to copy the whole file, potentially messing things up.
    Let's put a warning into the file directly that this is less than ideal.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 04f42d6e0f99d771cbbab25c896f287fd6697f37
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Nov 25 12:47:32 2018 -0800

    Update configure.ac bug URL for gitlab migration
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 5d341d1d6c389b286279f87d7a3bdb0f5bd275f1
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Nov 18 11:48:07 2018 -0800

    Update README for gitlab migration
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 4985de5ef3e81d32d694c3d4a480a6311b6f1416
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Oct 15 15:29:37 2018 +1000

    Remove two dead assignments
    
    Value stored but never read.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit e26fc3c66c04eb3d3164e6a9e7c983154fb00856
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Oct 15 09:36:36 2018 +1000

    xf86-input-libinput 0.28.1
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a759610292a53067fc811e70703bffff8dc0cb16
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Oct 4 11:45:46 2018 +1000

    Use the seat slot, not the device slot for touch events
    
    The device slot is per-device, so if we have more than one device we may get a
    touch down event for a slot already in use.
    
    Fixes https://gitlab.freedesktop.org/libinput/libinput/issues/153
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 21ff2ca7d1a771f6dcecb5b73dc1031f77c9dd69
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jul 19 15:58:06 2018 +1000

    Remove unused assignment
    
    dev is our list iterator below, this is a dead assignment
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c67f191d5bc1a4a130f89743a3ce35ee06c90f85
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jul 11 11:06:59 2018 +1000

    xf86-input-libinput 0.28.0
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1978a2555b338e5177523046e6338f58a4253951
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jul 11 10:59:20 2018 +1000

    Minor whitespace fix
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0909a1a76546284f27fb1b17a6f545a04537cc36
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Jul 10 11:17:50 2018 +1000

    draglock: fix memory overwrite during draglock parsing
    
    Passing in the size of the array but using it as "number of elements" inside
    the function. Rename a bunch of arguments to avoid this.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=107166
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 20bb8d6b9f4375557472dad67b5f8dcf31be27d3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed May 23 08:14:23 2018 +1000

    Revert "Implement the custom acceleration curve options"
    
    Custom pointer acceleration curves were reverted in libinput, so no point
    having this code here.
    
    This reverts commit d84e0035d12a9655c09a6e8c619b1144be42c90c.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1e88664d958a000ac610ae9000459c461ba45bd8
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed May 2 13:59:00 2018 +1000

    Use the libinput touch count to init the right number of touches
    
    Initial version by Johannes Pointner <h4nn35.work@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d84e0035d12a9655c09a6e8c619b1144be42c90c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Apr 17 13:51:53 2018 +1000

    Implement the custom acceleration curve options
    
    One new property, and the existing accel profile gets extended to keep one
    extra value. The new property libinput Accel Curve Points is a list of pairs
    of points to be added to the acceleration curve.
    
    libinput only supports adding points to the curve so we simply declare the
    behavior as undefined when the curve is set multiple times. Also helps to
    identify those that bother to read the man page before playing with random
    driver values.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6c75acfcdf6539713c3b62bc2227a4b215d05fdb
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Apr 20 13:33:45 2018 +1000

    Use xf86SetStrOption to check for string options
    
    This one shows up in the log and marks it as used.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit eaf847be16de1399aa271b94e4421a3794447462
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Apr 17 15:10:42 2018 +1000

    man: whitespace fixes in man page
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit d319092d557ec0280602879b19ef1b0a825e1e75
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Apr 17 13:52:11 2018 +1000

    man: fix formatting issue caused by invalid tag
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 18cc042e6822f5f24d06291ead07ea70723f9434
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Apr 10 09:19:52 2018 +1000

    xf86-input-libinput 0.27.1
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0db82219bb2ad10dcdf3ea8fe8e226858190c83b
Author: Evangelos Foutras <evangelos@foutrelis.com>
Date:   Thu Mar 22 01:47:07 2018 +0200

    Fix "left handed" property not set on all pointers
    
    Remove conditional that prevents the LIBINPUT_PROP_LEFT_HANDED{,DEFAULT}
    properties from being set on all pointer devices (only the first got it).
    This appears to be a debugging left-over accidentally merged in
    6d3bd4544a6a2f194fa.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=105667
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit f93bc148d4e6702d50ce320f6d519753c0af7c42
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Mar 20 11:23:57 2018 +1000

    xf86-input-libinput 0.27.0
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0d4b50fd6e200cb8b720ee0b917b882d2d03542b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Mar 19 10:00:59 2018 +1000

    man: note that we don't do /dev/input/by-id or /dev/input/by-path
    
    For logind-setups we need to match the path libinput wants to open with the
    Option Device path that the device has so we know when to return the
    server-fd. This doesn't work for by-id or by-path because libinput resolves
    those (through udev) to the actual eventX node so our paths look different
    when they are the same device.
    
    This could be fixed but since this is easy enough to work around with a
    InputClass section and rather a niche case, it's not really worth the effort.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=105562
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Adam Jackson <ajax@redhat.com>

commit 9d9f59fd4c5a57e4663b19c3cace6f78202c4689
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Feb 2 13:54:32 2018 +1000

    Apply the capabilities checks on subdevices when applying the config
    
    Properties are initialized on the correct devices only but on resume we'd just
    blindly apply the config from our device. Depending on the resume order, this
    would mean we'd apply a previously set config with a default config.
    
    Example:
    * pointer device with keyboard subdevice
    * pointer device exports natural scrolling, keyboard device does not and
      remains at default (off)
    * client enables natural scrolling on the pointer device
    * VT switch away, VT switch back
    * pointer device gets enabled first, enables natural scrolling on the
      libinput device
    * keyboard device gets enabled second, resets to the default value
    
    Reported-by: Yuxuan Shui <yshuiv7@gmail.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Tested-by: Yuxuan Shui <yshuiv7@gmail.com>

commit 73534814909b8b6f4fce8f44b412b2903397bdb0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Feb 2 13:24:43 2018 +1000

    Split LibinputDeviceApplyConfig into helper functions
    
    No functional changes

commit 6d3bd4544a6a2f194fa2ca7e08dca9cc44211e99
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Feb 2 13:27:11 2018 +1000

    Move the subdevice capabilities check into the properties
    
    87f9fe3a6fafe60134c6's intention was to not create properties that a subdevice
    doesn't have configuration options for (i.e. if you have a pointer+keyboard
    device, don't expose tapping configuration on the keyboard subdevice).
    
    The result was messy, the checker function had a confusing triple-negation and
    some properties weren't checked - e.g. left-handed was allowed for touch/tablet
    but not for pointer, dwt was allowed for any device.
    
    Fix this by moving the check into the property init function directly and
    inverting the helper function to be easier to read.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2be6487de417473aac85ebd800392cdd8604c4a6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Sep 15 11:26:54 2017 +1000

    xf86-input-libinput 0.26.0
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 6ce3d0249d426e6b3c83e7f86d76bb3145c00a74
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jun 26 18:27:10 2017 +1000

    Post a motion event before a tablet button down
    
    Not all clients update the pointer position correctly from the button events
    (for historical reasons) so we need to send a motion event before the button
    event that represents a tip state change.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=101588
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 87f9fe3a6fafe60134c69419c0e551b9dbc112b7
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed May 24 08:42:02 2017 +1000

    Only initialize properties that match capabilities on a subdevice
    
    If a device is split into multiple subdevices, usually pointer+keyboard, we
    initialized properties matching the libinput device on both devices. This
    results in the keyboard having e.g. a Accel Speed or Left Handed settings even
    though it cannot send any events of that type.
    
    Filter by capabilities on the subdevice so we only get those properties that
    match the subdevice's capabilities.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=100900
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0c657e0dcff4cff06a0d4cbea7dfac2a1d505cc3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu May 18 14:02:52 2017 +1000

    Update copyright years
    
    because why not
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ac3574958f90bdcac946d26519123d809998c33b
Author: Niklas Haas <git@haasn.xyz>
Date:   Mon May 15 03:13:43 2017 +0200

    man: add missing documentation for Accel Profile
    
    This seems to have been simply missing from 0163482e.
    
    cf. https://bugs.freedesktop.org/show_bug.cgi?id=101017
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

Notes (test-jelly):
    SUCCESS: jelly: make check Mon May 15 11:42:39 AEST 2017

commit 8772a593b45740f4429218648c9e3a305b3fe896
Author: Martin Kepplinger <martin.kepplinger@ginzinger.com>
Date:   Thu May 4 08:49:34 2017 +0200

    Fix config comment description to match the config
    
    Since the config matches on tablets too, update the describing comment
    accordingly.
    
    Signed-off-by: Martin Kepplinger <martin.kepplinger@ginzinger.com>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a80773a488da3f3dfe5a5dc0fd658dc8a6a3b331
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri May 5 13:43:23 2017 +1000

    xf86-input-libinput 0.25.1
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 8bc694595d26c2ae7dd98b27c9eed0ec0366b7a5
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Mar 21 13:13:43 2017 +1000

    Post a motion event after proximity events
    
    This patch splits the meat of xf86libinput_handle_tablet_axis into a helper
    function xf86libinput_post_tablet_motion(), to be called right after we send
    the proximity in event.
    
    Clients that don't handle proximity (e.g. all XI2 clients) don't see the
    coordinates we send along with the proximity events. And, for historical
    reasons, they may not look at the coordinates in button events. So a device
    that comes into proximity and immediately sends a tip down button event
    doesn't send a motion event, causing the client to think the tip down was at
    whatever the last known position was (before previous prox-out).
    
    The practical effect is that when a user tries to draw a few dots, they end up
    being connected to each other.
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1433755
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 153a7fc62fa87a2cc2516826b3eae16fa8cc861d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 9 15:58:39 2017 +1000

    xf86-input-libinput 0.25.0
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 72fb6d304eec6eeeac6b42963c2729134d56de57
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Feb 28 14:45:29 2017 +1000

    test: fix a test failure on ppc64(le) and aarch64
    
    Caused by different results in -O0 vs -O2. The resulting array differs only
    slightly but the initial sequence has one extra zero. That triggers our
    assert, no other compiler flag seem to be affecting this.
    
    Compiled with -O0:
    Breakpoint 1, test_nonzero_x_linear () at test-bezier.c:157
    157                     assert(bezier[x] > bezier[x-1]);
    (gdb) p bezier
    $6 = {0 <repeats 409 times>, 1, 2, 4, 5, 7, 9, 10, 12, 14, 15, 17, 19, 21, 22,
    
    Compiled with -O2:
    (gdb) p bezier
    $1 = {0 <repeats 410 times>, 1, 3, 5, 7, 9, 10, 12, 14, 15, 17, 19, 20, 22,
    
    Printing of the temporary numbers in the decasteljau function shows that a few
    of them are off by one, e.g.
        408.530612/0.836735 with O0, but
        409.510204/0.836735 with O2
    Note: these are not rounding errors caused by the code, the cast to int
    happens afterwards.
    
    Hack around this by allowing for one extra zero before we check that the rest
    of the curve is ascending again.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=99992
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit aae2c8ad9a9f1712149c93d50284ddb5f37e4cbd
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Feb 24 12:56:41 2017 +1000

    Open sysfs files directly instead of going through the server
    
    Only use-case here are pad mode LEDs that now live in /sys/class/leds. Asking
    the server to open them is pointless, the server only knows how to open Option
    "Device". And since the LEDs are in sysfs we should have access to them
    anyway, so no need for jumping through or hula-ing hoops.
    
    xf86CloseSerial() works as intended as it's a slim wrapper around close(), so
    we only have to worry about the open() path here.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit dafc296f2df587a1bb5feb37697c50608db4f246
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Feb 24 12:34:10 2017 +1000

    Add streq() macro, replace strcmp instances with it
    
    And why isn't this a thing in glibc yet
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>

commit 7c90f06d569b1b14d84075e7cea22bce06b925e6
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Feb 24 12:27:37 2017 +1000

    Update pad modes in a workproc, not during the input thread
    
    Updating the property directly causes us to send events from the input thread
    which has some "interesting" side effects like messing up the reply order or
    just crashing the server.
    
    Schedule a work proc instead and update it whenever the server is back in the
    main thread.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2eb5a2f0c08747df44eba6faff95cc9ce24b78ed
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Feb 9 16:16:34 2017 +1000

    xf86-input-libinput 0.24.0
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 19ceef972e76bc491438198659748786d9457668
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Jan 27 10:24:08 2017 +1000

    Drop unnecessary function declaration
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 07f30ea049303739bf6006d23ac924971a19d778
Author: Mihail Konev <k.mvc@ya.ru>
Date:   Thu Jan 26 14:00:21 2017 +1000

    autogen: add default patch prefix
    
    Signed-off-by: Mihail Konev <k.mvc@ya.ru>

commit 6187ed0450e68aaf727779ad61b50b0b70a1122e
Author: Emil Velikov <emil.l.velikov@gmail.com>
Date:   Mon Mar 9 12:00:52 2015 +0000

    autogen.sh: use quoted string variables
    
    Place quotes around the $srcdir, $ORIGDIR and $0 variables to prevent
    fall-outs, when they contain space.
    
    Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
    Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 974ab6b62bd2af97e1556314df28fe9f3b816e54
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Oct 28 11:20:22 2016 +1000

    Add tablet tool area ratio property
    
    By default, the X server maps the tablet axes to the available screen area.
    When a tablet is mapped to the screen but has a different aspect ratio than
    the screen, input data is skewed. Expose an area ratio property to map the
    a subsection of the available tablet area into the desired ratio.
    
    Differences to the wacom driver: there the x/y min/max values must be
    specified manually and in device coordinates. For this driver we merely
    provide the area ratio (e.g. 4:3) and let the driver work out the rest.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com>

commit 5d0470738125243c98f7a8cc40d62f53604a8051
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Oct 24 14:41:51 2016 +1000

    Implement stylus pressure curve support
    
    Takes a 4-point cubic bezier curve as input and maps the pressure coordinates
    to the values outlined by this curve. This is an extension of the current
    implementation in the xf86-input-wacom driver which only allows the two center
    control points to be modified.
    
    Over the years a few users have noted that the wacom driver's pressure curve
    makes it impossible to cap the pressure at a given value. Given our bezier
    implementation here, it's effectively a freebie to add configurability of the
    first and last control points. We do require all control points' x coordinates
    to be in ascending order.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit f65a5c50224efc34414f44c86700e15392b7039b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Oct 26 11:57:49 2016 +1000

    Add a bezier curve implementation
    
    Needed for the wacom stylus pressure curve
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 0dad7408fac3b69c4b6ab7705f39f790d7ba20c2
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Nov 28 14:09:06 2016 +1000

    Calculate the required scroll distance based on the angle
    
    For a mouse with a click angle of 15 degrees things are unchanged. For devices
    with angles less than 10, the current code scrolled way too fast. Because the
    angle wasn't used anywhere, each tick would count as full scroll wheel event,
    a slight movement of the wheel would thus scroll as much as a large movement
    on a normal mouse.
    
    Fix this by taking the actual click angle of the device into account. We
    calculate some multiple of the angle that's close enough to the default 15
    degrees of the wheel and then require that many click events to hit the full
    scroll distance. For example, a mouse with a click angle of 3 degrees now
    requires 5 clicks to trigger a full legacy scroll button event.
    
    XI2.1 clients get the intermediate events (i.e. in this case five times
    one-fifth of the scroll distance) and can thus scroll smoothly, or more
    specifically in smaller events than usual.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=92772
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>

commit ea02578a4e888d9908eb6bed6dcb858f78acb8bb
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Nov 29 08:31:32 2016 +1000

    Move axis value calculation into a helper function
    
    The only difference here is the axis number.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>

commit 2ceb2e1b18b6f971706230d16a2a5665d87aabd4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Nov 29 09:21:24 2016 +1000

    Add a comment regarding scroll dist default values
    
    Changed this during development because I forgot that the value actually
    matters (for touchpads anyway).
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>

commit f47f78eb0bd9fba455f01c8c6dead3bd75242b2b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Dec 20 15:36:55 2016 +1000

    Ignore LED updates for disabled devices
    
    If an XKB AccessX timeout is set and a VT switch is triggered, the
    AccessXTimeoutExpire function may be called after the device has already been
    disabled. This can cause a null-pointer dereference as our shared libinput
    device may have been released by then.
    
    In the legacy drivers this would've simply caused a write to an invalid fd
    (-1), not a crash. Here we need to be more careful.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=98464
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>

commit 1c3ce3ce3c315213511735db1b0fdd74ca8442d0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Dec 12 14:54:00 2016 +1000

    xf86-input-libinput 0.23.0
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 4d481ea7c80dad9f53b47c026959c25ad9da5211
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Dec 5 14:25:31 2016 +1000

    Fix default scroll button number
    
    Was exposing the evdev code rather than the xorg code.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>

commit 72bac84df9ce72f2baf730655ecc23f1692d1e64
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Nov 15 11:23:08 2016 +1000

    If the parent libinput_device is unavailable, create a new one
    
    The parent device ref's the libinput device during pre_init and unref's it
    during DEVICE_INIT, so the copy is lost. During DEVICE_ON, the libinput device
    is re-added and ref'd, this one stays around now. But the takeaway is: unless
    the device is enabled, no libinput device reference is available.
    
    If a device is a mixed pointer + keyboard device, a subdevice is created
    during a WorkProc. The subdevice relied on the parent's libinput_device being
    available and didn't even check for it. This WorkProc usually runs after
    the parent's DEVICE_ON, so in most cases all is well.
    
    But when running without logind and the server is vt-switched away, the parent
    device only runs PreInit and DEVICE_INIT but never DEVICE_ON, causing the
    subdevice to burn, crash, and generally fail horribly when it dereferences the
    parent's libinput device.
    
    Fix this because we have global warming already and don't need to burn more
    things and also because it's considered bad user experience to have the
    server crash. The simple fix is to check the parent device first and if it is
    unavailable, create a new one because it will end up disabled as well anyway,
    so the ref goes away as well. The use-case where the parent somehow gets
    disabled but the subdevice doesn't is a bit too niche to worry about.
    
    This doesn't happen with logind because in that case we don't get a usable fd
    while VT-switched away, so we can't even run PreInit and never get this far
    (see the paused fd handling in the xfree86 code for that). It can be
    reproduced by setting AutoEnableDevices off, but why would you do that,
    seriously.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=97117
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>

commit 0b073d90e63d644401769c61611638d65a4eaf44
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Nov 11 12:36:01 2016 +1000

    Link the left-handed property between the tools
    
    The property is tablet-wide, not just per tool. So when one tool is updated,
    run through all other devices that share the same underlying device.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>

commit 669fbb098516e0bdf6c62c52c1bcb12580de069b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Nov 1 10:42:19 2016 +1000

    Drop indentation for matrix handling
    
    Exit early if the string is NULL to reduce indentation. No functional changes.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c4f0a9bcb846f70b85a285e8acea8fe086abdccb
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Nov 1 10:06:03 2016 +1000

    conf: match against tablets too
    
    Now that we sort below the xf86-input-wacom driver anyway, there's no good
    reason to ignore tablets anymore.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a61e156326197dbbf1c1294693946c504af9daee
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Oct 24 14:23:16 2016 +1000

    man: sort the options and properties alphabetically
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 552cbaf466a0aede8f789aa2013795f3b9ac253d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Oct 26 15:03:48 2016 +1000

    Don't init the AccelSpeed/LeftHanded properties on the base tablet device
    
    This device never sends events, no point in exposing these options
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>

commit bc91d337d7cf765fd23e47783a498e4b3b334f39
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Oct 20 08:42:53 2016 +1000

    Fix potential NULL pointer dereferencing
    
    Found by coverity.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c8d2293873d3f86e5cefffa5c51cfe423d09c948
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Oct 20 08:38:24 2016 +1000

    Remove superfluous check for next being NULL
    
    is_libinput_device(next) causes a dereference of next anyway, so this cannot
    ever be NULL.
    
    Besides, if next ends up as NULL that means we have lost count of how many
    remaining devices use libinput, so we have other issues.
    
    Found by coverity.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a7014aa8c619ed9bc1cd5c0b38428fd88f1bc8d4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Oct 20 08:27:01 2016 +1000

    Remove two unused variables
    
    They were never used anyway
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit bf7fffde520277e13b350950de9dc5bf89858951
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Oct 19 11:42:57 2016 +1000

    Don't init the horiz scroll property on non-pointer devices
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 728217775626e2086d7c3acd0d242562390f145b
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Oct 19 10:55:12 2016 +1000

    xf86-input-libinput 0.22.0
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 1dd61abf7e6af9cdd12d8f5a35fe90954aa03e64
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Oct 19 10:37:32 2016 +1000

    Wrap the input_lock calls into ifdefs
    
    Missing from a790ff35f9
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit c80954386d536b83f2c9290e1a88515c04505818
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Oct 19 09:24:37 2016 +1000

    xf86-input-libinput 0.21.0
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a790ff35f90e459fe03e0c78ab6f4e9dd5045dd0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Oct 14 17:00:41 2016 +1000

    Swap the registered input device on DEVICE_OFF when needed
    
    If we don't swap out the pInfo previously passed to xf86AddEnabledDevice(),
    the thread eventually calls read_input on a struct that has been deleted.
    Avoid this by swapping out the to-be-destroyed pInfo with the first one we
    find.
    
    Reproducer: sudo udevadm trigger --type=devices --action=add
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Reviewed-by: Hans de Goede <hdegoede@redhat.com>

commit 6318ac420b644c7f7a6f2c8e47a64238a4afebeb
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Oct 14 13:34:56 2016 +1000

    Fix tap button map option handling
    
    Copy/paste error
    
    https://bugs.freedesktop.org/show_bug.cgi?id=97989
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

