Peter Hutterer [Mon, 24 Apr 2017 05:58:22 +0000 (15:58 +1000)]
touchpad: drop the unused touchpad_model enum
A leftover from synaptics where we do this detection in the driver. libinput
pushes this to the hwdb and sets the model flags accordingly.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 19 Apr 2017 04:11:45 +0000 (14:11 +1000)]
doc: add documentation for touchpad pressure detection
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 19 Apr 2017 03:45:34 +0000 (13:45 +1000)]
touchpad: move the pressure range to a hwdb entry
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 25 Apr 2017 22:31:15 +0000 (08:31 +1000)]
configure.ac: quote the xyes for the libunwind check
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 25 Apr 2017 22:30:44 +0000 (08:30 +1000)]
configure.ac: move some checks out of the libwacom section
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 20 Apr 2017 05:54:55 +0000 (15:54 +1000)]
Rename README to README.md, include properly from doxygen
As of doxygen 1.8.3 (Dec 2012) doxygen can include a README.md directly as
mainpage. This avoids the ugly doxygen bits we have in the current README.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 20 Apr 2017 22:47:31 +0000 (08:47 +1000)]
Add doc to discourage use of libinput_device_get_output_name()
This is a leftover from when libinput was part of weston and we could
interpret properties correctly. Realistically, the only way this could work
with libinput as external library is if we define precisely what the
definition of an output is. Practically, it's a lot easier to just throw up
our hands and leave it all to the caller.
https://bugs.freedesktop.org/show_bug.cgi?id=100707
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk>
Peter Hutterer [Mon, 27 Feb 2017 01:20:14 +0000 (11:20 +1000)]
evdev: improve default scroll button detection
Try to guess the default scroll buttons a bit better. Right now we default to
scroll button 0 (disabled) whenever a device doesn't have a middle button but
we might as well cast a wider net here as setting a scroll button only has a
direct effect when button scrolling is enabled.
Use the first extra button we find or fall back onto the right button if we
don't have any extra buttons.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 20 Apr 2017 10:21:43 +0000 (20:21 +1000)]
doc: link the seats doc from the seat udev properties
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 20 Apr 2017 01:04:44 +0000 (11:04 +1000)]
tools: update man page for debug-events --show-keycodes flag
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 20 Apr 2017 00:43:01 +0000 (10:43 +1000)]
tools: fix typo in list-devices man page
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 19 Apr 2017 04:11:25 +0000 (14:11 +1000)]
doc: drop superfluous </pre> tag
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 4 Apr 2017 01:10:29 +0000 (11:10 +1000)]
configure.ac: drop auto-detection of features
During the work with meson I realised auto-detection is not a good solution.
Our dependencies should be well-defined for what is considered 'normal' and
explicitly defined for any deviation from that normal build.
The normal build includes docs, tools, tests, etc. because we expect
developers to find errors in any of those. A distribution build may exclude
some of these bits, but it should be explicitly specified by the distribution
rather than having our build system guess what's not needed.
This patch drops any auto-detection of features and replaces it with a hard
yes/no.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Nate Graham [Mon, 3 Apr 2017 14:51:22 +0000 (08:51 -0600)]
Fix build instructions for openSUSE
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=100527
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Sat, 1 Apr 2017 05:37:24 +0000 (15:37 +1000)]
tablet: remove useless self-assignment
Introduced in
230af3f9fcf
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 30 Mar 2017 05:04:13 +0000 (15:04 +1000)]
udev: set size hint for the Apple Magic Trackpad
Not required because it sets the resolution in the kernel, but we have a
generic "Apple touchpads" rule with a different size. Even though libinput
won't use this property, let's override the generic one with the right
dimensions.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 30 Mar 2017 02:50:13 +0000 (12:50 +1000)]
test: unset MOUSE_DPI for the apple magic mouse
As of systemd commit
f013e99e160f385a0c02793c612ef4c8a8ffc4d7, ID_BUS is now
set for all bluetooth devices, not just those with subsystem bluetooth. This
affects the Apple Magic Mouse and sets the systemd hwdb's MOUSE_DPI value.
That value is different to the test results we currently have, causing some
tests to fail because different deltas are generated (e.g.
pointer_scroll_button).
Our udev rules are prefixed 99 and thus apply after the various system rules.
So we can't easily set ID_BUS in our rule because it'll apply after
70-mouse.rules checks for the bustype. So we'd have to detect systemd version
or so, but the easy way is to simply force MOUSE_DPI to the empty value. For
our test cases it doesn't matter if the DPI is set correctly anyway.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 30 Mar 2017 02:09:06 +0000 (12:09 +1000)]
test: fix udev rule for click count device
Assigned click counts to other, unrelated devices
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 29 Mar 2017 00:36:30 +0000 (10:36 +1000)]
touchpad: don't try to unhover touches in NONE state
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 28 Mar 2017 01:48:52 +0000 (11:48 +1000)]
test: highlight the various state machines with colors
Makes visual identification easier
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 28 Mar 2017 01:38:12 +0000 (11:38 +1000)]
test: detect linebreaks in log messages
If a single log message is composed of multiple calls (as are all from
evdev_log_*), don't prefix multiple times.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 28 Mar 2017 01:31:16 +0000 (11:31 +1000)]
test: add color to litest verbose output
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 28 Mar 2017 01:23:15 +0000 (11:23 +1000)]
test: align litest output messages
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 27 Mar 2017 22:55:35 +0000 (08:55 +1000)]
test: drop unused variable
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 28 Mar 2017 03:13:46 +0000 (13:13 +1000)]
evdev: fix typo in log message
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 24 Mar 2017 00:11:02 +0000 (10:11 +1000)]
tools: use 'required_argument'/'no_argument' for getopt_long
See the getopt_long example, makes the code more obvious
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 23 Mar 2017 00:18:19 +0000 (10:18 +1000)]
Merge branch 'wip/tablet-wobbly-lines-v2'
Peter Hutterer [Tue, 7 Mar 2017 06:00:45 +0000 (16:00 +1000)]
tablet: add axis smoothing
Taking the tablet events as-is produces the occasional wobble in what should
be a straight line. Bug 99961 has a jpg attachment to illustrate that.
Emulate the wacom driver behavior and average x/y across the last 4 values to
smoothen out these dents.
https://bugs.freedesktop.org/show_bug.cgi?id=99961
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Ping Cheng <pingc@wacom.com>
Peter Hutterer [Tue, 7 Mar 2017 07:08:07 +0000 (17:08 +1000)]
tablet: reset delta and changed axes as soon as we send them
We don't have frame events for tablets so we must take care to send the
axis change notifications only once and leave the others as-is. Most of the
axes are absolute so it doesn't really matter, but we need to reset the delta
to make sure clients don't receive the same delta twice.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Ping Cheng <pingc@wacom.com>
Peter Hutterer [Tue, 7 Mar 2017 06:37:55 +0000 (16:37 +1000)]
tablet: add assert that deltas are always 0
The tablet axis struct has a delta field that's only useful for the events,
not for our internal axis handling. Make sure we never set it to anything
nonzero.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Ping Cheng <pingc@wacom.com>
Peter Hutterer [Tue, 7 Mar 2017 05:32:59 +0000 (15:32 +1000)]
tablet: split point vs delta handling up
Handle the delta in the end once we've updated the device state for all axes.
This requires us to use the device history rather than the current state
delta, and it also requires us to update both x and y whenever an axis change
comes in.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Ping Cheng <pingc@wacom.com>
Peter Hutterer [Tue, 7 Mar 2017 04:02:53 +0000 (14:02 +1000)]
table: move custom rotation handling into a helper function
This is a bit hard to follow:
- tilt is handled first and if either tilt axis is set we fetch *both* tilt axes
into tablet->axes.tilt
- rotation is handled second but it only triggers if either tilt axis is
flagged. as we now guarantee to have both axes in tablet->axes.tilt, we
can continue with the rotation conversion without needing some other state
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Ping Cheng <pingc@wacom.com>
Peter Hutterer [Tue, 7 Mar 2017 03:29:23 +0000 (13:29 +1000)]
tablet: reshuffle device axis updates
This is prep work for axis smoothing. Modify the various helper functions to
just update the state in the tablet and then grab the state later for better
grouping.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Ping Cheng <pingc@wacom.com>
Peter Hutterer [Tue, 7 Mar 2017 03:20:32 +0000 (13:20 +1000)]
tablet: move the axis transforms to the end
No functional changes, part of the grouping of tablet axis manipulation vs.
processing of that manipulated state.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Ping Cheng <pingc@wacom.com>
Peter Hutterer [Tue, 7 Mar 2017 03:17:43 +0000 (13:17 +1000)]
tablet: move delta processing down
No functional changes, this is just to group the calls that modify tablet axis
state together and move the bits that rely on this state (but don't modify it)
to the bottom.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Ping Cheng <pingc@wacom.com>
Peter Hutterer [Tue, 7 Mar 2017 03:11:51 +0000 (13:11 +1000)]
tablet: add a motion history
Stores the processed axes values in a history 4 events deep. Currently unused
but will be used to smoothen out axis values to avoid transducer-caused axis
wobbles.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Ping Cheng <pingc@wacom.com>
Peter Hutterer [Wed, 1 Mar 2017 05:59:44 +0000 (15:59 +1000)]
tablet: move definition of tablet_axes down
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Ping Cheng <pingc@wacom.com>
Peter Hutterer [Wed, 1 Mar 2017 05:22:49 +0000 (15:22 +1000)]
tablet: reshuffle the event sending code
The current code modifies a bit of state inside the proximity_tip_down
function which makes for confusing reading. Clean this up by having a bunch of
helper functions for the various events.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Ping Cheng <pingc@wacom.com>
Peter Hutterer [Thu, 2 Mar 2017 03:17:56 +0000 (13:17 +1000)]
tablet: remove unnecessary out-of-proximity check
This cannot trigger because we'd never get here if out-of-proximity is set,
tablet_flush() will return early.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Ping Cheng <pingc@wacom.com>
Peter Hutterer [Wed, 1 Mar 2017 05:42:10 +0000 (15:42 +1000)]
tablet: drop unnecessary call to reset the changed axes
The only code path that leads here would see the changed_axes array zeroed out
in tablet_send_axis_proximity_tip_down_events(), zeroing again is unlikely to
make it more zero.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Ping Cheng <pingc@wacom.com>
Peter Hutterer [Wed, 1 Mar 2017 03:42:09 +0000 (13:42 +1000)]
touchpad: add touchpad pressure state debugging to debug output
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 22 Mar 2017 23:16:01 +0000 (09:16 +1000)]
configure.ac: libinput 1.7.0
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 22 Mar 2017 10:59:07 +0000 (20:59 +1000)]
evdev: mark the new log functions as printf-style functions
And fix up the one buggy call we had
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Sun, 12 Mar 2017 23:29:06 +0000 (09:29 +1000)]
touchpad: add pressure ranges for cyapa touchpads
https://bugs.freedesktop.org/show_bug.cgi?id=100122
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Peter Hutterer [Tue, 21 Mar 2017 01:17:28 +0000 (11:17 +1000)]
tools: print axes, but not capabilities on proximity out
Print the axis values on proximity out because it a) ensures we have the right
values and b) makes the output better aligned with the proximity in, so it's
easier to spot in a log file. But don't print the tool capabilities because
they're unrelated to the prox out anyway and again it makes the output easier
to spot.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 14 Mar 2017 02:24:36 +0000 (12:24 +1000)]
test: add missing linebreak to error message
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 14 Mar 2017 02:04:06 +0000 (12:04 +1000)]
test: fix tablet touch arbitration case
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 14 Mar 2017 01:23:55 +0000 (11:23 +1000)]
test: don't use the same mouse twice
No effect since we don't care about the mouse itself. But when running
on kernels without uinput's UI_GET_SYSNAME this can cause misdetection of
the uinput device and test case failures. Simply picking a differently named
device avoids that.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 8 Mar 2017 23:50:06 +0000 (09:50 +1000)]
configure.ac: libinput 1.7rc2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 8 Mar 2017 21:50:32 +0000 (07:50 +1000)]
configure.ac: set AC_CONFIG_AUX_DIR
If not set, libtool will search directories up to ../.. for an install-sh and
then dump the aux files there. This caused a couple of problems with the xorg
release.sh script that now uses worktrees but is generally bad behaviour
because we can't guarantee that we're not inside some other repository.
Set AC_CONFIG_AUX_DIR to avoid this behavior.
See https://lists.freedesktop.org/archives/xorg-devel/2017-March/053006.html
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Peter Hutterer [Thu, 9 Mar 2017 01:03:49 +0000 (11:03 +1000)]
doc: expand on the default tap settings
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 8 Mar 2017 04:44:26 +0000 (14:44 +1000)]
test: drop ABS_MT_PRESSURE from the bcm5974
This device only sends ABS_PRESSURE
https://bugs.freedesktop.org/show_bug.cgi?id=100106
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 8 Mar 2017 04:36:56 +0000 (14:36 +1000)]
doc: expand build instructinos
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 6 Mar 2017 04:31:40 +0000 (14:31 +1000)]
touchpad: add elantech-specific pressure values
https://bugs.freedesktop.org/show_bug.cgi?id=99975
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Peter Hutterer [Wed, 1 Mar 2017 01:26:06 +0000 (11:26 +1000)]
touchpad: ignore hovering touches for the software button state
If a touch started hovering in the main area, the button state would start
with AREA and never move to the real button state, despite the finger
triggering the pressure thresholds correctly in one of the areas.
This could even happen across touch sequences if a touch went below pressure
in the software button area, it changed to hovering and the button state
changed to NONE. On the next event, the touch is still hovering and the
current position of the touch is taken for the button state machine.
https://bugs.freedesktop.org/show_bug.cgi?id=99976
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Peter Hutterer [Tue, 28 Feb 2017 06:44:17 +0000 (16:44 +1000)]
tools: fix printing of tablet coordinates
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 27 Feb 2017 01:02:06 +0000 (11:02 +1000)]
touchpad: reduce minimum height for horiz edge scrolling to 40mm
Introduced in commit
8e7f99c27ab39 we only allowed horizontal edge scrolling
on devices larger than 50mm to leave enough reactive space on the touchpad.
Looking at a ruler, a 50mm high touchpad is still large enough to leave the
bottom 7mm as an horizontal edge scroll area. Reduce the minimum size to 40mm
instead, that's closer to where it starts to get a bit iffy.
https://bugzilla.redhat.com/show_bug.cgi?id=1422221
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Peter Hutterer [Mon, 27 Feb 2017 05:24:09 +0000 (15:24 +1000)]
tools: fix two comment typos
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 27 Feb 2017 01:27:41 +0000 (11:27 +1000)]
Merge branch 'wip/log-function-rework'
Peter Hutterer [Fri, 24 Feb 2017 00:15:23 +0000 (10:15 +1000)]
tools: add mode group info to libinput-list-devices
We don't cater for the special case of groups having a different number of
modes, there is no hardware right now that does that.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Peter Hutterer [Fri, 24 Feb 2017 00:10:44 +0000 (10:10 +1000)]
Fix a crash when requesting invalid mode group indices
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Peter Hutterer [Fri, 24 Feb 2017 06:11:46 +0000 (16:11 +1000)]
tools: add "--quiet" option to only log libinput messages
Supresses any printf statements from the tool itself, i.e. it skips printing
any of the events.
Makes it easier to debug the internal state since it's not intermixed with a
whole lot of messages about the events that are generated. Best combined with
--verbose (yes, hilarious, isn't it...)
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Peter Hutterer [Fri, 24 Feb 2017 06:03:44 +0000 (16:03 +1000)]
timer: prefix all messages with "timer:"
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Peter Hutterer [Mon, 13 Feb 2017 04:17:52 +0000 (14:17 +1000)]
evdev: standardize log messsages
Prefix device log messages with the device's sysname so it's more obvious
where the messages are coming from. This makes it much easier to grep for a
specific device's messages but also adds some identifier to messages that
were previously without any identifier (e.g. all the state machine debugging)
All info and error messages also automatically prefix the device name, so
those messages are standardised too, e.g
an info message now:
event4 - SynPS/2 Synaptics TouchPad: is tagged by udev as: Touchpad
a debug message now:
event4 - using pressure-based touch detection
And since this required changing a lot of the strings in messages anyway,
polish a few minor things too.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Peter Hutterer [Mon, 13 Feb 2017 05:11:58 +0000 (15:11 +1000)]
evdev: move the 'device removed' message to the evdev backend
Preparation work for standardizing log messages better
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Acked-by: Hans de Goede <hdegoede@redhat.com>
Peter Hutterer [Thu, 23 Feb 2017 00:49:11 +0000 (10:49 +1000)]
configure.ac: libinput 1.7rc1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 22 Feb 2017 21:16:56 +0000 (07:16 +1000)]
doc: add a custom css for local overrides
Easier to track if we leave the original files alone. Actual changes to the
doxygen style:
* indent <dd> blocks
* hide the navigation sub-items. Our current style expands the full navigation
menu but File-list, etc. is mostly useless and just wastes space.
* force some space below the main bar
* change the header sizes around a bit. Primary goal here: making <h1> smaller
than the title
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 22 Feb 2017 21:14:39 +0000 (07:14 +1000)]
doc: allow custom styles to overide the bootstrap style
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 22 Feb 2017 21:36:06 +0000 (07:36 +1000)]
doc: disable the search engine/search box
It was just floating around lonely there and I doubt anyone really used it.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 22 Feb 2017 21:04:55 +0000 (07:04 +1000)]
doc: minor documentation fix
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Wed, 22 Feb 2017 00:00:17 +0000 (10:00 +1000)]
test: add a has_slider check for the airbrush tool
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 21 Feb 2017 21:56:07 +0000 (07:56 +1000)]
Merge branch 'wip/logitech-marble-mouse-middleemulation'
Peter Hutterer [Tue, 21 Feb 2017 04:35:18 +0000 (14:35 +1000)]
tools: print accel profiles up to 1000 mm/s
The range that matters is 0-200, maybe up to 400 if you account for really
fast movements. But to match other, published, accel curves default to up to
1000 mm/s. It's easy enough in gnuplot to reduce the range.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Tue, 21 Feb 2017 00:10:18 +0000 (10:10 +1000)]
tools: print the key as -1 for obfuscated keys
Missing from
8c1aa1de where we hid the human-readable parts but the keycode
itself is still enough information to recover the typed bits.
Print it as -1 as that keycode doesn't exist for real keys so it stands out
nicely.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 20 Feb 2017 23:21:56 +0000 (09:21 +1000)]
Add the matching @see tags to the accel config
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 20 Feb 2017 06:29:02 +0000 (16:29 +1000)]
evdev: don't provide button scrolling on absolute pointer devices
This may be a feature for the future but for now be honest and don't claim
that button-based scrolling is available, it's not hooked up in the absolute
code path.
https://bugs.freedesktop.org/show_bug.cgi?id=99865
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Peter Hutterer [Mon, 20 Feb 2017 03:32:07 +0000 (13:32 +1000)]
evdev: add "READY" state to button scrolling
Before, our states were idle, button down and scrolling. This adds a state
where the button is down and the timeout has expired (i.e. we're ready to send
scroll events) but we haven't actually sent any events anymore.
If the button is released in this state, we generate a normal click event.
https://bugs.freedesktop.org/show_bug.cgi?id=99666
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Peter Hutterer [Mon, 20 Feb 2017 03:31:23 +0000 (13:31 +1000)]
evdev: convert button scrolling into a state machine
No functional changes, preparation work for adding another state.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Peter Hutterer [Mon, 20 Feb 2017 03:09:57 +0000 (13:09 +1000)]
test: add tests for middle button + button scrolling on BTN_LEFT
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Peter Hutterer [Mon, 20 Feb 2017 03:08:58 +0000 (13:08 +1000)]
evdev: add state debugging to button scrolling
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Peter Hutterer [Mon, 20 Feb 2017 02:56:06 +0000 (12:56 +1000)]
evdev: rename define for button scroll timeout
This is merely 'button scrolling' now, only the original implementation was
middle button only. And to avoid confusing with the middle button emulation,
drop "MIDDLE" from the define.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Peter Hutterer [Thu, 16 Feb 2017 22:39:51 +0000 (08:39 +1000)]
evdev: add quirk for Logitech Marble Mouse
Device needs BTN_MIDDLE disabled, this way middle button emulation is present
by default.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Peter Hutterer [Sun, 19 Feb 2017 23:14:42 +0000 (09:14 +1000)]
evdev: allow button scrolling on the L/R button with middle emulation active
This worked before, but triggered a negative timer bug. When one of the
physical L/R buttons is pressed with middle button emulation enabled, the
flow is:
1) phys left button down
2) middle button state machine discards events, sets timer
3) timer expires or button is released
4) middle button state machine sends button press with time from 1)
5) emulation code sees button press, sets timer for scroll emulation
6) timer logs bug because (original-button-time + timeout) is less than now()
That log_bug_libinput() warning fails the tests but works otherwise.
Allow this situation explicitly, on some devices we only have left and right
buttons and no scroll wheel, so having middle button emulation *and*
button-scroll working is useful.
https://bugs.freedesktop.org/show_bug.cgi?id=99845
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Peter Hutterer [Sun, 19 Feb 2017 23:26:05 +0000 (09:26 +1000)]
test: fix the pointer scroll-defaults test
The button-scroll by default behavior is only true on devices with a middle
button.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Peter Hutterer [Fri, 17 Feb 2017 00:40:34 +0000 (10:40 +1000)]
test: skip two tests when middle button is missing
And disable middle button emulation for this test, it would mess with the test
results.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Peter Hutterer [Fri, 17 Feb 2017 00:32:55 +0000 (10:32 +1000)]
test: fix middle button defaults test
This failed on devices without a middle button, we just didn't have a test
device to trigger this.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Peter Hutterer [Fri, 17 Feb 2017 00:38:09 +0000 (10:38 +1000)]
test: check the libinput device for BTN_MIDDLE, not the libevdev device
We don't have the same libevdev context that libinput has so if libinput
disables/enables event codes we don't see that and may get unexpected
behavior in the test.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Peter Hutterer [Sun, 19 Feb 2017 21:24:47 +0000 (07:24 +1000)]
tools: size without decimals is good enough
Sub-mm precision isn't needed for libinput-list-devices' size field.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Sakse Dalum [Mon, 13 Feb 2017 06:57:07 +0000 (16:57 +1000)]
Added missing button range for pad on CTH-680
This device has BTN_LEFT, BTN_RIGHT, BTN_FORWARD and BTN_BACK, add the
missing range to the pad init function.
https://bugs.freedesktop.org/show_bug.cgi?id=99785
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Peter Hutterer [Thu, 16 Feb 2017 23:48:28 +0000 (09:48 +1000)]
test: fix udev rule for waltop tablet test device
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 13 Feb 2017 06:28:28 +0000 (16:28 +1000)]
tools: print errors as red, info as highlighted
makes it easier to filter out debugging messages
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Peter Hutterer [Mon, 13 Feb 2017 23:07:33 +0000 (09:07 +1000)]
tools: don't print device options on device removed
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 13 Feb 2017 01:07:03 +0000 (11:07 +1000)]
tools: hide key codes by default
libinput-debug-events prints keycodes as they come in. This makes it dangerous
to be run by users (especially in the background) because it will leak
sensitive information as it is typed. Obfuscate the base set of keycodes
by default, require a --show-keycodes switch to show it.
The few times we actually need the keycodes, we can run the switch in the
debugging tool.
This does not affect keys outside of the main block on the keyboard (F-keys,
multimedia keys).
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Peter Hutterer [Mon, 30 Jan 2017 23:45:44 +0000 (09:45 +1000)]
doc: add a page "what is libinput"
This will eventually feature the architecture diagrams, etc. But for now it's
mostly just a list of what will be and what won't be supported.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 13 Feb 2017 00:31:40 +0000 (10:31 +1000)]
doc: link to tapping page from the FAQ
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Mon, 13 Feb 2017 00:45:47 +0000 (10:45 +1000)]
doc: make the tap-to-click default setting a separate section
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Fri, 10 Feb 2017 00:39:25 +0000 (10:39 +1000)]
touchpad: drop 'is blacklisted' check for dwt pairing
dwt is needed on internal touchpads only and those external ones that are a
combo device. This also now gives us the same check for palm detect and dwt.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Peter Hutterer [Fri, 10 Feb 2017 00:30:38 +0000 (10:30 +1000)]
touchpad: add a hwdb quirk for (external) touchpad/keyboard combos
Specify the layout of the combo so we know when to initialize palm detection.
This allows us to drop palm detection on external touchpads otherwise,
replacing the wacom-specific check with something more generic..
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Peter Hutterer [Thu, 9 Feb 2017 02:27:39 +0000 (12:27 +1000)]
Merge branch 'gcov-tests'
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Peter Hutterer [Thu, 9 Feb 2017 01:09:11 +0000 (11:09 +1000)]
test: add tests for tablet tool types
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>