Thread (94 messages) 94 messages, 11 authors, 2017-02-23

Re: [PATCH v9 1/8] drivers:input:tsc2007: add new common binding names, pre-calibration, flipping and rotation

From: Pali Rohár <hidden>
Date: 2017-02-20 22:04:32
Also in: linux-devicetree, linux-input, linux-omap, lkml

On Monday 20 February 2017 22:27:39 H. Nikolaus Schaller wrote:
quoted
Am 20.02.2017 um 22:08 schrieb Pali Rohár [off-list ref]:

On Monday 20 February 2017 20:42:15 Pali Rohár wrote:
quoted
While I'm watching this discussion... in my opinion kernel should
just invert input axes (when needed)
It is questionable why it should do that at all then.

User-Space can also easily do it. Either the driver should provide
raw data only or if it does pre-processing (scaling by +/-1), why
exclude pre-scaling by other factors?
Via resolution property which is in that EVIOCSABS ioctl() you specify 
value which represent unit per mm. So you cannot do full rescaling like 
via affine transformation. Specially you cannot swap axes or invert it.

As such thing is not supported by current kernel <--> userspace API it 
needs to be done in kernel.

Moreover I see that this is already handled by kernel's of_touchscreen.c 
code via DT properties: touchscreen-inverted-* touchscreen-swapped-x-y

And... I'm not sure but I think that linux exports absolute input 
devices with coordinates where point (0,0) is mapped as left upper 
corner.
quoted
quoted
and should not do any other
normalization or integer/floating-point
re-calibration/re-calculation. If it correctly exports minimum
value, maximum value and resolution then userspace can correctly
re-scale input events to units which userspace needs (e.g. mapping
into LCD screen pixels or whatever is needed).
-- 
Pali Rohár
pali.rohar@gmail.com

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