Commit graph

2271 commits

Author SHA1 Message Date
Peter Hutterer
187c38f660 Add device_float_get_direction
With some upcoming changes we need this function for device float coordinates
as well.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-12-21 10:55:56 +10:00
Peter Hutterer
db9cfc9c5c touchpad: init the device's dpi correctly
This has no real effect just yet because we don't use a touchpad's dpi
anywhere in the touchpad code. Only the acceleration code wants it but all
touchpads use the same acceleration method, and that one doesn't care about
the dpi.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-12-21 10:55:56 +10:00
Peter Hutterer
8e2d3b9049 filter: duplicate pointer accel for touchpads
This duplicates the code so we can change it for touchpads without affecting
mice.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-12-21 10:55:56 +10:00
Peter Hutterer
a2dbd4f2d7 filter: drop the dpi_factor in favor of direct calculation
This was badly since the factor was the ratio of "dpi:default dpi"

Most devices don't need it, so storing it in all filters event though we only
use it for some devices is confusing. Now that we have the dpi stored
directlyconfusing. Now that we have the dpi stored directly we might as well
use that.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-12-21 10:55:56 +10:00
Peter Hutterer
f04ef9f985 filter: store the raw dpi value in the filter
Currently unused, will be used in the future.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-12-21 10:55:56 +10:00
Peter Hutterer
8a389c90e9 filter: fix comment on how we calculate the slow-motion incline
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-12-15 19:44:02 +10:00
Peter Hutterer
ab42022253 Change the directions bitmask to a uin32_t
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-12-15 19:43:41 +10:00
Peter Hutterer
577422f692 filter: fix a comment, the trackpoint profile uses device units
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-12-15 19:43:05 +10:00
Peter Hutterer
9d7bd8e623 evdev: rename a leftover weston variable
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-12-15 08:12:39 +10:00
Peter Hutterer
0e8be12383 filter: add a comment for how we calculate velocity
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-12-14 15:20:07 +10:00
Peter Hutterer
5016dcd012 filter: split a condition up so we can mark it as bug
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-12-14 15:19:57 +10:00
Peter Hutterer
eacdf296a5 touchpad: convert two functions to use the device->phys helpers
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-12-14 15:19:50 +10:00
Peter Hutterer
2a16c522b9 touchpad: constify a few helper functions
May help the compiler with further optimization

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-12-14 15:19:47 +10:00
Peter Hutterer
d1d3ea4d06 tools: add some extra help output about the expected input data
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-12-14 15:19:44 +10:00
Peter Hutterer
86ead3a6ad tools: whitespace change
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-12-14 15:19:41 +10:00
Peter Hutterer
3be2a591a5 tools: local headers use quotes, not pointy brackets
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-12-14 15:19:37 +10:00
Peter Hutterer
ece26cfb70 tools: up the maximum velocity so the output graph shows the leveling off
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-12-14 15:19:25 +10:00
Peter Hutterer
f545cfa923 tools: support --help in the ptraccel-debug tool
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-12-14 15:19:22 +10:00
Peter Hutterer
8540efc209 test: fix distcheck
Broken in e0b200caa6

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-12-07 10:28:40 +10:00
Peter Hutterer
35dae6bcc0 tools: make sure GCC_FLAGS is used in tools/
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-12-06 11:02:14 +10:00
Peter Hutterer
1e7281fe0a tools: include config.h in libinput-list-devices and ptraccel-debug
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-12-06 11:02:14 +10:00
Peter Hutterer
68513d040d tools: fix comment wording
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-12-06 11:02:13 +10:00
Peter Hutterer
952b562d0c tools: fix signed/unsigned comparison warnings
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-12-06 11:02:13 +10:00
Peter Hutterer
6e1db369ee tools: fix prototype for tools_usage
../tools/shared.h:66:1: warning: function declaration isn’t a prototype [-Wstrict-prototypes]
void tools_usage();

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-12-06 08:06:27 +10:00
Peter Hutterer
5552a6f145 touchpad: sync BTN_TOOL_FINGER state on init
The Elantech touchpad on my Asus Vivobook doesn't release BTN_TOOL_FINGER on
up. If the touchpad was used before libinput initializes, the kernel filters
the event because its state is already set. We never receive it and keep
ignoring all events until the first switch to BTN_TOOL_DOUBLETAP and back.

On touchpad init sync the BTN_TOOL_FINGER state and set it accordingly. This
is the only event that can be legitimately down on init. We don't care about
BTN_TOUCH because ignoring an ongoing touch on init is generally a good idea
and we can ignore any multifinger gesture as well.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-12-06 07:28:15 +10:00
Peter Hutterer
340474857e Whitespace fixes
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-12-05 15:17:28 +10:00
Peter Hutterer
c3842dfe17 Fix the license for a bunch of tablet test devices
In bc9f16b40e the license was updated from MIT
X11 to MIT Expat, see that commit for details.

