summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-07-19Add support for clickfinger button mapsHEADmasterPeter Hutterer
2024-06-10Implement tablet tool pressure range supportPeter Hutterer
2024-06-07Revert "fix int type mismatches in printf()-like calls"Peter Hutterer
This now warns on 64-bit machines: ../src/xf86libinput.c:542:61: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘CARD32’ {aka ‘unsigned int’} [-Wformat=] Given they vastly outnumber 32-bit machines now, let's go back to the old one that only warns on 32 bit until we fix the actual source types to use uint32_t and similar. This reverts commit a7d299425602dc7d8d6baffb8d483c37855e4281.
2024-02-21update .gitignoreEnrico Weigelt, metux IT consult
"test/test-bezier" was yet missing Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-02-21fix int type mismatches in printf()-like callsEnrico Weigelt, metux IT consult
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-02-21replace BUG_() macros by xf86IDrvMsg() callsEnrico Weigelt, metux IT consult
Latest master moved the BUG_() macros out of os.h, and it's more appropriate to use xf86IDrvMsg() in those cases (like we're already doing in other places) anyways. Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-02-20gitlab CI: update to latest templates and current fedoraPeter Hutterer
2024-02-20Add editorconfig filePeter Hutterer
2023-11-10Add a property for the tablet tool serial and hw IDPeter Hutterer
The driver encodes the serial in the device name but that's not reliable enough. Expose both serial and tool id (optional) as a property so clients can read them and adjust their behavior accordingly. Fixes #16
2023-11-10Sort the read-only propertiesPeter Hutterer
2023-08-25xf86-input-libinput 1.4.0Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-07-10Don't try to enable a NULL devicePeter Hutterer
If there is no other libinput device in our list (and next is thus NULL), skip the xf86AddEnabledDevice() call. Fixes #60
2023-07-03Don't run past the last element in the listPeter Hutterer
If there is no (other) libinput device in the current device list, we'd eventually end up with next == NULL, causing a segfault. Fixes #60
2023-06-15tablet: map BTN_STYLUS3 to button 8Peter Hutterer
Buttons 4-7 are out of bounds for hysterical historical reasons. Previously this button fell through to the default statement and resulted in 8 + BTN_STYLUS3 - BTN_SIDE == 65 which is rather obviously wrong. Instead, map it explicitly to what the fourth button would be mapped to on other devices. This will now overlap with BTN_SIDE on devices that both BTN_STYLUS3 *and* BTN_SIDE but those devices don't appear to exist in the real world. Fixes #50 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-06-08Initialize the left-handed property for tablet toolsPeter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-06-08Change the capabilities to an enumPeter Hutterer
Slightly nicer for debugging.
2023-04-26Improve documentation of the custom acceleration profileYinon Burgansky
2023-04-04xf86-input-libinput 1.3.0xf86-input-libinput-1.3.0Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2023-02-18Add support for the scroll movement type of the custom acceleration profileYinon Burgansky
Adds new properties and xorg.conf entries for setting the scroll acceleration function's points and step. The new xorg.conf entries are AccelPointsScroll, AccelStepScroll.
2023-02-01Correct the coordinate transform parameters for an absolute pointerShin-myoung-serp
Fixes #53
2023-01-09Add support for custom pointer accelerationPeter Hutterer
Adds new properties and xorg.conf entries for setting the acceleration function's points and step. `AccelProfile` option can now accept `custom` value. Add 4 new options which only apply when `AccelProfile` is `custom`: - Add `AccelPointsFallback` option for setting the points of the Fallback acceleration function. Points values are represented by a space-separated list, e.g. "0.0 1.0 2.4 2.5". - Add `AccelStepFallback` option for setting the step of the Fallback acceleration function. When a step of 0.0 is provided, libinput default Fallback acceleration function is used. - Add `AccelPointsMotion` and `AccelStepMotion` options, which are equivalent to `AccelPointsFallback` and `AccelStepFallback` options, but apply to the Motion acceleration function. See libinput documentation for a detailed explanation of custom pointer acceleration.
2022-12-09configure.ac: inputproto 2.4 is optionalPeter Hutterer
Missing else condition in PKG_CHECK_MODULES caused configure to bail out where 2.4 wasn't available. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2022-07-23gitlab CI: enable gitlab's builtin static analysisAlan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-07-23gitlab CI: enable commit & merge request checksAlan Coopersmith
Uses ci-fairy from freedesktop/ci-templates Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-04-27Better explain HorizontalScrolling.Hong Xu
2022-01-25Add meson build systemPeter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2022-01-25man: use @VERSION@ for the driver versionPeter Hutterer
Makes use of meson easier which requires @ as pre/suffix for variables. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2022-01-25man: replace the various suffixes with their actual numbersPeter Hutterer
These don't change, iirc they exist because of some unixes having different man pages but at this point really on Solaris is left and that uses the same suffixes as everyone else. And the __xservername__ is a leftover from the Xfree86 vs Xorg days - if you're still running Xfree86, you're not using this driver. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2022-01-25Drop HAVE_CONFIG_H, we always have it definedPeter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2022-01-24xf86-input-libinput 1.2.1xf86-input-libinput-1.2.1Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2022-01-24Fix a compiler warningPeter Hutterer
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>
2022-01-16Build xz tarballs instead of bzip2Alan Coopersmith
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2022-01-16Fix spelling/wording issuesAlan Coopersmith
Found by using: codespell --builtin clear,rare,usage,informal,code,names Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2021-12-18Fix copy-paste error in LibinputInitAccelProperty checking available ↵Luna Nova
profiles against adaptive/flat
2021-11-24Quietly check for the _source optionPeter Hutterer
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>
2021-11-17Make XIPropertyValuePtr verification consistentJosé Expósito
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
2021-11-14Add an option to disable high-resolution wheel scrollJosé Expósito
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>
2021-11-10man: fix horizontal scroll property nameJosé Expósito
Signed-off-by: José Expósito <jose.exposito89@gmail.com>
2021-09-19xf86-input-libinput 1.2.0xf86-input-libinput-1.2.0Povilas Kanapickas
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2021-09-16Rename HAS_GESTURES to HAVE_GESTURESPeter Hutterer
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>
2021-09-16gitlab-ci: Configure xorgproto build from sourcePovilas Kanapickas
We need newer xorgproto than what's in fedora as we depend on inputproto 2.3.99.1 or newer.
2021-09-16Require inputproto 2.4 to build the gesture supportPovilas Kanapickas
Signed-off-by: Povilas Kanapickas <povilas@radix.lt>
2021-08-06Use the new v120 API from libinput if availablePeter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-08-04Get scroll source in the event handlerJosé Expósito
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>
2021-08-04Upgrade the default scroll distance to 120Peter Hutterer
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>
2021-07-05Implement support for touchpad gesturesPovilas Kanapickas
2021-06-24xf86-input-libinput 1.1.0xf86-input-libinput-1.1.0Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-05-05Implement a touchpad scroll distance propertyPeter Hutterer
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>
2021-05-05Fix a spacing issuePeter Hutterer
yay for copy/paste proliferation Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2021-04-16xf86-input-libinput 1.0.1xf86-input-libinput-1.0.1Peter Hutterer
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>