[[!img screenshot_v050b.png]

xinput calibrator

A generic touchscreen calibration program for X.Org

Architecture

The calibrator consists of 2 possible frontend GUIs and currently has backends for the recommended evdev touchscreen driver, the (older) usbtouchscreen driver and for standard X.Org touchscreen drivers (like evtouch, mutouch, elographics, ...)

    *---------*     *-----------*
    | GUI_X11 |     | GUI_gtkmm |
    *---------*     *-----------*
          |        /
    *-----------------*
    |                 |       *-------------------------------*
    |    CALIBRATOR   |       | Evdev: dynamic recalibration  |
    |                 |   /   *-------------------------------*
    | (coordinates    |       *-----------------------------------------------------------*
    |  from Xinput)   |   -   | XorgPrint: prints xorg.conf and FDI policy file on stdout |
    |                 |       *-----------------------------------------------------------*
    *-----------------*   \   *-------------------------------------------------------------*
                              | Usbtouchscreen: dynamic recalibration (superseded by evdev) |
                              *-------------------------------------------------------------*

There is room for more frontends and backends... Feature requests are managed in the issue tracker

History

Before this application was created, the author spent quite some time trying to find a generic touchscreen calibration program. An overview of the calibration programs found is available at http://tias.ulyssis.org/calibration/. An overview of how touchscreens are handled in linux nowadays is also available: http://tias.ulyssis.org/calibration/device_support.html

Because all existing calibrators were driver dependent and hard to use, xinput_calibrator was created.

Xinput_calibrator is based on a simple calibrator that was proposed on the Xorg mailinglist. The first release(v0.2.0) improved upon it by reading axis valuators from Xinput, hence making it generic for all touchscreen drivers. The announcement was done on the Xorg mailinglist, and the code is on Tias' webpage.

The new version (v0.4.0) writes Xorg.conf and (HAL) FDI policy file values, and contains a wrapper script to get axis valuator information for the evtouch driver (evtouch does not export the current calibration through its axis valuators). It is also the first program to support dynamic evdev calibration, by using its advanced Xinput functionality.

The v0.5.0 version is written entirely in the X window system, needing no external dependencies. Because of its modular structure, other frontends can be easily created too.

v0.6.0 contains many improvements suggested by different users, especially from the OE community. The most important changes are an autotools build system, debugging option, specific device selection, a manpage and much more (see Changelog).

Version 0.7.0 has mis-click detection and proper packaging support: proper make dist, one binary, has manpage, menu entry and icon. DEB and RPM package meta-data in their respective VCS branches.