These devices came in from the tablet-support branch which didn't get
updated, any new tablet device that used those as templated thus copied the
license. Fix this, make the license text the same as all other files.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Yong Bakos <ybakos@humanoriented.com>
2016-12-01 11:12:09 +10:00
Peter Hutterer
5d2501aa7d Drop HAVE_CONFIG_H ifdef
We have one. Yay. Lucky us. Go forth and celebrate.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Yong Bakos <ybakos@humanoriented.com>
2016-12-01 11:06:54 +10:00
Peter Hutterer
ea7026b7c1 tools: don't define GNU_SOURCE if were including config.h anyway
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Yong Bakos <ybakos@humanoriented.com>
2016-12-01 11:06:52 +10:00
Peter Hutterer
e0b200caa6 Use the LIBINPUT_VERSION define, not the normal VERSION
Not that it really matters, but given we're already setting it anyway...

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Yong Bakos <ybakos@humanoriented.com>
2016-12-01 11:06:32 +10:00
Peter Hutterer
996b845d68 touchpad: add a quirk for the HP Pavilion dm4
This touchpad has cursor jumps for 2-finger scrolling that also affects the
single-finger emulation. So disable any multitouch bits on this device and
disallow the 2-finger scroll method. This still allows for 2-finger
tapping/clicking.

https://bugs.freedesktop.org/show_bug.cgi?id=91135

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-12-01 06:24:07 +10:00
Peter Hutterer
4bb3da4115 evdev: init axis range warnings for touch devices too
Move the code from the touchpad code into the more generic evdev code

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-11-30 08:54:00 +10:00
Peter Hutterer
cff370fcd0 tools: print pointer axis source in event-debug
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-11-29 12:14:05 +10:00
Peter Hutterer
364621c001 tools: change --speed to --set-speed for consistency
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-11-29 12:13:23 +10:00
Peter Hutterer
dbeb2f7916 tablet: reject tablets without resolution
Fix the kernel driver or get a udev override in place. Tablets not having a
physical size is not ok.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-11-29 11:25:24 +10:00
Peter Hutterer
d308022fb3 util: tighten requirements on the click angle/count properties
Require both of them to be an integer, don't allow for a list or preceding
whitespaces.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-11-29 11:21:39 +10:00
Peter Hutterer
98793f6b43 evdev: use safe_atod to convert the matrix values
Avoids parsing issues when we're in different locales

https://bugs.freedesktop.org/show_bug.cgi?id=98828

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-11-29 11:21:39 +10:00
Peter Hutterer
33100fe88d util: add a helper function to split a string into substrings
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-11-29 11:21:39 +10:00
Peter Hutterer
d6020d7ab2 util: add safe_atod for locale-independent conversion
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-11-29 11:21:38 +10:00
Peter Hutterer
31542ffbfd test: add a device and test for udev-set calibration values
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-11-29 11:21:38 +10:00
Peter Hutterer
21f0e2e3b7 path: read the calibration prop on startup
We were reading this property in the udev backend, but not in the path
backend.

Reported-by: Thomas Olszak <olszak.tomasz@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-11-29 11:21:38 +10:00
Peter Hutterer
50e4a1fada evdev: move reading the calibration prop into a helper function
No functional changes.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-11-29 11:21:38 +10:00
Peter Hutterer
a06473221b test: add a test for safe_atoi
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-11-29 11:21:38 +10:00
Peter Hutterer
b2a6a84da1 test: switch asserts to litest_assert
Gives us a stacktrace when it fails.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-11-28 11:56:36 +10:00
Peter Hutterer
13428f5d82 util: if errno is nonzero, exit early from safe_atoi
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-11-28 11:56:36 +10:00
Peter Hutterer
4a5dcbf69b util: fix include order
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-11-28 11:56:36 +10:00
Peter Hutterer
3168d86223 util: fix indentation for safe_atoi
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-11-28 11:31:20 +10:00
Peter Hutterer
a9dad56948 libinput 1.5.2
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-11-25 11:02:13 +10:00
Peter Hutterer
cfdaaa32a7 touchpad: only use the last two coordinates for delta calculation
Taking the last 4 points means factoring in a coordinate that may be more than
40ms in the past - or even more when the finger moves slowly and we don't get
events for a while. This makes the pointer more sluggish and slower to catch up
with what the finger is actually doing.

We already have the motion hysteresis as a separate item to prevent jumps (and
thus adds some delay to the movement), the calculation over time doesn't
provide enough benefit to justify the sluggish pointer.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-11-23 10:42:57 +10:00
Peter Hutterer
ab83c8e626 doc: remove unnecessary linebreak in doxygen file
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2016-11-23 10:42:57 +10:00