Hi,

On Fri, 2008-03-21 at 15:59 -0400, Dmitry Torokhov wrote:
> On Fri, Mar 21, 2008 at 08:40:19PM -0700, Kristoffer Ericson wrote:
> > This patch makes the jornada 7xx touchscreen work without tsdev. It changes
> > the ABS values and makes sure the report_key is done in right order (for 
> > tslib).
> > We also change the printk's to use ERR instead of INFO.
> > 
> 
> I dont think that this patch should be applied. The hardware does not
> report pressure and thus the driver should not generate pressure
> events. Order of events should not matter either, thet should all be
> accumulated until userspace gets EV_SYN/SYN_REPORT message and then
> processed all together.
> 
> It sounds like tslib is pretty broken in that regard. Should we bring
> tsdev back till the issues are resolved? Richard?

Lets not jump to that quite yet ;-).

I don't understand why the order would matter either. Kristoffer, can
you confirm you really have to change the order of the events to make it
work?

I've looked at the tslib input plugin:

http://svn.berlios.de/viewcvs/*checkout*/tslib/trunk/tslib/plugins/input-raw.c?rev=52

and I think I can see the issue Kristoffer has hit:

(ioctl(ts->fd, EVIOCGBIT(EV_ABS, sizeof(absbit) * 8), &absbit) >= 0) &&
(absbit & (1 << ABS_X)) &&
(absbit & (1 << ABS_Y)) && (absbit & (1 << ABS_PRESSURE))))

since it seems tslib only looks at devices which export pressure data.

Later on in the code, BTN_TOUCH should do that same job but that isn't
looked for in the initial check_fd() code. tslib can be easily fixed to
address that issue and if nobody else writes a patch I'll aim to do so
although it might not be for a few days.

Having said that I don't see why exporting ABS_PRESSURE of 0 and 1 isn't
a valid thing to do, they are pressure readings, just of a rather
limited range!

Cheers,

Richard


Reply via email to