Re: [PATCH] Synaptics TouchPad driver for 2.5.70

Vojtech Pavlik
2003-06-14T08:29:22Z

On Sat, Jun 14, 2003 at 12:55:32AM +0200, Peter Berg Larsen wrote:
>
> On Sat, 14 Jun 2003, Vojtech Pavlik wrote:
>
> > > What do we call these things? ABS_FINGER_WIDTH and ABS_NR_FINGERS
> > > maybe?
>
> > Could work. Or as James Simmons suggested ABS_AREA.
>
> ABS_NR_FINGERS and ABS_AREA ? I find ABS_FINGER_WIDTH to more telling.

I'm now considering a yet different approach that's more along the lines
how digitizers (tablets) are handled:

BTN_TOOL_FINGER
BTN_TOOL_DOUBLETAP
BTN_TOOL_TRIPLETAP

for telling what the user used to point ... and

ABS_AREA or ABS_WIDTH or ABS_TOOL_WIDTH

to tell how the touched area is large.

> The important part is that the driver must know when there is added or
> removed a finger as touchpads sends the avarage positions of the fingers.
> Adding or removing a finger moves the mouse if the driver does nothing.
>
> There are other questions, if the API is to be used by a general user
> touchpad driver.

I hope it could, but not many touchpad drivers report all the stuff they
know like the Synaptics ones. Most do all the processing straight
within the pad processor.

> Is there a way to communicate the resolution of the x,y
> and z coordinates to the user driver?

Not at the moment. We could add physical range values it if it becomes
needed, though. From this the userspace portion of the driver can
compute the resolution.

> (not only min/max). How do I tell
> that the y coordinate is reversed (gliderpointer) ?

The direction of the coordinates is defined to be constant in the API,
so you should reverse it in the driver if you detect a pad with a
reversed Y coordinate.

--
Vojtech Pavlik
SuSE Labs, SuSE CR