Thread (5 messages) 5 messages, 2 authors, 2012-10-25

Re: ABS_PRESSURE and 0 ranges

From: Rolf Eike Beer <hidden>
Date: 2012-10-25 20:15:51

You wrote:
Hi Rolf,

On Thu, Oct 25, 2012 at 02:59:49PM +0200, Rolf Eike Beer wrote:
quoted
Hi all,

as I found out the hard way tslib does the detection if a touchscreen has
been "clicked" if the kernel driver says it does not support
ABS_PRESSURE. But when the kernel says it can do ABS_PRESSURE tslib will
not do it's emulation and just pass on whatever pressure value the kernel
sends.

So far, so good. Sadly there are some drivers that do:

input_set_abs_params(dev, ABS_PRESSURE, 0, 0, 0, 0);
What drivers are doing this?
git grep 'ABS_PRESSURE, 0, 0, 0, 0' drivers/input/
quoted
Guess what happens: no clicks at all. The question I have is: does the
above line make any sense to be in a kernel driver at all? Or is that
some voodoo that must be there and it's all tslib fault?

Now that I know where the problem is coming from the problem is easily
fixable, I'm just wondering which patch to make.
Well, the limits are strictly advisory for userspace, input core does
not perform any clamping or discarding the data that falls outside the
limits, so tslib probably should not do that either.
My main concern is that if the driver says it will only ever give pressure 
values from 0 to 0, what useful stuff may that ever be? And since the driver 
says it supports presure touchscreen will wait for the driver to report it. 
Since it will never do it (or could at most return a 0), then there is nothing 
that could ever become a valid click event.

Eike

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help