This is an alternative to _xinputcalibrator (as seen on github, FreeDesktop, Ubuntu, etc.).
Similarities:
Differences:
Thing | xinput_calibrator | xcalibrate |
---|---|---|
Language | C++ | Python3 |
LOC | 2,289 | 284 |
Interface | Command-line args with some GUI | Walkthrough-based with some GUI |
GUI toolkit | X | tk |
Cal points | 4 | Selectable |
Math | Manual | Numpy least-squares |
Outputs | Xorg.conf, hal, xinput | xinput |
Popularity | High | Zero so far |
Tested | Pretty well | Not very well |
OS distribution | Available in most major repos | Zero so far |
Dependencies | libstdc++, libx11, libxi | python3, tkinter, numpy |
_xinputcalibrator features precalibration, timeouts, misclick detection, fake driver testing, and a resizable window. xcalibrate features none of those things, but offers some other features not present in _xinputcalibrator, including pre-save cal test, cal quality indicator, arbitrary cal point count, and a slightly more informative GUI. Also, the source is quite simpler.
After I couldn't figure out why _xinputcalibrator wasn't doing anything on my system (an old CF-29), I read and followed this excellent walkthrough on the Arch wiki. It was too hacky for my comfort, so I wrote this tool inspired by Zootboy's procedure but with some key differences - this is a stand-alone tool that does not require running _xinputcalibrator; and it uses Numpy to do some real matrix math instead of hacking around with element-by-element calculations and a fixed calibration dataset size.
./xcalibrate
Check out the Discussions page. Github Discussions has superceded the Gitter instance.