commit 62f267a952208005bf378c554fa84f4dc2489b35
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jan 24 15:00:09 2022 +1000

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

commit c1f07edafafe63f8f22fd4e2aff6761e46872ed4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Jan 24 11:38:01 2022 +1000

    Fix a compiler warning
    
    xf86libinput.c:2457:89: warning: passing argument 1 of
    ‘libinput_event_pointer_get_axis_source’ from incompatible
    pointer type [-Wincompatible-pointer-types]
    
    No function changes due to the binary layout of libinput events but
    let's not rely on that.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit a3d38b0f40c771c4064cb0047ccf46f4d299d557
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Jan 16 11:45:08 2022 -0800

    Build xz tarballs instead of bzip2
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit e3a75f34f865f66e0ebf04b8c11fd97c972647d6
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date:   Sun Jan 16 11:50:26 2022 -0800

    Fix spelling/wording issues
    
    Found by using:
        codespell --builtin clear,rare,usage,informal,code,names
    
    Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>

commit 830f7c3b1bd29e0e6b6bdbf0ffd2390a4d385413
Author: Luna Nova <freedesktop-gitlab@nyx.nova.fail>
Date:   Sat Dec 18 04:55:14 2021 +0000

    Fix copy-paste error in LibinputInitAccelProperty checking available profiles against adaptive/flat

commit 4ab78733662e6eb44c0ba6435ee58a8a4d6b264f
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Mon Nov 22 10:14:33 2021 +1000

    Quietly check for the _source option
    
    xf86CheckStrOption returns the same value but doesn't mark it as used in
    the server and, more importantly, doesn't spam the log with
      (**) Option "_source" "server/udev"
    messages.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit b3e65904dbb81181b207711dd7e40c5f85852cfd
Author: José Expósito <jose.exposito89@gmail.com>
Date:   Wed Nov 17 07:57:28 2021 +0100

    Make XIPropertyValuePtr verification consistent
    
    Signed-off-by: José Expósito <jose.exposito89@gmail.com>

commit 75cc87518b1ae611e7495be3a516a1395cef5891
Author: José Expósito <jose.exposito89@gmail.com>
Date:   Sun Nov 14 22:52:47 2021 +0000

    Add an option to disable high-resolution wheel scroll
    
    Starting on libinput 1.19 pointer axis events have been deprecated in
    favor of their scroll equivalents, including support for high-resolution
    wheel scroll.
    
    While it is recommended to handle the new events, some applications
    and/or frameworks might not be ready at the moment.
    
    Provide an option to discard high-resolution wheel scroll events.
    
    Fix #41
    
    Signed-off-by: José Expósito <jose.exposito89@gmail.com>

commit 3951ce739def06c99df5d4669d2af5c74653ad66
Author: José Expósito <jose.exposito89@gmail.com>
Date:   Wed Nov 10 18:12:46 2021 +0100

    man: fix horizontal scroll property name
    
    Signed-off-by: José Expósito <jose.exposito89@gmail.com>

commit cbdd9efaab17b90567f1cb8f44da657a40c33d6d
Author: Povilas Kanapickas <povilas@radix.lt>
Date:   Sun Sep 19 19:55:46 2021 +0300

    xf86-input-libinput 1.2.0
    
    Signed-off-by: Povilas Kanapickas <povilas@radix.lt>

commit 4c54f4d0d2267425730e88c35d3aa4c373988272
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Sep 16 11:08:44 2021 +1000

    Rename HAS_GESTURES to HAVE_GESTURES
    
    HAVE_FOO is generally used everywhere (see HAVE_CONFIG_H) so let's keep
    this consistent.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 83312147716cfb4627cd9ae8e58ac5aec50e168f
Author: Povilas Kanapickas <povilas@radix.lt>
Date:   Wed Sep 15 20:09:33 2021 +0300

    gitlab-ci: Configure xorgproto build from source
    
    We need newer xorgproto than what's in fedora as we depend on inputproto
    2.3.99.1 or newer.

commit 8588a19f63f9c17f66a83850e20955450c3098a2
Author: Povilas Kanapickas <povilas@radix.lt>
Date:   Wed Sep 15 19:45:49 2021 +0300

    Require inputproto 2.4 to build the gesture support
    
    Signed-off-by: Povilas Kanapickas <povilas@radix.lt>

commit beb94333e1450006942a7f0ee38bc2a2f5719238
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Wed Jan 23 20:07:37 2019 +1000

    Use the new v120 API from libinput if available
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ca9042c7f08f8f0dc214b9cc19f3243728ec8c4a
Author: José Expósito <jose.exposito89@gmail.com>
Date:   Wed Aug 4 17:51:26 2021 +0200

    Get scroll source in the event handler
    
    Where libinput supports high-resolution scroll events, the scroll source
    is encoded in the event type.
    
    Get the scroll source in xf86libinput_handle_event to facilitate the
    migration.
    
    Refactor, no functional changes.
    
    Signed-off-by: José Expósito <jose.exposito89@gmail.com>

commit bf8dc2e2ed0780b947eccfc9ac3694c518dee605
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.
    
    For non-wheel scrolls we need to now map into the new range. Previously we
    just passed the scroll events on from the touchpad/button scrolling, meaning a
    vdist of 15 meant 15 "libinput pixels" of scrolling resulted in a logical
    wheel click. Now that we have 120 as vdist, we need to times the input data by
    8 to keep the same proportions.
    
    See 39b0bb4585106a56a51236d8e9843b2da8d745a5 for the previous revert.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit ecd845c30752a328acfeccb7750dc70350beab0d
