Age | Commit message (Collapse) | Author | Files | Lines |
|
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
I have seen this a couple times, but I haven't been able to catch it
when it starts. It's a feedback loop, so once you miss the entrance of
the loop, you can't see what really went wrong.
This patch papers over the issue for now.
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
Acked-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Prefix is 4 spaces, not three.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Use mtdev to ensure touches are tracked and of evdev MT protocol type
B.
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Fixes a compiler warning due to discarding the const qualifier as it
comes back from the option code.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Bad search/replace, ended up in two xf86SetStrOption declarations which
differed on ABIs < 14.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=44335
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
|
|
synaptics.c: In function 'SynapticsAccelerationProfile':
synaptics.c:619:12: warning: unused variable 'thr' [-Wunused-variable]
On input ABIs < 14.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
|
|
Signed-off-by: JJ Ding <dgdunix@gmail.com>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Introduced by upstream change xorg-server-1.11.99.1-33-g09e4b78,
Fix gcc -Wwrite-strings warnings in xf86 ddx
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
This commit reverts 13543b156d78bc4d01a19844a5ee8f283269621b
As seen in Debian's #648488, this switch causes a regression on
PowerPC, especially seen on iBook G4 with appletouch. Take a defensive
stance and revert back to a working state until things have been figured
out and fixed properly.
Since things have evolved and since that revert triggers a lot of
conflicts, the following method was applied:
- manual reintroduction of the 3 removed macros: OFF, LONG, TEST_BIT
- coccinelle semantic patch to revert from BitIsOn to TEST_BIT
Coccinelle semantic patch:
@@
expression a,b;
@@
-BitIsOn(a,b)
+TEST_BIT(b,a)
Bugzilla: http://bugs.debian.org/648488
Signed-off-by: Cyril Brulebois <kibi@debian.org>
|
|
The remainder of the handling code will take try through all protocols,
taking the device into account (as of
xf86-input-synaptics-1.4.0-34-g241254e)
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
|
|
Instead of requiring the caller to know which private field indicates
failure, just return true on success or false on failure.
No functional change.
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>
|
|
XI2.1 allows an 'increment' for each scrolling variable. Use that instead of
hiding it away inside the driver.
For circular scrolling, the increment is the one of the respective scrolling
axis.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Post smooth-scrolling events through the new X server API when
available, rather than legacy jerky button events.
[Amended to use the final smooth scrolling API]
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Amendments-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Found by coverity.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Dirk Wallenstein <halsmit@t-online.de>
|
|
synaptics.c: In function 'post_scroll_events':
synaptics.c:2426:26: warning: unused variable 'para' [-Wunused-variable]
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Convert ScrollData from up/down/left/right members for button presses,
to more fine-grained delta_x and delta_y members, and move these to
priv->scroll.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
v14 wants doubles, rather than floats, from acceleration schemes.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
ABI 13 still uses pointer as type for most option calls, ABI 14 uses the
proper type now. Wrap this so we can build against both versions.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
The code was checking for a value of exactly 1, while the Synaptics
docs at http://www.synaptics.com/sites/default/files/511-000275-01rA.pdf
say:
Extended Model ID. This query returns the product ID, additional
capability bits, and additional bits to widen the infoSensor
field. infoSensor is a part of the Model ID query (query $03).
The Extended Model ID query is only present if nExtendedQueries
is *greater than* or equal to 1.
Signed-off-by: Casper Dik <casper.dik@oracle.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
If all we see is a PS/2 Mouse or similar, then the kernel doesn't give us
the required bits to provide all the functionality we want. Note that in the
man-page.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Cyril Brulebois <kibi@debian.org>
|
|
Signed-off-by: Alexandr Shadchin <Alexandr.Shadchin@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Signed-off-by: Alexandr Shadchin <Alexandr.Shadchin@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Introduced in 458c7251295e767fae7a0ac3366212361bce25a6
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
repeat_scrollbuttons used to read the scroll repeat values and then post
button events directly. Instead, make it modify ScrollData and let
post_scroll_events take care of sending the scroll events, which
requires moving the repeat_scrollbuttons call upwards.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Also rename (e.g. autoscroll_x -> coast_delta_x, and
autoscroll_xspd -> coast_speed_x) variables to clarify things a bit.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Stopping a little short of having a full scroll history, adding
last_millis lets us track when the last scroll event we sent was,
for more accurate timing of coasting in particular.
Signed-off-by: Derek Foreman <derek.foreman@collabora.co.uk>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
And rename them to last_x, last_y and last_a respectively, as they're
used to store the values as of the last scroll event sent.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Instead of a combined variable declaration with two ternary expressions
using raw hex values, expand it to have two genuine if statements,
setting with a more clear bitshift.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Make the palm-check logic more stable and reliable, and make sure that
any palms are blocked for the duration of their presses.
Signed-off-by: Derek Foreman <derek.foreman@collabora.co.uk>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Use better time estimates so we can provide better fake motion events.
This reduces the difference between motion with one and two fingers down
to be almost imperceptible, despite the reporting rate being halved on
PS/2 devices.
Signed-off-by: Derek Foreman <derek.foreman@collabora.co.uk>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Use a smarter motion estimator that attempts to draw a best-fit line
through the history where possible, including taking acceleration into
account.
Signed-off-by: Derek Foreman <derek.foreman@collabora.co.uk>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Simon Thum <simon.thum@gmx.de>
|
|
Seems more sensible to update the count of packets in the history when
we update the history, rather than somewhere else entirely.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
As the subject says: don't store any synthesised events in the motion
history, since we can recreate those algorithmically.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Rather than always setting hw->millis as the time when we received the
event in our SIGIO handler, use the time provided by the kernel if
applicable (i.e. if we're using evdev rather than PS/2 or similar).
Signed-off-by: Derek Foreman <derek.foreman@collabora.co.uk>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
[from_timer is in preparation for a future patch, currently unused]
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
As GetTimeInMillis() returns a CARD32, switch every timestamp usage to
follow.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
We expect to be receiving a steady 80 packets/sec (which gives 40
reports/sec with more than one finger on the pad, as Advanced Gesture
Mode requires two PS/2 packets per report). Instead of a random
scattering of magic 13 and 20ms numbers scattered throughout the driver,
introduce POLL_MS as 14ms.
Having this here allows us to call back at a steady frequency to ensure
that the finger motion remains steady.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Since we depend so heavily on ordering and numbering, just give all the
enum explicit number values.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
HIST_DELTA(a, b, e) is equivalent to HIST(a).e - HIST(b).e. Replace the
one user of this pattern with a HIST_DELTA call.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
CARD32, not float.
Signed-off-by: Derek Foreman <derek.foreman@collabora.co.uk>
Reviewed-by: Daniel Stone <daniel@fooishbar.org>
|
|
Add InitTypedAtom, which does exactly the same thing as InitAtom, but
takes an additional type argument.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
This means we can also drop support for pre-ABI v7.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
Group X protocol/server includes together, and synaptics-internal
includes together.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
|
toggle_touchpad() already prints if we're running verbose.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|