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

From: H. Nikolaus Schaller
Date: Sun Feb 19 2017 - 07:08:03 EST


Hi Pavel,

> Am 18.02.2017 um 23:54 schrieb Pavel Machek <pavel@xxxxxx>:
>
> On Sat 2017-02-18 20:17:09, H. Nikolaus Schaller wrote:
>>
>>> Am 18.02.2017 um 19:08 schrieb Pavel Machek <pavel@xxxxxx>:
>>>
>>>>> And I agree that kernel should _not_ attempt rescaling itself, as it
>>>>> would lose precision.
>>>>
>>>> With an almost 1:1 mapping you won't loose precision.
>>>
>>> How do you propose to do that?
>>
>> something like
>>
>> xinput --set-prop --type=float "TSC200X touchscreen" "Coordinate Transformation Matrix" 1.00 0.00 0.00 0.00 1.00 0.00 0.00 0.00 1.00
>>
>> but I think it is the default of X11 if you use no coordinate transformation at all.
>> And having the kernel to properly scale from ADC values to screen coordinates.
>>
>
> No. How do you propose doing rescaling in the kernel without loosing
> precision?

I wonder how it works with your setting

xinput --set-prop --type=float "TSC200X touchscreen" "Coordinate Transformation Matrix" 1.10 0.00 -0.05 0.00 1.18 -0.10 0.00 0.00 1.00

This obviously also assumes that the input events report pixel coordinates or you would have factors not close to 0.00 and 1.00.
It just aligns the touch with the screen, i.e. calibrates. Or your example was incomplete.

About loosing precision: there is already noise (jitter) in real-world devices so that you can't achieve subpixel precision anyways (unless your panel has a very low resolution). Please see my answer to Dmitry some mails ago.

BR and thanks,
Nikolaus

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail