[[!img screenshot_v050b.png]
xinput calibrator
A generic touchscreen calibration program for X.Org
- Latest version: 0.7.5 (see README)
- Source and bugtracker: http://github.com/tias/xinput_calibrator
Packages: Tarball, Debian Testing (mentors), Ubuntu 10.04 (ppa), Fedora 13, Arch linux, OE recipe xinput_calibrator is created to fill the gap of touchscreen calibration software, featuring:
works for any standard Xorg touchscreen driver (uses XInput protocol)
- mis-click detection (prevents bogus calibration)
- dynamically recalibrates the evdev driver
- outputs the calibration as xorg.conf.d snippet or HAL policy file
- and more For some background information on Xorg's touchscreen handling, see this short article. The application is stable and with packaging support. Any help getting it in distributions is greatly appreciated, you can contact me at tias@ulyssis.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.