Author: Povilas Kanapickas <povilas@radix.lt>
Date:   Sat Oct 10 02:57:40 2020 +0300

    Implement support for touchpad gestures

commit 0d9184cb769d38f3cf5a92004211315e5407183d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Jun 24 08:26:19 2021 +1000

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

commit 9bb9e635df731eea1ad7022d1f188ace9802b353
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Apr 13 16:07:24 2021 +1000

    Implement a touchpad scroll distance property
    
    To be used for touchpads and continuous (i.e. button-based scrolling).
    
    libinput provides us with pixel data for finger-based and button-based
    scrolling but the X server does support this - XI2.1 smooth scrolling is
    merely centered around a logical scroll click (defined as "increment"), with
    smooth scrolling being a fraction of that increment. For example, in the old
    synaptics driver that value was in device-specific units and thus different
    for every device.
    
    The increment is a constant value set in the ScrollClass and cannot be changed
    at device runtime. So we simply initialize with a random default (15, because
    that works well for wheels) and then scale our pixel delta in to that range.
    
    With the default value, a 15 pixel movement would result in a logical scroll
    click, if the distance is set to 30 the users has to move 30 pixels to trigger
    that scroll click. Pixel here being defined as the deltas that libinput
    provides to us.
    
    From the client's perspective nothing changes, the increment is still the
    same.
    
    Range checks are quite restrictive, this option is supposed to improve
    usability, not as a workaround around other bugs.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit cc10918bdc697aac76fdd8911c5a6adbd1ab61a0
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Apr 27 13:44:14 2021 +1000

    Fix a spacing issue
    
    yay for copy/paste proliferation
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 69888cef81b3bf2339aa9f9132e4b7b83127979c
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Apr 16 12:18:24 2021 +1000

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

commit 6c1c53d296f42b4bdadadf1d85750c4610fc4096
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Fri Apr 9 10:33:15 2021 +1000

    Make sure the device is valid when setting the tap button map
    
    Fixes #34
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 34f14fdf1222d0b4e75a022fd10a04d57800ea93
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Apr 6 15:50:38 2021 +1000

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

commit 92047e5d99f271a3c7253b4f1b7b7cca4a6ac834
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Apr 6 15:55:31 2021 +1000

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

commit b8d3c29f59c15f375911192f9920c96943504bf3
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue Apr 6 15:51:23 2021 +1000

    Remove trailing whitespaces
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit 2bbc4727a12471e3699e2803404a013656066a94
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Thu Mar 18 13:34:35 2021 +1000

    Switch to the real MIT license
    
    Due to a copy/paste error, the COPYING file and subsequently created files
    with the same content referred to the "Historical Permission Notice and
    Disclaimer - sell variant", not the proper MIT license.
    
    Replace with the proper MIT (Expat) license and add the use SPDX license
    identifiers.
    
    Acks below are from contributors with substantial changes, collected in MR !19
    or via private email correspondence.
    
    https://gitlab.freedesktop.org/xorg/driver/xf86-input-libinput/-/merge_requests/19
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
    Acked-by: Dorian Stoll <dorian.stoll@tmsp.io>
    Acked-by: Jonas Ådahl <jadahl@gmail.com>
    Acked-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
    Acked-by: Evangelos Foutras <evangelos@foutrelis.com>
    Acked-by: Niklas Haas <git@haasn.xyz>
    Acked-by: Olivier Fourdan <ofourdan@redhat.com>
    Acked-by: David Rosca <nowrep@gmail.com>
    Acked-by: Lyude Paul <lyude@redhat.com>
    Acked-by: Keith Packard <keithp@keithp.com>
    Acked-by: Alan Coopersmith <alan.coopersmith@oracle.com>
    Acked-by: Michel Dänzer <michel@daenzer.net>
    Acked-by: Tim Writer <tim.writer@amd.com>
    Acked-by: Friedrich Schöller <code@schoeller.se>
    Acked-by: Mikhail Konev <k.mvc@ya.ru>
    Acked-by: Martin Pieuchot <mpi@openbsd.org>

commit 39be9449911a7d59386721944e1c4c45f620b95e
Author: Dorian Stoll <dorian.stoll@tmsp.io>
Date:   Tue Nov 3 15:41:42 2020 +0100

    Lift canceled touch inputs
    
    If a touch input gets turned into a palm (by setting ABS_MT_TOOL_TYPE to
    MT_TOOL_PALM), libinput will emit a cancel event instead of the normal
    up event. The xorg wrapper needs to be able to handle a canceled touch
    and lift it, otherwise these inputs will never get lifted and will stick
    around forever.
    
    Signed-off-by: Dorian Stoll <dorian.stoll@tmsp.io>

commit bd2aaa246dae9ed1896d48ee4a5594c41107d123
Author: Povilas Kanapickas <povilas@radix.lt>
Date:   Mon Oct 19 21:09:49 2020 +0300

    Remove extraneous semicolon

commit 99773d7bdae7eb67064a35d1eea898f1a1966f70
Author: Povilas Kanapickas <povilas@radix.lt>
Date:   Mon Sep 7 05:46:16 2020 +0300

    Remove unused btnmap variables

commit 3afb6244e3510377eb24c7ce1cca014b2979b359
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue May 19 16:34:18 2020 +1000

    Bump the server requirement to 1.19 to get rid of a bunch of ifdefs
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

commit f279108ffd07616299cf9fb922de14bd1249658d
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date:   Tue May 19 16:30:11 2020 +1000

    Bump the libinput requirement to 1.11
    
    Released June 2018, that should be recent enough.
    
    Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>

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
    
