public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Paulo Marques <pmarques@grupopie.com>
To: Jan-Benedict Glaw <jbglaw@lug-owl.de>
Cc: Vojtech Pavlik <vojtech@suse.cz>,
	LKML <linux-kernel@vger.kernel.org>,
	Linux-Input <linux-input@atrey.karlin.mff.cuni.cz>
Subject: Re: [RFC/RFT] [patch] Elo serial touchscreen driver
Date: Thu, 10 Feb 2005 13:06:46 +0000	[thread overview]
Message-ID: <420B5C66.8040408@grupopie.com> (raw)
In-Reply-To: <20050210104655.GO10594@lug-owl.de>

Jan-Benedict Glaw wrote:
> On Wed, 2005-02-09 22:53:35 +0100, Vojtech Pavlik <vojtech@suse.cz>
> wrote in message <20050209215335.GA2634@ucw.cz>:
> 
>>>That cannot be done. Just hit a resistor-based touchscreen once with a
>>>hammer. You'll probably see that you need a physical recalibration
>>>then... Or flood it with water-solved citronic acid and let is on the
>>>screen for some days. That's funny, but it's real life...
>>
>>You'll need a new touchscreen most likely. The hammer will break the
>>glass if you hit it properly, and if the citric acid gets between the
>>resistive layers, you get nonlinear distortion of the resistivity and
>>that cannot be calibrated for.

Actually, if this is done in a library, we might compensate for 
non-linear distortion, by making a "high resolution" calibration where 
the user has to press a grid of 4x4 points (or something like that) 
instead of just a few of points. The grid would allow non-linear 
calibration.

I'm not suggesting that we can use a touch screen that has citric acid 
moving around between the layers, though :)

> If they were private customers, sure, they'd just buy a new touchscreen.
> But in reality, as long as it somewhat "works", it'll be used as long as
> possible.

We are seriously diverging now....

Let me try to put things into perspective:

   ---------------
  |               |                                        --------
  |  Touch        |          -----------                  |        |
  |  Screen       |---------|    TS     |   serial port   |   PC   |
  |               |       __|controller |-----------------|        |
  |               |      /  |           |                 |        |
   ---------------       |   -----------                   --------
        \_______________/

In a previous post you said:

> 		Basically all these touchscreens are capable of being
> 		calibrated. It's not done with just pushing the X/Y
> 		values the kernel receives into the Input API. These
> 		beasts may get physically mis-calibrated and eg. report
> 		things like (xmax - xmin) <= 20, so resolution would be
> 		really bad and kernel reported min/max values were only
> 		"theoretical" values, based on the protocol specs.

To get raw values that are (xmax-xmin)<=20, the TS controller must be 
"trying" to do some calibration itself.

That's the brain-damaged part.

The TS controller should not be doing any calibration at all, and send 
the widest range it can through the serial port to the PC.

On the PC we must have a library that is capable of scaling / rotating 
those values so that it converts them into "screen absolute" 
coordinates. I call these screen absolute because they shouldn't depend 
on the actual resolution.

So there is no doubt that calibration must be done. We are past that. I 
too work with touch screens in restaurants for more than 10 years now, 
so I surely know what an agrssive environment is, and what damage a 
touchscreen might be exposed to.

So, if the inputattach program initializes the TS controller to make it 
send the widest range (1:1 calibration) it can deliver, we can do all 
the calibration on the PC and not depend on the TS being able to do the 
calibration itself.

Actually a calibration that can do scaling and rotation, can 
automatically compensate for mirroring and/or switched X/Y axes. We 
probably need the user to press 4 points for that, though (3 points are 
enough, but just barely enough).

-- 
Paulo Marques - www.grupopie.com

All that is necessary for the triumph of evil is that good men do nothing.
Edmund Burke (1729 - 1797)

  reply	other threads:[~2005-02-10 13:08 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-02-08 16:42 [RFC/RFT] [patch] Elo serial touchscreen driver Vojtech Pavlik
2005-02-08 16:54 ` Dmitry Torokhov
2005-02-09 13:23 ` Paulo Marques
2005-02-09 17:00   ` Vojtech Pavlik
2005-02-09 17:14     ` Jan-Benedict Glaw
2005-02-09 17:30       ` Vojtech Pavlik
2005-02-09 18:08         ` Paulo Marques
2005-02-09 19:18           ` Vojtech Pavlik
2005-02-09 19:54             ` Paulo Marques
2005-02-09 20:06               ` Jan-Benedict Glaw
2005-02-09 20:03             ` Jan-Benedict Glaw
2005-02-09 20:10               ` Vojtech Pavlik
2005-02-09 21:53                 ` Jan-Benedict Glaw
2005-02-09 19:58           ` Jan-Benedict Glaw
2005-02-09 20:51             ` Paulo Marques
2005-02-09 21:39               ` Jan-Benedict Glaw
2005-02-09 21:53                 ` Vojtech Pavlik
2005-02-10 10:46                   ` Jan-Benedict Glaw
2005-02-10 13:06                     ` Paulo Marques [this message]
2005-02-10 13:43                       ` Jan-Benedict Glaw
2005-02-10 15:35                         ` Paulo Marques
2005-02-10 15:55                           ` Jan-Benedict Glaw
2005-02-10 16:16                           ` Vojtech Pavlik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=420B5C66.8040408@grupopie.com \
    --to=pmarques@grupopie.com \
    --cc=jbglaw@lug-owl.de \
    --cc=linux-input@atrey.karlin.mff.cuni.cz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=vojtech@suse.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox