summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-02-04Don't initialize semi-multitouch devices for touch device classHEADmasterChase Douglas1-0/+10
Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-02-04Ensure delta computation does not go crazyChase Douglas1-0/+8
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>
2012-02-04synclient: fix indentation of "format mismatch" parametersPeter Hutterer1-3/+3
Prefix is 4 spaces, not three. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-01-26eventcomm: Add touch event handlingChase Douglas2-22/+258
Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-01-26eventcomm: Read evdev events from mtdev where multitouch is availableChase Douglas1-1/+22
Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-01-26eventcomm: Initialize touch device and axesChase Douglas4-6/+149
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>
2012-01-26Add touch device class supportChase Douglas3-5/+80
Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-01-26Allocate axis labels array dynamicallyChase Douglas1-1/+11
Signed-off-by: Chase Douglas <chase.douglas@canonical.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2012-01-06Constify priv->deviceDaniel Stone2-2/+2
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>
2012-01-04test: fix build error introduced in 9f9b55ab55ed5Peter Hutterer1-1/+0
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>
2012-01-04Remove unused variable 'thr'Peter Hutterer1-1/+0
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>
2012-01-03fix wrong finger width rangeJJ Ding1-2/+1
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>
2011-12-12test: fix build errors introduced by upstream server changePeter Hutterer2-5/+8
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>
2011-12-12Revert: "eventcomm: replace synaptics-custom TEST_BIT with server's BitIsOn."Cyril Brulebois1-20/+23
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>
2011-12-01If protocol is auto-dev and the device path is set, unset the protocolPeter Hutterer1-0/+7
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>
2011-12-01Return true/false from SetDeviceAndProtocolPeter Hutterer1-3/+4
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>
2011-10-24Use the scroll distances as increment for scrolling valuator axesPeter Hutterer2-12/+26
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>
2011-10-24Scroll: Initial smooth scrolling supportDaniel Stone2-3/+66
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>
2011-10-24eventcomm: print strerror(errno), not of rcPeter Hutterer1-1/+1
Found by coverity. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Dirk Wallenstein <halsmit@t-online.de>
2011-10-18Fix compiler warning - unused variable 'para'Peter Hutterer1-1/+0
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>
2011-10-18Scroll: Prepare ScrollData for smooth scrollingDaniel Stone2-85/+52
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>
2011-10-18Adjust acceleration scheme for input ABI v14Daniel Stone1-3/+14
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>
2011-10-12test: wrap ABI 14 xf86OptionRec type changesPeter Hutterer2-42/+48
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>
2011-09-21Extra buttons on Acer Ferrari 4000 laptop touchpad are not recognizedCasper Dik1-1/+1
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>
2011-09-06man: note that a PS/2 device is not supportedPeter Hutterer1-1/+3
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>
2011-08-29The correct maximum values for pressure and finger widthAlexandr Shadchin1-4/+4
Signed-off-by: Alexandr Shadchin <Alexandr.Shadchin@gmail.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2011-08-29On/Off hooks to return boolean so we can bail out of the callerAlexandr Shadchin4-9/+17
Signed-off-by: Alexandr Shadchin <Alexandr.Shadchin@gmail.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2011-08-25Fix compiler warning: unused variable "wakupTime"Peter Hutterer1-1/+0
Introduced in 458c7251295e767fae7a0ac3366212361bce25a6 Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2011-08-25Scroll: Modify ScrollData in repeat_scrollbuttonsDaniel Stone1-6/+13
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>
2011-08-25Scroll: Move coasting variables to priv->scrollDaniel Stone2-44/+44
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>
2011-08-25Scroll: Add last_millis to track scroll event timingDerek Foreman2-3/+8
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>
2011-08-25Scroll: Move scroll_[xya] into new priv->scroll structDaniel Stone2-30/+32
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>
2011-08-25Scroll: Clarify rep_buttons assignmentDaniel Stone1-2/+6
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>
2011-08-25Revise palm check logicDerek Foreman2-27/+30
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>
2011-08-25More accurate extrapolated fake motion eventsDerek Foreman2-6/+7
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>
2011-08-25Replace the motion estimatorDerek Foreman1-4/+67
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>
2011-08-25Update count_packet_finger in store_history, not get_deltaDaniel Stone1-3/+3
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>
2011-08-25Don't store fake events in the motion historyDaniel Stone1-1/+1
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>
2011-08-25Use hardware time where possibleDerek Foreman5-69/+75
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>
2011-08-25Use CARD32 for timestampsDaniel Stone3-5/+5
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>
2011-08-25Introduce POLL_MS for packet frequencyDaniel Stone1-5/+21
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>
2011-08-25Give FingerState enums explicit valuesDaniel Stone2-5/+5
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>
2011-08-25Add HIST_DELTA macro for differences in historyDaniel Stone1-1/+2
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>
2011-08-25Fix pressure->motion property formatDerek Foreman2-5/+5
CARD32, not float. Signed-off-by: Derek Foreman <derek.foreman@collabora.co.uk> Reviewed-by: Daniel Stone <daniel@fooishbar.org>
2011-08-25Properties: Generalise InitTypedAtom from InitAtomDaniel Stone1-3/+9
Add InitTypedAtom, which does exactly the same thing as InitAtom, but takes an additional type argument. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2011-08-25Bump minimum xorg-server requirement to 1.7Daniel Stone2-24/+6
This means we can also drop support for pre-ABI v7. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2011-08-25Bump to 1.5.99Peter Hutterer1-1/+1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2011-08-19Shuffle include order aroundDaniel Stone1-4/+4
Group X protocol/server includes together, and synaptics-internal includes together. Signed-off-by: Daniel Stone <daniel@fooishbar.org>
2011-08-19Bump to 1.4.99.1Peter Hutterer1-1/+1
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2011-07-28syndaemon: Remove superfluous message.Peter Hutterer1-1/+0
toggle_touchpad() already prints if we're running verbose. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>