Wednesday, October 13, 2010

Calibrating Touchscreen in Ubuntu 10.10

After installing Ubuntu 10.10 on my Asus eee T91 I was pleased to notice the touchscreen was working out of the box.  Unfortunately the calibration was off and I could not find the calibration utility.

These instructions are now deprecated and I recommend using the xinput_calibrator utility which can be found here:

http://www.freedesktop.org/wiki/Software/xinput_calibrator

This old method is left here for reference only.

I was able to successfully calibrate my screen using the following method:

Open a terminal and type the following:

xinput list

You should see something like this:

⎡ Virtual core pointer                     id=2 [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer               id=4 [slave  pointer  (2)]
⎜   ↳ IDEACOM  IDC 6680                       id=8 [slave  pointer  (2)]
⎜   ↳ IDEACOM  IDC 6680                       id=9 [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad               id=13 [slave  pointer  (2)]
⎣ Virtual core keyboard                   id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard             id=5 [slave  keyboard (3)]
    ↳ Power Button                             id=6 [slave  keyboard (3)]
    ↳ Sleep Button                             id=7 [slave  keyboard (3)]
    ↳ USB 2.0 Camera                           id=10 [slave  keyboard (3)]
    ↳ Asus EeePC extra buttons                 id=11 [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard             id=12 [slave  keyboard (3)]


Note where it has the first "IDEACOM  IDC 6680", that's your touchscreen.  There should be an id in the second column ie. "id=8"

pass the id into the next command(I'm using 8 as the example)

xinput set-int-prop 8 "Evdev Axis Calibration" 32 300 7900 400 7800

That should have set your screen calibration, the last 4 values are the actual calibration numbers.  You may need to tweak these numbers for your monitor, so just fiddle with the values and rerun the command  until you are happy with the calibration.

At the moment you will lose your calibration when you reboot so to make it permanent do the following:

sudo gedit /etc/X11/Xsession.d/98x11-common_touchscreen


Paste you calibration command from the step above into the file and save.

This will run the command on bootup so your calibration is now set.  If anyone finds a better way to do this please post a comment.


These instructions were adapted from posts on this thread on the Ubuntu forums:
http://ubuntuforums.org/showthread.php?t=1237709&page=35


Note: I have been experiencing a bug using the touchscreen where every 4th press or so it seems to register as a drag operation rather than a click.  If anyone finds a solution to this please post a comment.

6 comments:

  1. I've got the same problem as expressed in the note. It's especially annoying in xournal. :-(

    ReplyDelete
  2. I know why what you describe in the note happens.
    The touch screen driver sometimes just reports the click in the wrong location. See https://bugs.launchpad.net/ubuntu/+bug/573006

    Please confirm this bug and add your hardware details.

    I might be able to fix that behaviour, but unfortunately I cannot find out _which_ driver is actually used for this touch screen ...

    ReplyDelete
  3. Hi, I've contacted you on twitter. This is my problem:

    http://ubuntuforums.org/showthread.php?p=10399270

    Do you have any ideas?

    THANKS.

    ReplyDelete
  4. Great thoughts you got there, believe I may possibly try just some of it throughout my daily life.

    ReplyDelete
  5. I will consider the social, economic and political factors of touch screen. Underestimate touch screen at your peril. While it has been acknowledged that it has an important part to play in the development of man, several of today’s most brilliant minds seem incapable of recognizing its increasing relevance to understanding future generations. It is an unfortunate consequence of our civilizations history that touch screen is rarely given rational consideration by the upper echelons of progressive service sector organizations, obviously. Complex though it is I shall now attempt to provide an exhaustive report on touch screen and its numerous 'industries'.

    ReplyDelete