[Gpm] Synaptics touchpad
Doug Walker
dwalker@efortress.com
Tue, 24 Oct 2000 17:02:37 -0600
Chris,
It appears to me that you may have the roles of gpm & the kernel
driver confused a bit.
In short, the pc_keyb.c mouse driver is a generic driver. It is the
lowest level in the kernel which communicates with the touch pad.
Gpm, is a 'user-level' (e.g. it runs in user space), in effect sitting
on top of pc_keyb.c.
The kernel driver gets bytes from the touch pad and buffers them
until a client process (gpm) reads them via the read() system call.
Gpm, reads the incoming bytes from the driver. It then builds and
Gpm_Event structures which client processes (e.g. X11) use to
determine mousy movements.
At 03:21 PM 10/24/00 -0700, Chris Collins wrote:
>Hello Doug,
>
> > The synps2 module
> > ... attached via a PS/2 style auxiliary port
> > ... attached to the serial port.
>
>I am a bit thick. Which of these two describes the touchpad
>on a compaq presario 1685 laptop?
More than likely, you have a PS/2 style touch pad attached to the
auxiliary port on the keyboard. Most (?) laptops are configured
this way.
[snip]
>So let me try to get this straight. A complete solution would be to have
>touchpad movement be picked up by a running gpm module (gpmd?).
>It sends this massaged info to a (yet to be revised) pc_keyb.c which
>correctly interperates the info and makes mousey movements on the
>screen.
Modifying gpm is the fastest way to solve your problem. You need to
modify synaptics.c (function syn_process_data() ) in the gpm source
tree to add the smoothing logic discussed in my previous post to you.
You do not have to implement the config file parameter, I just suggested
it as a convenience to the rest of the mailing list.
>If I have this flow of info correct, how can I help test it?
>Setting up the latest GPM is involved :) also testing the
>patched kernel vs. non-patched?
Patching and testing gpm is a FAR site easier to modify & test than
is a kernel level driver. All you need do is make the change, compile
gpm, stop the currently running gpm process, then run the newly
compiled gpm process.
Testing a kernel module driver is much more complex and difficult.
Is there a nice overview of the way simple mouse movements
>are read and used through the kernel which could help me
>at least understand the problem better to assist in its
>repair.
I suggest you get the "Synaptics TouchPad Interfacing Guide" at
http://www.synaptics.com/supp-touchutil.cfm and read it. In addition
to a high level overview of the flow of communications, it has detailed
information as to the content of the packets received from the touch
pad.
FYI - I have a gw2k laptop with a PS/2 synaptics touch pad. It works
perfectly with gpm. No jitter problem what-so-ever.
Doug