1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
|
0.14.5 (2006-06-04)
- Added PREFIX support to the Makefile. From Ricardo Garcia.
- Implemented pressure dependent motion speed. From Stephane Rosi.
- Minor documentation updates.
- Implemented two-finger vertical and horizontal scrolling. From
Stefan Bethge.
- Some code cleanup.
- Makefile support for Xorg 7.0. From Mattia Dongili.
- Added new parameter "SingleTapTimeout" to give greater control over
tap behavior. From Vaclav Kadlcik.
0.14.4 (2005-11-06)
- X header file fix for xorg 6.8.99.15. Patch from Christoph Brill.
- Fixed some long vs int inconsistencies to make the driver work
correctly on 64 bit machines.
- Made the device name change code handle more cases. Patch from Karl
Tomlinson.
- Included driver version number in the shared memory segment.
Suggested by Stefan Kombrink for use in ksynaptics.
- Vertical/horizontal scrolling was incorrectly stopped then the
finger left the lower right corner if the scrolling was started from
within that corner. Reported by Arie Huijzer.
- Added option to syndaemon to ignore "modifier+another key" combos.
Patch from Mattia Dongili.
- Documentation updates.
- Updated the compatibility list.
0.14.3 (2005-07-22)
- Added -k switch to syndaemon to make it ignore modifier keys when
monitoring keyboard activity. Suggested by Harold Aling.
- Also disable scrolling when the TouchpadOff parameter is set to 2.
It doesn't make any sense to disable tapping but not scrolling as a
response to keyboard activity.
- In the DeviceOn() function, if opening the device node fails, try to
auto-detect the correct event device again. This fixes some problems
which occur after a suspend/resume cycle or after rmmod/insmod-ing
the psmouse kernel driver.
- Implemented new driver options LeftRightScrolling,
UpDownScrollRepeat, LeftRightScrollRepeat and ScrollButtonRepeat to
control the auto-repeat behavior of the scroll buttons. Contributed
by Sam Barnett-Cormack with some small changes by me.
- The evdev auto-dev code could incorrectly blame problems on a
missing evdev driver.
- If no /dev/input/event* device nodes are found, say so in the log
file.
- Documentation updates.
- Updated the compatibility list.
0.14.2 (2005-05-16)
- Added a hotplug script that disables the touchpad when a USB mouse
is connected. (And reenables it again when the USB mouse is
disconnected.) From Joergen Scheibengruber.
- Ignore the finger count from synaptics touchpads if the finger
pressure is below finger_high. Some touchpads (for example, the one
found on HP Pavilion 2028) report an unreliable finger count when
the finger pressure is very low.
- Use better permission modes in "make install". Patch from Mattia
Dongili.
- Some documentation updates.
- Updated the compatibility list.
0.14.1 (2005-03-15)
- Fix for build problems on Gentoo amd64 systems.
- Added -p switch to syndaemon to make it record its pid in a pid
file. This simplifies init scripts. Based on a patch from Maximilian
Attems.
- Made the event auto device detection work even if some
/dev/input/event nodes are missing, which can happen when using a
udev based system.
- Fixed alpscomm.c so that the X server doesn't lock up if you
incorrectly configure the driver to read from an event device using
protocol "alps".
- Fixed off by one error in alps_process_byte().
- Improved the "synclient -h" text when running on a 2.6 linux
kernel.
- Some documentation updates.
- Updated the compatibility list.
0.14.0 (2005-01-06)
- Configurable palm detection heuristics. From Sean Dilda.
- Added FastTaps option to make the driver react faster to tapping.
- Another Makefile fix for x86_64 systems, from the FC3 RPM.
- Support up to 12 (virtual) mouse buttons.
- Made the event device auto detection more robust. Check for required
features instead of relying on the IDs of the input device.
Suggested by Vojtech Pavlik.
- Made it possible to disable tapping without disabling mouse
movements. Added -t switch to syndaemon to disable only tapping in
response to keyboard activity.
- Remove the shared memory area when the X server terminates.
- Improved edge motion behavior. The speed no longer depends 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.
- Better noise reduction in the x/y delta estimates used for pointer
motion. This 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.
- Made it possible to use horizontal circular scrolling by smoothly
switching from "horizontal" to "horizontal circular" when the finger
enters the lower left or lower right corners during horizontal
scrolling.
- Fixed a bug that made it possible to lock up the X server by setting
VertScrollDelta, HorizScrollDelta or CircScrollDelta to 0 while the
touchpad was scrolling.
- Implemented coasting, ie the ability to automatically continue
scrolling with the same speed in the same direction when the finger
leaves the touchpad.
- Some documentation updates.
- Updated the compatibility list.
0.13.6 (2004-10-23)
- Updated the ALPS patch for kernel 2.6.9.
- Fixed detection of ALPS touchpads with signature 63 03 c8.
- Some documentation updates.
- Updated the compatibility list.
0.13.5 (2004-08-07)
- FreeBSD psm driver update. From Arne Schwabe.
- Support for ALPS dualpoint touchpads (DELL Latitude CPx, DELL
Inspiron 8200, DELL Latitude D600). From Alastair M. Robinson.
- Documentation updates, including a trouble shooting guide.
- Makefile fix to auto-detect x86_64 systems. From Mattia Dongili.
- Updated the compatibility list.
0.13.4 (2004-07-27)
- Fixed X server crash caused by forgetting to remove the timer
callback in the DeviceOff() function.
- Fixed a problem with the shared memory area not being accessible
after logging out from a KDE session and then logging in again
without restarting the X server.
- Added support for circular touchpads. From Axel G. Rossberg.
- Added a true daemon mode to syndaemon. From James Ketrenos.
- Better default parameters for alps touchpads.
- Added Dmitry Torokhov's updated alps patch that can do hardware
auto-detection and also disables hardware tapping.
- Modified the Makefile to make it easier to build the driver for
x86_64 systems.
- Some documentation updates.
- Updated the compatibility list.
0.13.3 (2004-06-13)
- Added support for Synaptics cPad devices. (Also requires a 2.6
kernel patch.) From Jan Steinhoff.
- Bug fix for touchpads with a middle mouse button.
- Fixed handling of the repeater device.
- Fixed compiler warnings when using the xorg sdk include files.
- Added two parameters:
* MaxDoubleTapTime makes it easier to do fast double clicks.
* ClickTime adds a delay between the button down and button up
events generated in response to a tap event.
- Updated the alps patch for kernel 2.6.7-rc3.
- Added -V option to synclient to display the version number.
- Updated the compatibility list.
0.13.2 (2004-05-09)
- Fixed middle mouse button emulation, which broke in the 0.13.0
release.
- Made double clicks faster, so that they work in xmms and the gtk
file selector. (They became slower in the 0.13.0 release.)
- Updated the compatibility list.
0.13.1 (2004-05-03)
- Fixed detection of ALPS touchpads when using a 2.6 linux kernel.
- Added more models to the compatibility list.
- Added a "GuestMouseOff" parameter to disable the pass through
device. From Moritz Maass.
0.13.0 (2004-04-24)
- Added back support for the TOP Makefile variable. (Needed when
compiling for XFree86 < 4.2).
- Fixed "double tap and drag", which is needed for word selection from
an xterm.
- Made it possible to bind the CornerButton and TapButton parameters
to button values > 3.
- Locked drags incorrectly generated extra button events in some
cases.
- Handle synaptics touchpads with a middle mouse button. Based on a
2.6 kernel patch from Dmitry Torokhov.
- Added (untested) support for the FreeBSD psm mouse driver.
- If the evdev kernel module seems to be missing, say so in the log
file. (Very common error situation when using 2.6 kernels.)
- Added support for ALPS touchpads using the 2.4 linux kernel.
- Removed "repeater" from the shared memory segment. It's not possible
to share pointers between different address spaces.
- Added more models to the compatibility list.
- Various documentation updates.
- Some code cleanups.
0.12.5 (2004-03-04)
- Added more models to the compatibility list.
- Added support for physical (ie not emulated) middle mouse buttons.
Some ALPS models have middle mouse buttons.
- The is_equal() function in synclient.c forgot to check
multibuttons.
- Reverted ALPS gesture bit handling to the 0.12.1 state, as the code
in 0.12.2 breaks tap-and-drag operations on some ALPS touchpads.
- Added pressure dependent edge motion speed. From Matthias Ihmig.
- Made it possible to use "edge motion" also when not dragging. From
Matthias Ihmig.
- Made it possible to disable vertical and horizontal scrolling by
setting the corresponding parameter to zero. From Matthias Ihmig.
- Made it possible to have both circular scrolling and
vertical/horizontal scrolling enabled at the same time. From
Matthias Ihmig.
- Minor documentation updates.
0.12.4 (2004-02-10)
- Changed suggested default values in the INSTALL file, to get more
reasonable speed settings and edge parameters.
- Include time in the "synclient -m" output.
- Handle touchpads with a scroll region on the right side where very
large X coordinates (typically 8176=0x1ff0) are reported.
- Added more models to the compatibility list.
- Updated the documentation.
- Added support for circular scrolling. From Alexei Gilchrist.
- Removed the saved_touchpad_off variable in syndaemon. It's more
robust to just not disable the touchpad if it already is disabled.
- Added manpages for synclient and syndaemon. Contributed by Mattia
Dongili.
- Added uninstall target to the Makefile. From Paul Bender.
- Automatically build using the 4.3 SDK if available. Patch from Paul
Bender.
- Removed unnecessary local X include files that are available in the
XFree86-devel package. Patch from Paul Bender.
- Added a "distribution" target to the Makefile.
- Added an RPM .spec file. From Giorgio Bellussi.
0.12.3 (2004-01-11)
- Added more models to the compatibility list.
- Updated the documentation.
- Added French translation of the INSTALL file. Contributed by Rigot
Michel.
- Removed deprecated use of psmouse_noext in the alps patch. This
makes the patch work also for recent -mm kernels. (This breaks alps
support for kernels older than 2.6.1-rc1, but those kernels should
not be used anyway.)
0.12.2 (2003-12-17)
- Added more models to the compatibility list.
- Updated the documentation.
- Added an fflush() call after the printf in the monitor loop in
synclient.c. This makes "synclient -m" behave better when the output
is piped to some other program. From Anders Kaseorg.
- Added parameter settings to the InputDevice example in README.alps,
so that the whole thing can be cut and pasted into the XFree86
config file. Suggestion from Gene Imes.
- Made syndaemon recognize the '?' option, causing the help message to
be printed.
- In the syndaemon help message, print the default disable time.
Suggestion from Frédéric Bothamy.
- Only use the -fno-merge-constants compiler flag if the compiler
understands it.
- Updated INSTALL.DE. Translation contributed by Markus B.
- Added pass through support, ie support for guest devices. From David
Kennedy and Fred Hucht, somewhat cleaned up by me.
- Updated the alps.patch to handle the gesture bit correctly. From Tom
Sightler.
- Made tap processing configurable. Patch from Justin Quek, cleaned up
somewhat by me.
0.12.1 (2003-11-14)
- Added more models to the compatibility list.
- Updated the documentation.
- Added "syndaemon", a program that monitors keyboard activity and
disables the touchpad when the keyboard is being used.
- Some code cleanup.
- Made the packet checking code less strict, so that the driver works
also for touchpads that don't strictly follow the synaptics absolute
protocol. Problem reported by Anders Kaseorg using a PowerPro C 3:16
laptop.
- Rediffed the alps patch for kernel 2.6.0-test9-bk16.
- Removed compatibility code for old (<test6) 2.6 kernels.
- No longer support installation from a precompiled binary. It should
be possible for everyone to compile from source.
0.12.0 (2003-10-26)
- Initial support for ALPS touchpads.
- Implemented "locked drags" after a suggestion from Karl Kashofer.
- In the synclient program, use case insensitive string matching for
parameter names.
- Report all eight multi buttons in the synclient program.
- Print the driver version string before other driver messages.
- Added more models to the compatibility list.
- Some documentation updates.
0.11.8 (2003-10-08)
- Initialize the id variable in QueryIsSynaptics(), so that we don't
print out garbage if the identification fails.
- Added "Sharp Actius MM10" to the compatibility list.
- Added X include files so that the driver can be compiled without an
external XFree86 source tree.
- Some documentation updates.
0.11.7 (2003-09-28)
- Added "Acer TravelMate 234LC" to the compatibility list.
- Added "Gateway 600S" to the compatibility list.
- When using the Linux 2.6 event device, try to get exclusive access
to the device, so that touchpad data doesn't leak to
/dev/input/mice. This should fix problems with recent 2.6 kernels.
0.11.6 (2003-09-26)
- Updated the config section in INSTALL.DE. Added warning explaining
that the file is not up to date.
- Forgot to change the default values for TopEdge and BottomEdge when
reversing the Y direction in version 0.11.5.
- Warn about (and fix) mis-configured TopEdge/BottomEdge parameters.
0.11.5 (2003-09-25)
- Use the EVIOCGID ioctl for synaptics event device auto detection.
This is much simpler than parsing /proc/bus/input/devices and more
robust too.
- Added support for the new 2.6 kernel events ABS_TOOL_WIDTH,
BTN_TOOL_FINGER, BTN_TOOL_DOUBLETAP and BTN_TOOL_TRIPLETAP. Note
that this swaps the direction of the Y axis internally to match X
and the linux input subsystem. Because of this, the TopEdge and
BottomEdge parameters must be modified in the config file. There is
some backwards compatibility code for old 2.5/2.6 kernels that will
probably be deleted later.
0.11.4 (2003-09-22)
- Reset the touchpad if it has been out of sync for too long. (By
Hartwig Felger, cleaned up somewhat by me.) The synaptics manual
explains that the touchpad can revert to relative mode after a power
glitch or electrostatic discharge.
- Created a helper macro to get rid of all the ugly "#ifdef DEBUG" in
ps2comm.c.
- Made "make tags" work for emacs.
- Changed tab size from 4 to the standard value 8. Reindented code so
that it still looks sane.
- Fixed spelling errors.
- synaptics: Added "Acer 661 LCi" to the compatibility list.
- Made it possible to disable the touchpad at runtime. (Patch from
Jörg Bösner.)
- Clarified description of FingerLow/FingerHigh parameters.
- Added "DELL Latitude CPi" to the compatibility list.
- Changed the identifier for the synaptics protocol to match kernel
2.6.0-test5-bk8.
0.11.3p11 (2003-07-31)
- When setting the mode byte, don't set bits that the touchpad doesn't
understand. Those bits are reserved and setting them can lead to
weird problems, like the left button not working, as reported by
Miles Lane.
- Replaced a few forgotten hardcoded values with symbolic constants.
- Disable stream mode before trying to identify/initialize the
touchpad. Otherwise the touchpad can report motion data in the
middle of the initialization sequence, which will confuse the driver
and make the initialization fail. (Thanks to Miles Lane for helping
to debug this problem.)
- Updated COMPATIBILITY file.
0.11.3p10 (2003-07-30)
- Improved support for the old-style synaptics protocol.
- Cleanup: Moved middle mouse button emulation to a separate function.
- Cleanup: Moved finger detection to a separate function.
- More robust resynchronization code, after an idea from Hartwig
Felger. When we realize we are out of sync, only throw away one
byte, not all bytes already read from the touchpad.
0.11.3p9: (2003-07-29)
- Added support for the old synaptics protocol. By Hartwig Felger.
0.11.3p8: (2003-07-20)
- From Hartwig Felger:
* Added "multi-buttons" to the FEATURES list.
* Updated NEWS file with data from the web page.
* More robust parsing of the Handlers= line when doing auto detection
for 2.6 kernels. ("Handlers=event2 js0" should work now.)
* Updated synclient program to explain that it can't query hardware
details when using a 2.6 kernel.
0.11.3p7: (2003-07-17)
- Added support for touchpads with "multi buttons". (Hartwig Felger)
- Mention the synclient program in the INSTALL file.
- Updated COMPATIBILITY file.
- Implemented protocol "auto-dev" that automatically tries to find the
proper device node and protocol for the touchpad. This makes it
possible to have the same XF86Config file for 2.4 and 2.5 kernels.
(Hartwig Felger)
0.11.3p6: (2003-07-13)
- Build fix for gentoo linux.
- Longer timeout in the reset sequence. Experience from the 2.5 kernel
driver has shown that 4 seconds is needed for some touchpads.
- Made horizontal wheel replacement buttons work. (Patch from Hartwig
Felger.)
- Improved driver initialisation and finalization. From Hartwig
Felger.
- Reset the touchpad to relative mode when the X server
terminates. (So that you can run gpm afterwards for example.)
- Implemented install target in the Makefile.
0.11.3p5: (2003-07-08)
- Fixed rare X server hang/crash.
0.11.3p4: (2003-07-05)
- Workaround for an X server bug that could make the X server crash.
- Fixed bug that sometimes incorrectly moved the cursor to the upper
right corner of the screen.
0.11.3p3: (2003-06-19)
- Added support for linux kernel 2.5.x.
0.11.?
- Updated the synclient program to make it possible to read and write
the variables in the shared memory area. This means you can change
parameter settings without restarting the X server.
- More reliable implementation of double click simulation using the up
button. The old implementation incorrectly generated a single click
instead of a double click for very short clicks of the up button.
- Configurable timeout (option EmulateMidButtonTime) for middle button
emulation.
- Better state machine for handling middle mouse button emulation.
* Clicks shorter than EmulateMidButtonTime are no longer lost.
* The middle button event is generated as soon as both the left and
the right buttons are pressed. The old code waited until the
timeout had passed before even checking if both buttons were
pressed.
- Makefile improvements:
* Made it possible to build synclient even if an X source tree is
not available.
* Added Makefile dependencies so that things get recompiled when a
header file is changed.
* synclient.c now includes synaptics.h instead of duplicating the
shared memory structure definition.
- The shared memory segment is properly removed when the X server
exits, so that synclient isn't fooled by a stale segment if the X
server is later restarted without SHMConfig activated.
- The code that tried to remove any old shared memory segment at
startup before creating the new segment didn't work. Therefore, X
server startup failed if the size of the shared segment had changed.
(Which was very annoying during development.)
- Updated the TODO, PARAMETERS and FEATURES files.
09.06.02 - Version 0.11.1
- new packet format for Firmware 5.8 and others; solves problems with some
models with 6 buttons (S. Lehner <sam_x@bluemail.ch>)
13.10.01 - Version 0.10
- multifinger taps
|