Peter Osterlund
7b610b2d4b
Fixed some problems with ALPS guest devices.
...
From Alastair M. Robinson:
* The guest mouse doesn't report button releases.
* The stick pointer has buttons of its own, and they don't work.
Attached is another patch, this one far less invasive than the last,
which fixes these two problems.
(The button presses that come from the stick pointer's buttons arrive
in events with pressure set to 127, just like stick movement - but
this doesn't seem to be terribly reliable - I think the button
release gets reported with true pressure when the touchpad is being
used too. For this reason, I've set these up to report as ->left /
->right, not as ->guest_left / ->guest_right.)
* One issue that remains - the middle button emulation for two button
mice doesn't seem to work for the guest mouse.
Fixed by me.
2006-04-09 04:02:44 +02:00
Peter Osterlund
7e210b8b98
Whitespace fixes.
2006-04-09 04:02:44 +02:00
Peter Osterlund
d0d22a6055
The GuestMouseOff parameter now also disables the guest
...
buttons.
2006-04-09 04:02:43 +02:00
Peter Osterlund
53b9941db7
The SynapticsPreInit() function shouldn't call
...
xf86RemoveEnabledDevice() when it hasn't called xf86AddEnabledDevice()
first.
2006-04-09 04:02:39 +02:00
Peter Osterlund
c30e4b8d45
Fixed another X server crash caused by forgetting to remove
...
the timer callback in the DeviceOff() function.
2006-04-09 04:02:38 +02:00
Peter Osterlund
a7a994b49a
Removed duplicated function declaration.
2006-04-09 04:02:38 +02:00
Peter Osterlund
cbee47a1f2
Don't remove the shared memory segment when DEVICE_CLOSE is
...
received. When exiting a KDE session in FC2, DEVICE_CLOSE is sent to
the synaptics driver, but the X server doesn't quit. Therefore, the
driver will use a stale memory area afterwards, which can cause X
server crashes and prevent synclient from working.
Reported by Jerry Kiely <jerry@cowboysmall.com >.
2006-04-09 04:02:37 +02:00
Peter Osterlund
14c9eeead6
Added support for circular touchpads. Based on a patch from
...
Axel G. Rossberg <Axel@Rossberg.net >.
2006-04-09 04:02:37 +02:00
Peter Osterlund
1cb6c555d1
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.
2006-04-09 04:02:27 +02:00
Peter Osterlund
32d18d4e5b
Fixed handling of the repeater device.
...
(Reported by Ronen Abravanel <ronen@techunix.technion.ac.il >.)
2006-04-09 04:02:23 +02:00
Peter Osterlund
5d2b7423ed
Small cleanup.
2006-04-09 04:02:22 +02:00
Peter Osterlund
77c952aa27
Made double clicks faster, so that they work in xmms and the
...
gtk file selector.
Reported by Jean DIRAISON <diraison.jean@wanadoo.fr >.)
2006-04-09 04:02:22 +02:00
Peter Osterlund
481bb4f0af
Fixed bug in change dee1cca686 that broke
...
middle mouse button
emulation. The HandleState() fuction modifies the SynapticsHwState
object, so it must work on a copy of the real hardware state, or else
the wrong state will later be used when HandleState() is called from
the timer function.
2006-04-09 04:02:22 +02:00
Peter Osterlund
214bbbd518
Added a "GuestMouseOff" parameter to disable the pass
...
through device. (It's not entirely uncommon that the pointing stick is
broken and generates bogus pointer movements.)
From Moritz Maass <maass@informatik.tu-muenchen.de >.
2006-04-09 04:02:19 +02:00
Peter Osterlund
a4ba6e264a
Added (untested) support for ALPS touchpads using the 2.4
...
linux kernel.
2006-04-09 04:02:14 +02:00
Peter Osterlund
70d8648301
Removed repeater from the shared memory segment. It's not
...
possible to share pointers between different address spaces.
2006-04-09 04:02:13 +02:00
Peter Osterlund
ab2b8a2c4b
Fixed inconsistent function name.
2006-04-09 04:02:13 +02:00
Peter Osterlund
6df2b83aff
Don't call PS2QueryHardware() from PSMReadHwState().
2006-04-09 04:02:13 +02:00
Peter Osterlund
264bbfd70a
Added (untested) support for the FreeBSD psm mouse driver.
2006-04-09 04:02:12 +02:00
Peter Osterlund
3e37b4c7d2
Moved the CommData struct from synaptics.h to synproto.h so
...
that ps2comm.c and eventcomm.c don't have to define SYNAPTICS_PRIVATE.
2006-04-09 04:02:06 +02:00
Peter Osterlund
647c5ae5f5
Don't call ps2comm functions directly from synaptics.c.
2006-04-09 04:02:06 +02:00
Peter Osterlund
f574d42c77
Moved autodev handling to the protocol specific files.
2006-04-09 04:02:06 +02:00
Peter Osterlund
dee1cca686
Don't send the whole SynapticsPrivate struct to the
...
ReadHwState() functions.
2006-04-09 04:02:02 +02:00
Peter Osterlund
641aef59c6
Small #include fix.
2006-04-09 04:02:02 +02:00
Peter Osterlund
324421dd86
Moved reading of hardware state to the protocol specific
...
files.
2006-04-09 04:02:01 +02:00
Peter Osterlund
05011c8079
Replaced Success with TRUE/FALSE where possible.
2006-04-09 04:02:01 +02:00
Peter Osterlund
695a442786
Moved the QueryHardware function to the protocol specific
...
files.
2006-04-09 04:02:00 +02:00
Peter Osterlund
c1efdf9b3b
The PrintIdent() function doesn't need access to the whole
...
SynapticsPrivate struct.
2006-04-09 04:02:00 +02:00
Peter Osterlund
5a3e05478a
Some work on abstracting out the protocol differences from
...
synaptics.c to make supporting the FreeBSD psm driver possible.
2006-04-09 04:02:00 +02:00
Peter Osterlund
a4334dd02d
Spelling fixes.
2006-04-09 04:01:59 +02:00
Peter Osterlund
c818be3c6f
Small simplification in HandleTapProcessing().
2006-04-09 04:01:59 +02:00
Peter Osterlund
1a4834ed33
Moved pointer delta computations to a separate function.
2006-04-09 04:01:58 +02:00
Peter Osterlund
f13fa56f1a
Moved scroll processing to a separate function.
2006-04-09 04:01:58 +02:00
Peter Osterlund
174d85a0f7
Implemented a proper state machine for tap and drag
...
processing. This fixes several problems:
* Double tap and drag now works. (Problem reported by Andrew Pimlott
<andrew@pimlott.net >.)
* Locked drags are handled correctly, even for button 2 and 3
tap-and-drag operations.
* The [LR][TB]CornerButton and TapButton[123] parameters now work also
for button values > 3.
* The old code was too hard to understand.
2006-04-09 04:01:58 +02:00
Peter Osterlund
8f131cab87
Removed the unused reset retry loop.
2006-04-09 04:01:57 +02:00
Peter Osterlund
d1feeac0d2
More preparations for FreeBSD support.
2006-04-09 04:01:57 +02:00
Peter Osterlund
4feab2340f
Shortened the code in SynapticsPreInit() by introducing a
...
helper variable.
2006-04-09 04:01:57 +02:00
Peter Osterlund
f56d238d28
Some changes to make supporting FreeBSD easier. From Arne
...
Schwabe <arne@rfc2549.org >, with some editing by me.
2006-04-09 04:01:56 +02:00
Peter Osterlund
a30d9b0eda
When no usable event device node was found, print out how
...
many nodes were checked.
2006-04-09 04:01:52 +02:00
Peter Osterlund
eeb40cac2b
Made it possible to have both circular scrolling and
...
vertical/horizontal scrolling enabled at the same time. From Matthias
Ihmig <m.ihmig@gmx.net >.
2006-04-09 04:01:52 +02:00
Peter Osterlund
362c0722dd
Made it possible to disable vertical and horizontal
...
scrolling by setting the corresponding parameter to zero. From Matthias
Ihmig <m.ihmig@gmx.net >.
2006-04-09 04:01:52 +02:00
Peter Osterlund
2f36b06fdc
Made it possible to use "edge motion" also when not
...
dragging. From Matthias Ihmig <m.ihmig@gmx.net >.
2006-04-09 04:01:51 +02:00
Peter Osterlund
661c08dca8
Added pressure dependent edge motion speed. From Matthias
...
Ihmig <m.ihmig@gmx.net >.
2006-04-09 04:01:51 +02:00
Peter Osterlund
bc76e183f5
Fixed bug in change ec6c36c16d.
2006-04-09 04:01:51 +02:00
Peter Osterlund
8307eaaced
Added support for middle mouse buttons. (Some ALPS touchpads
...
have them.)
2006-04-09 04:01:49 +02:00
Peter Osterlund
ec6c36c16d
Small preparation for pressure dependent edge motion speed.
2006-04-09 04:01:49 +02:00
Peter Osterlund
c950f4cd63
Added a "distribution" target to the Makefile.
2006-04-09 04:01:47 +02:00
Peter Osterlund
c03394d78a
Removed unnecessary #include. From Paul Bender
...
<pbender@qualcomm.com >.
2006-04-09 04:01:45 +02:00
Peter Osterlund
995df72ef0
Added support for circular scrolling. From Alexei Gilchrist
...
<alexei@physics.uq.edu.au >, with some cosmetic changes by me.
2006-04-09 04:01:42 +02:00
Peter Osterlund
a593f31943
Handle touchpads with a scroll region on the right side
...
where very large X coordinates (typically 8176=0x1ff0) are reported.
2006-04-09 04:01:39 +02:00