Re: [RFC/PATCH] Touchpads in absolute mode (synaptics) and mousedev

Vojtech Pavlik (vojtech@suse.cz)
Wed, 2 Jul 2003 08:59:21 +0200


On Tue, Jul 01, 2003 at 07:57:22PM -0500, Dmitry Torokhov wrote:

> I see there are 2 possible solutions. If I understand what Vojtech wrote
> regarding synaptics driver the track stick (or other pass-through device)
> is best implemented as a separate serio. So you could have your touchpad
> in absolute mode and stick as a separate device in native relative.

And if a separate serio is not possible, then at least a separate input
device. It definitely should not be mixed together into one input device
when in reality there are two.

> Other way is to check (in your userspace driver) whether your motion
> packets contains absolute packets and if they are present discard any
> relative events in this batch.
>
> Hmmm... what if we introduce something like sythrelbit[NBITS(REL__MAX)]
> for passing synthesized relative events and have mousedev use values in
> following order of precedence:
> - absbit - lowest priority
> - synthrelbit
> - relbit - highest.
>
> What you think?

... why? I really don't see a reason why we should generate any
synthetic events in the kernel. Not at the device driver level, not at
the handler level.

> > A device should present raw events. Whatever the user says to the
> > device should come out eventX uninterpreted.
> > mousedev should interpret what it can and present this out
> > /dev/psaux. As it can do limited interpretation of ABS events, it
> > should.
>
> The thing is that the result is not useable with touchpads right now.
> It just does not work :(

There exists an XFree86 driver that uses eventX for Synaptics. Same
thing hopefully will be added to GPM soon. AND, I hope I'll be able to
get rid of the relativization code in mousedev soon, too, because it's
beyond ugly, as soon as a similar XFree86 driver is written for 'generic
tablet's.

-- 
Vojtech Pavlik
SuSE Labs, SuSE CR
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/