xinput_calibrator
xinput_calibrator copied to clipboard
Add support for libinput
libinput is replacing the old evdev interface in Xorg. Unfortunately this is not handled very wheel by xinput_calibrator. This pull request, adds support for libinput. So xinput_calibrator is able to calibrate even when libinput replace evdev.
Moreover a tool called uinput-touch-simulation.c is added to simulate a touch screen using the uinput interface.
This is exactly what I was looking for out of xinput_calibrator
! :heart:
I tested this out to see if it would work with a Dell Laptop touchscreen (shows up as ELAN Touchscreen
in xinput), and got the following error when trying to run it:
$ xinput_calibrator -v
DEBUG: XInputExtension version is 2.3
DEBUG: Skipping virtual master devices and devices without axis valuators.
DEBUG: Skipping device 'Virtual core XTEST pointer' id=4, does not report Absolute events.
DEBUG: Skipping device 'SynPS/2 Synaptics TouchPad' id=16, does not report Absolute events.
DEBUG: Skipping device 'DLL07BF:01 06CB:7A13 Touchpad' id=13, does not report Absolute events.
DEBUG: Selected device: ELAN Touchscreen
DEBUG: Not usbtouchscreen calibrator: Not a usbtouchscreen device
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 131 (XInputExtension)
Minor opcode of failed request: 37 (X_ChangeDeviceProperty)
Serial number of failed request: 17
Current serial number in output stream: 18
This was on a pretty stock Debian Stretch system, with no extra ./configure
arguments. Happy to provide more details if it'd be helpful! Thanks for working on this. :+1:
Hi, could you be try https://github.com/kreijack/xinput_calibrator.git the 'devel' branch (commit b82b479 ) ? I am not sure if this will solve; however this is my latest update. If this will not solve, I will add some debug code to sorter out the issue. Please let me know if this will help you.
BR G.Baroncelli
That works, and outputs an appropriate transformation matrix! :smile:
(Still get multi-monitor issues as described in #61, but that's expected with the rest of xinput_calibrator
's code. :heart:)
This worked to fix #68 for me! Thank you @kreijack
This patch made xinput_calibrator actually work at all on Ubuntu 18.04. The generated xorg.d section works too. Thanks 👍
is there any way for me to get a version of the binary with this pull request merged? I do not have a unix build env set up and want to avoid having to re-implement this in python to include on a prototype of a kiosk. Thank you all.