summaryrefslogtreecommitdiff
path: root/synaptics.c
AgeCommit message (Collapse)Author
2008-06-06Start reorganizing the source treeChristoph Brill
First let's move the source and header files to a seperate source directory. The structure of the new directory layout will be similar to xf86-input-evdev.
2007-07-06Implement "corner coasting".Joseph P. Skudlarek
2007-05-17Add a timeout to locked drags.Florian Loitsch
Instead of locking indefinitely, dragging is realeased after a timeout. By default I've set it to 5 seconds to minimize changes to previous configurations. For me a value of 450ms works best. New Parameter: LockedDragTimeout
2007-05-17Allow to easily switch between move and scroll.Florian Loitsch
To observe the behavior: move with 1 finger. During movement add a 2nd finger. If the touchpad supports it then the driver switches seamlessly to scroll mode. Worked on the Macbook touchpad, but failed on some Dell touchpad.
2007-05-17On Linux 2.6, the evdev interface provides support for requesting theMatthew Garrett
resolution of input devices. The included patch uses this to set the defaults for various parameters. As a result, synaptics, alps and appletouch pads all work approximately identically without requiring model-specific configuration. The defaults should be almost identical to the current defaults on synaptics pads. We've shipped this code in the current Ubuntu release (7.04) without any known user issues. This is against current git.
2007-04-11Add a config option to prevent the driver from grabbing the eventPeter Osterlund
device for exclusive use.
2007-01-29Made the TrackstickSpeed option give the same speed independently ofPeter Osterlund
the number of packets per second the touchpad generates.
2007-01-28Rename the TrackstickAccelFactor option to TrackstickSpeed.Peter Osterlund
2007-01-28Small cleanup in trackstick functionality.Peter Osterlund
2007-01-28Fix whitespace in trackstick patches.Peter Osterlund
2007-01-17re-add instant movement detectionChristian Thaeter
2006-12-25removed exp_acclChristian Thaeter
2006-12-25merged first trackstick patchChristian Thaeter
2006-12-17Fix to make the driver work on newest xorg GIT.Jesper Smith
2006-12-17Implement 2-finger emulation for ALPS touchpads.Ingmar Ellenberger
A new parameter, EmulateTwoFingerMinZ, makes the driver emulate 2-finger scrolling (and tapping) when the finger pressure is big enough. This is no real multi-finger detection (the ALPS hardware can't do that), but seems to work quite well in practice. From Ingmar Ellenberger.
2006-09-25Implement a SQR macro to simplify the code.Peter Osterlund
2006-07-15Trivial whitespace changes.Peter Osterlund
2006-07-07Fix compile errors when using Xorg 7.1.Peter Osterlund
Initial patch from VMiklos <vmiklos@frugalware.org>. Somewhat modified by me.
2006-05-07Add new parameter "SingleTapTimeout".Vaclav Kadlcik
This patch adds a new parameter - "SingleTapTimeout" - to control the "2A -> SINGLETAP" transition. This gives greater control of tap behavior. For exmple, it is possible to disable tap-and-drag by setting the parameter to 0.
2006-04-17Create a helper function to set a floating point option value.Peter Osterlund
2006-04-17There is no need to fix up invalid circular trigger values. It is OKPeter Osterlund
to behave as if the invalid value had been set from synclient.
2006-04-16Use a helper variable in the option parsing code.Peter Osterlund
2006-04-09Implemented two-finger vertical and horizontal scrolling.Peter Osterlund
Patch from Stefan Bethge <stefan@lanpartei.de>, somewhat modified by me.
2006-04-09Whitespace cleanup.Peter Osterlund
2006-04-09Implemented pressure dependent motion speed. Patch fromPeter Osterlund
Stéphane Rosi <steph@via.ecp.fr>, somewhat modified by me.
2006-04-09Vertical/horizontal scrolling was incorrectly stopped thenPeter Osterlund
the finger left the lower right corner if the scrolling was started from within that corner. The problem was that in that case both horizontal and vertical scrolling was enabled at the same time until the finger left the corner. When the finger left the corner, one of the scrolling directions was supposed to stop, but buggy handling of coasting made both scrolling directions stop. Reported by Arie Huijzer <aries.huijzer@gmail.com>.
2006-04-09Included driver version number in the shared memoryPeter Osterlund
segment. Suggested by Stefan Kombrink <katakombi@gmail.com> for use in ksynaptics.
2006-04-09Make the device name change code handle more cases. PatchPeter Osterlund
from Karl Tomlinson <k.tomlinson@auckland.ac.nz>, who writes: There are two issues that are resolved here: 1 The call to xf86ReplaceStrOption in DeviceOn, when the device file can no longer be opened seems unnecessary and causes problems. If Protocol is auto-dev then Device is reset anyway (through SetDeviceAndProtocol). If Protocol is something else then the device file will never be found even after it is recreated because Device is never set again. 2 The first xf86OpenSerial in DeviceOn may successfully open a different mouse (or other event file) that has the same name as the Device found through the first invocation of auto-dev. It seems reasonable that if auto-dev is used to find the device file the first time, then it can be used to find it again after the device has been closed (and possibly changed name).
2006-04-09Fixed some long vs int inconsistencies to make the driverPeter Osterlund
work correctly on 64 bit machines.
2006-04-09The touchpad stopped working if you did:Peter Osterlund
1. From inside X ran "rmmod psmouse" 2. Switched to the console 3. Switched back to X 4. Ran "modprobe psmouse" 5. Switched to the console. 6. Switched back to X. After this sequence, the device name was set to an event device but the protocol was psaux. The problem was that when the auto-redetection failed in step 3, the protocol was set to psaux but the device name was not cleared. In step 6, opening the old event device succeeded again, so SetDeviceAndProtocol() was not called, and the protocol remained set to psaux.
2006-04-09Implemented new driver options LeftRightScrolling,Peter Osterlund
UpDownScrollRepeat, LeftRightScrollRepeat and ScrollButtonRepeat to control the auto-repeat behavior of the scroll buttons. From Sam Barnett-Cormack <sdb@geekworld.co.uk> with some small changes by me.
2006-04-09In the DeviceOn() function, if opening the device nodePeter Osterlund
fails, try to auto-detect the correct event device again. This can fix problems which occurs after a suspend/resume cycle or after rmmod/insmod-ing the psmouse kernel driver.
2006-04-09Revert change 15d3f642c725636446b3212b8efbd94a9fc9a59b and instead alwaysPeter Osterlund
disable scrolling whenever tapping is disabled. It doesn't make any sense to disable tapping but not scrolling as a response to keyboard activity.
2006-04-09Removed trailing whitespace.Peter Osterlund
2006-04-09Ignore the finger count from synaptics touchpads if thePeter Osterlund
finger pressure is below finger_high. Some touchpads (for example, the one found on HP Pavilion 2028) reports an unreliable finger count when the finger pressure is very low. Reported by Cleber Goncalves <cl3b34@yahoo.com.br>.
2006-04-09Fixed spelling errors.Peter Osterlund
2006-04-09When coasting starts, take the partial scroll step from thePeter Osterlund
manual scrolling into account. This eliminates a small delay before the first generated coasting scroll event.
2006-04-09Implemented coasting, ie the ability to automaticallyPeter Osterlund
continue scrolling with the same speed in the same direction when the finger leaves the touchpad.
2006-04-09Made QueryHardware() static.Peter Osterlund
2006-04-09Cosmetic changes.Peter Osterlund
2006-04-09Fixed off-by-one error (see also changePeter Osterlund
7c06552920a09c89f986102ec60869d3dbcb0274) in edge motion speed calculations that made the speed approximately twice as big as intended. Updated suggested parameter settings accordingly.
2006-04-09Fixed a bug that made it possible to lock up the X server byPeter Osterlund
setting VertScrollDelta, HorizScrollDelta or CircScrollDelta to 0 while the touchpad was scrolling.
2006-04-09Always update the move_hist[] buffer when a finger is on thePeter Osterlund
touchpad. Will be needed to implement coasting.
2006-04-09Changed default values corresponding to changePeter Osterlund
7c06552920a09c89f986102ec60869d3dbcb0274.
2006-04-09Fixed off-by-one error in the pointer motion dx/dyPeter Osterlund
calculations. This fix will slow down the pointer movements, so to regain the same speed as before, the MinSpeed, MaxSpeed and AccelFactor parameters should be multiplied by 1.5.
2006-04-09Rearranged code in HandleScrolling() to make it slightlyPeter Osterlund
more logical.
2006-04-09Made it possible to use horizontal circular scrolling byPeter Osterlund
smoothly switching from "horizontal" to "horizontal circular" when the finger enters the lower left or lower right corners during horizontal scrolling. See also change eeb40cac2b2dfa411618f2ecbffedc85166e675f.
2006-04-09Better noise reduction in the x/y delta estimates used forPeter Osterlund
pointer motion. The derivative estimate is now based on linear regression from the last four x/y values instead of the last three. This means that white noise is amplified by a factor of sqrt(.2) instead of sqrt(.5), ie the factor of improvement is 1.58. Similar improvements have been observed in data from a real synaptics touchpad. Also, the computations are performed in floating point math to avoid round off errors for very slow finger movements.
2006-04-09Improved edge motion behavior. The speed no longer dependsPeter Osterlund
on the MinSpeed, MaxSpeed and AccelFactor parameters, and it doesn't depend on the packet rate from the touchpad hardware. The EdgeMotionMinSpeed and EdgeMotionMaxSpeed parameters may have to be modified to get the same speed as before this change.
2006-04-09Fixed inconsistent code formatting.Peter Osterlund