| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a device has both relative and absolute axes, we'd initialise the
relative axes but label them with the absolute labels.
The current code is broken for mixed mode devices. Most of these devices
operate primarily in relative mode, but have some absolute axes available
for secondary functionality. For now, label the relative axes properly. We
can fix the absolute axes later.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Too much in the server relies on x/y to exist and to be axes 0 and 1. So if
any relative axes exist, initialize REL_X/Y or ABS_X/Y as well.
For servers up to 1.11: a scrollwheel-only device now has relative axes
where it only had buttons before.
For servers 1.12 or later: the device now has x/y in addition to the scroll
axes.
X.Org Bug 44655 <http://bugs.freedesktop.org/show_bug.cgi?id=44655>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
|
|
|
|
|
|
|
|
|
|
| |
addition of two missing define tests required when no multitouch related
symbols are available in user-space
Fixes X.Org Bug 44578 <https://bugs.freedesktop.org/show_bug.cgi?id=44578>
Signed-off-by: Pete Beardmore <pete.beardmore@msn.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we don't know the resolution, set it to 0. This is invalid, and tells
the X client that we don't know the resolution, rather than reporting an
incorrect value.
This value was originally from commit
6271494faa4c45f4fa10509f72e0515f2cef36c6, which is the initial commit
from Adam Jackson adding absolute axis support.
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
|
|
|
|
| |
Added in 683a55e504f4fc2d1c847c54986439a0c61b2f20 due to a botched up
rebase -i. The contents of udev.c and EvdevIsVirtual are identical, there is
no need for an extra file for this one function.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
|
|
|
|
|
| |
In 683a55e504f4fc2d1c847c54986439a0c61b2f20, a dependency on libudev was
added, but documented in configure.ac as a dependency on udev (which
also happens to ship a pkg-config file).
Signed-off-by: Cyril Brulebois <kibi@debian.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
|
| |
Found-by: Tinderbox
Signed-off-by: Jeremy Huddleston <jeremyhu@apple.com>
|
|
|
|
| |
Signed-off-by: Cyril Brulebois <kibi@debian.org>
|
|
|
|
|
|
|
| |
Remove the ABI check hack, just check for the server version directly now
that we have one that definitely has the multitouch APIs.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
|
|
|
| |
If the XI2.2 headers are present but mtdev isn't, build without MULTITOUCH
defined.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
|
|
|
|
| |
If we spot inputproto 2.1.99.3, we assume we have a capable X server. This
should really be a server version check, but the server version hasn't been
bumped yet.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
| |
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
|
|
|
|
|
|
|
| |
Even if MT support isn't available, include it in the build. The checks in
the code check whether mt_mask is non-NULL but they would all need ifdef
escaping otherwise.
Leave the mtdev part inside the ifdef however, so that we don't need the
mtdev header if we don't build with multitouch.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
The kernel exports both ABS_X and ABS_MT_POSITION_X (and a couple others)
for a multi-touch capable device. For such devices, only count the axis once
since we submit ABS_MT_POSITION_X through ABS_X.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The kernel exports a bunch of information as axis that shouldn't be an axis
and we don't treat it as axis in the server. Add this helper instead of
checking for the axis codes manually.
No function change.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
| |
| |
| |
| |
| |
| | |
Gone since inputproto 2.1.99.3
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
| |
| |
| |
| |
| |
| |
| | |
MT axes are the same as traditional axes, so one into the other so we get
x/y coordinates regardless wich axes it comes from.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
| |
| |
| |
| | |
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
| |
| |
| |
| |
| |
| | |
Pointer events will be emulated by the server.
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
| |
| |
| |
| | |
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
| |
| |
| |
| |
| |
| |
| | |
No real effect on the code, but it helps to have that line in the log when
searching for driver issues.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
| |
| |
| |
| |
| |
| | |
BUTTON_PRESS is much harder to confuse with a button number than a simple 1.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
ABS_MT_SLOT comes before any other events. The following order of events
is common for protocol B devices (and mtdev):
...
EV_SYN
ABS_MT_SLOT → posting here means we miss on the position information
ABS_MT_POSITION_X
ABS_MT_POSITION_Y
ABS_MT_SLOT
ABS_MT_POSITION_X
ABS_MT_POSITION_Y
EV_SYN
Store the stot state as SLOT_EMPTY after posting an event (i.e. EV_SYN and
ABS_MT_SLOT) and then don't post until the next slot/syn event.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
| |
| |
| |
| | |
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
| |
| |
| |
| | |
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
| |
| |
| |
| |
| |
| | |
Otherwise we segfault after the first SYN event
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
| |
| |
| |
| | |
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
| |
| |
| |
| | |
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
| |
| |
| |
| | |
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
| |
| |
| |
| | |
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Without this change, an MT touchpad in relative mode could end a touch
while not resetting the oldMask used to calculate relative values. This
fix allows a Magic Trackpad to behave as a relative mode device again.
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
MTDev translates all multitouch devices to the slotted evdev protocol.
This provides a clean and uniform interface and reduces message handling
inside the input module and X.
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This multitouch addition only supports slotted MT evdev protocol
devices. Support must be enabled at configure time using
--enable-multitouch.
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
Amendments: XI_TouchMotion -> XI_TouchUpdate, rename mtMask to mt_mask
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use udev to check for the device's sysfs path, if it contains LNXSYSTM it's
a kernel-emulated device. This property can then be used to determine if
there are any real devices connected, allowing the desktop environment to
e.g. turn off the touchpad whenever there's a mouse attached.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
| |
| |
| |
| |
| |
| |
| |
| | |
After we swap the axes, we only call valuator_mask_set for axes that are
not zero, so we need to unset the axes that became zero when swapped.
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
We were correctly swapping the valuator values, but we were not
calling valuator_mask_unset() when needed, so the cursor kept jumping
to the edges.
This patch does the swapping before the main "for", so we don't need to
store unswapped_{x,y} and unswapped_isset_{x,y} even when we don't need
to swap.
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
|
|
|
| |
Bad conflict resolution in xf86-input-evdev-2.6.0-30-g745fca0
Reported-by: Sebastian Glita <glseba@yahoo.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
| |
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
src/evdev.c
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Automatic smooth scrolling setup for these axes, with REL_WHEEL and REL_DIAL
both mapping into vscrolling. REL_WHEEL is the preferred axis.
Mouse wheel emulation is not yet updated for smooth scrolling.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
|
| |
| |
| |
| |
| |
| | |
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
|
| |
| |
| |
| |
| |
| | |
Signed-off-by: Jools Wills <jools@oxfordinspire.co.uk>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|/
|
|
|
|
|
|
|
| |
We can't use BitIsSet/SetBit from the server (inputstr.h) since they
operate on byte arrays. EvdevSetBit is added in preparation for the
"smooth-scrolling on wheel emulation" patch.
Signed-off-by: Max Schwarz <Max@x-quadraht.de>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
|
|
|
| |
No actual effect since labels_len is always 0 anyway but let's make the
return more explicit.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
|
|
|
|
| |
pInfo->device_control.
Signed-off-by: Terry Lambert <tlambert@chromium.org>
Reviewed-by: Stephane Marchesin <marcheu@chromium.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
evdev.c: In function 'EvdevInitAxesLabels':
evdev.c:2192:11: warning: variable 'misc_label' set but not used
[-Wunused-but-set-variable]
obsolete with 880ad1e19afd83ac115948b67d4049e16cb12df0
emuWheel.c: In function 'EvdevWheelEmuPreInit':
emuWheel.c:252:10: warning: variable 'val' set but not used
[-Wunused-but-set-variable]
obsolete with b0737bdbd1f6e601eb4984b6f4cb49279190984c
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
|
|
|
|
|
| |
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
|
|
|
|
|
|
|
|
|
| |
We require ABI 12.2 in the driver, enforce it through pkg-config.
Technically ABI 12.2 is first available in 1.9.99.902 but 1.10 looks so much
nicer.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
|
|
|
|
|
|
|
| |
prop_invert was accidentally being set undeletable twice.
Signed-off-by: Daniel Kurtz <djkurtz@google.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|