I cannot successfully calibrate the geometry of my touchscreen, running Ubuntu 20.04 on a PixelBook. The touchscreen with stylus works OK (especially near the center of the screen) but gets progressively worse toward the display corners -- just how well-calibrated it is depends on my display resolution. It's bad enough that it's currently quite poorly-adapted for e.g. handwriting mark-up of documents (my main use case).
The result I get from xinput_calibrator
(after touching the four crosshairs with the stylus tip) is
Warning: multiple calibratable devices found, calibrating last one (WCOM50C1:00 2D1F:5143 Pen (0))
use --device to select another one.
Calibrating standard Xorg driver "WCOM50C1:00 2D1F:5143 Pen (0)"
current calibration values: min_x=0, max_x=16777215 and min_y=0, max_y=16777215
If these values are estimated wrong, either supply it manually with the --precalib option, or run the 'get_precalib.sh' script to automatically get it (through HAL).
--> Making the calibration permanent <--
copy the snippet below into '/etc/X11/xorg.conf.d/99-calibration.conf' (/usr/share/X11/xorg.conf.d/ in some distro's)
Section "InputClass"
Identifier "calibration"
MatchProduct "!!Name_Of_TouchScreen!!"
Option "MinX" "-10194"
Option "MaxX" "16778670"
Option "MinY" "530113"
Option "MaxY" "16310016"
Option "SwapXY" "0" # unless it was already set to 1
Option "InvertX" "0" # unless it was already set
Option "InvertY" "0" # unless it was already set
EndSection
Change '!!Name_Of_TouchScreen!!' to your device's name in the config above.
I put the suggested code snippet into the new (previously non-existent) file /usr/share/X11/xorg.conf.d/99-calibration.conf, using Wacom|WACOM|PTK-540WL|ISD-V4
for the device name (perhaps this should be something else?). Anyway, restarting left my touchscreen calibration just as poor as before.
The output ofxinput_calibrator --list
is
Device "WCOM50C1:00 2D1F:5143" id=9
Device "WCOM50C1:00 2D1F:5143 UNKNOWN" id=11
Device "WCOM50C1:00 2D1F:5143 Mouse" id=12
Device "WCOM50C1:00 2D1F:5143 Pen (0)" id=16
and for what it's worth, the output of xinput --list
is
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ WCOM50C1:00 2D1F:5143 id=9 [slave pointer (2)]
⎜ ↳ WCOM50C1:00 2D1F:5143 UNKNOWN id=11 [slave pointer (2)]
⎜ ↳ WCOM50C1:00 2D1F:5143 Mouse id=12 [slave pointer (2)]
⎜ ↳ ACPI0C50:00 18D1:5028 id=13 [slave pointer (2)]
⎜ ↳ WCOM50C1:00 2D1F:5143 Pen (0) id=16 [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)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ WebCamera: WebCamera id=8 [slave keyboard (3)]
↳ WCOM50C1:00 2D1F:5143 id=10 [slave keyboard (3)]
↳ Intel Virtual Button driver id=14 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=15 [slave keyboard (3)]
Any advice on how to get this touchscreen calibrated would be welcome. Many thanks!