[gpm]Synaptic update

Peter Berg Larsen pebl@math.ku.dk
Fri, 1 Mar 2002 03:05:50 +0100 (MET)


  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.
  Send mail to mime@docserver.cac.washington.edu for more info.

--0-1202663182-1014948350=:4384
Content-Type: TEXT/PLAIN; charset=US-ASCII


I found some time to implement some of the features I want in the
synaptic touchpad. This is taken from synaptic.c:


I want to have more features :). Every touch pad (ps2 and serial) is now
be supported according to STIG and every feature/capability is read.  
However there seems to be some very old serial touchpads that have an
advanced mode not mentioned in STIG.
										   
										   
Further I have added the following						   
										   
 Emulation of scrolling							   
       The window drivers allow using the edge to emulate a wheel		   
       mouse. When putting the finger at the right edge, a movement up or	   
       down translates to wheel movement. Lift the finger again to operate	   
       normally again.							   
										   
 Stick attached to a touchpad 						   
       Some touchpads have a stick "attached", so they share the same
       port.  In absolute mode the stick protocol is a simple ps2
       protocol, except it is sent in an absolute packet. (In relative
       mode both uses ps2)
										   
 Four buttons to work							   
       Some touchpads have 4 buttons. Only 3 was read and the last was set
       to up or down "button".
										   
 Multiple fingers								   
       I have added an option to detect such by looking at pressure levels,	   
       which is not that great. If the pad have the capability to detect	   
       it, this is used instead, but this far from optimal. It does detect	   
       two horizontal parted finger if in same vertical position, otherwise	   
       the detection is bad. This is/was a problem as my wrist lays on the	   
       laptop which gives a 45 deg to horizontal for my fingers. Now I try	   
       to add further detections, which works for me in 95% of the time.	   
										   
 Multi finger tap								   
       Using 1,2 or 3 fingers to make a tap translates into left, right or	   
       middle button pressed. I originally thought about doing what is	   
       called a "HOP" where after a quick finger shift the distance of the	   
       hop decides which button is pressed. I dropped it partly because	   
       synaptics did in version 3.2 and because it was harder than I		   
       thought.								   
										   
 Multi finger less sensitive							   
       Adding or removing a finger or just accidently touch the pad with	   
       the palm while using the pad causes the pad to report the average	   
       position between the touched places.  This of cause gives annoying	   
       erratic movements. When adding or removing fingers are detected	   
       the mouse is stop for some small time to avoid this. This is not	   
       perfect as the finger detection is not perfect, but it helps a lot!	   
										   
 Palm detection								   
       Some touchpads tries to detect whether the reported data is from a	   
       palm or similar.  When reading this signal the movement is		   
       stopped. Except the detection does not work very well :(		   
										   
										   
 Enabling/disabling touchpad							   
       A new corner action is to disable the touchpad. It is enabled again	   
       by tapping the same corner. This is useful if I know I am going	   
       to write a lot. The stick still works.				   
										   
 Debugging corner action  							   
       A corner action now allows toggling the debug information. 		   
										   
										   
The structure has changed to handle both serial and ps2 touchpads. Many	   
variable names have changed.                  				   
										   
The documentation referred to is from					   
 "Synaptics TouchPad Interfacing Guide" revision 2.5 			   
or just STIG									   
                                                                                

Peter
--
E-Mail:       pebl@math.ku.dk 
Real name:    Peter Berg Larsen 
Where:        Department of Computer Science, Copenhagen Uni., Denmark

--0-1202663182-1014948350=:4384
Content-Type: APPLICATION/octet-stream; name="gpm_synaptic_diff.gtar"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.OSF.4.21.0203010305500.4384@artin.math.ku.dk>
Content-Description: 
Content-Disposition: attachment; filename="gpm_synaptic_diff.gtar"

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
nUPy5PxC5uwcE3Udb1/QgcmSBzfIVP5+TZxPTqclDT4t8jcbjJ1ED6F9GzGK
dwn6DrV8BX/GY/M2HV2y72+wJymyI95IwoMe9HIS1lfE0SP2BbkSAyQuuaWH
e/r0dpOBID8fCf3tt+vtPuiv268fSPV9YedXvw1v6H1M5/3VzeXwps7YZSQZ
Yk91QfXp+hqo6P1LTVamY91AwNoNSnSP9A2kb9WLlm+wgeaGr4SJbXwmdoRf
1EocSbSasifUrMrtpfpMre3I9AVtSx0oe8t+sigT9tfW347Wosi06hmU9jMo
ghdyJgVTgtJ5ES/PoXQRBf7Tvjnl4NLixVh59kaeVXXVSzpmtk21YFkgVM+M
Y0tohJ12r97bByMcdOqDjnyNWfJNh66ooCyYzr6zv/4N2CXLx90Cecox17tx
HEzsjn5hmyV7+5vaZk7BKpxrbEW3vvxUQv0kSJWZblZu7yPsWkCL+kkDlmzI
r+GwhDrPYTlSFWAJEssBlm/LS+gCYDn1k8WhvZFuM1nk0KZ+KuGwei8dsAuA
1dQ4KrXvYzeax1LIb7AcE/KbbafIZUlFcQ3kmvpjBvk97CfP5bdYkGXkGvJ7
2RBBMnu98JJKSln0MksoBVfG072Y/ku2vvxkUle4cqHiYaIWAAvUTwXAXGki
PxCRm2ZqM8ZWUJe5cmmBQsEWAEupnyRg7St1WFZjskzlG7VYZn2v02NVWcjm
8ts1mUEyVlH0KTNbq9qT13lBPxa1ZbfaKKziz/OAJnU5YKH4s3YEC9RFP7Bq
NS8XGanLOSzUatbbWJ66yGGhVmMCFsyhQG0C1r51lG3azGS/YZyrIF830lU1
PJvLrx/rKi6/cbQrBf/68bYhGXtZla4yBS8IVSVbRv2UI7UTqa8ALNBmkmVn
XdSWQ8Z/YS1o9vpe5FRKk19K1ohKDu2JhWXhqwDbRcDiCtFAfBawU8Xh1wJ2
TcDad9GhNWS176LFEshv1WMll1+vyRJbtSu0gnFVm92sY5HEyFbfAKp++iQr
KHqc8/Uk0bzgQnmypxxMroRUgZKjKgMxqkZrQAyqMhCqFa1pTs8LqjCLQ2sa
K5J8x7rOVzoC+mmh27KiMkCUzSMllE+2l1lly1JGSgqb5hIoX6wkTqpkqYT5
Sqsq4HyVWZWivNquSlFeZFhvSpu+wrKKAMUS4zMWoulsKIgd+H47xhZ3JkOI
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
--0-1202663182-1014948350=:4384--