I am struggling to understand what is going on with my (knock-off) Waveshare 3.5" TFT calibration.
For my application, I need to have the display and the touch screen rotated 180 degrees. Flipping the display is no problem. However, getting the touchscreen calibrated correctly has been a challenge.
I started by modifying /usr/share/X11/xorg.conf.d/99-calibration.conf, which contains:
Section "InputClass" Identifier "calibration" MatchProduct "ADS7846 Touchscreen" Option "Calibration" "300 3932 3801 294" Option "SwapAxes" "1" Option "EmulateThirdButton" "1" Option "EmulateThirdButtonTimeout" "1000" Option "EmulateThirdButtonMoveThreshold" "300" EndSection
But no matter how I changed the Calibration and SwapAxes options, I couldn't get the touch screen to change it's orientation at all.
Finally, after poring over the install script for the Waveshare TFT (which is really ugly stuff btw), I noticed it reordered the scripts in the xorg.conf.d folder, specifically by moving "10-evdev.conf" to "45-evdev.conf" (after "40-libinput.conf"). Making this change did indeed let the calibration options take effect.
I had previously done something similar, and when I applied the latest Raspbian update, the update was not very happy with the reordered scripts.
My questions are: 1. Why is it bad to move 10-evdev to 45-evdev, 2. It looks like 10-evdev and 40-libinput are both trying to grab the same device; which wins?, 3. What is it I am doing anyway and why why the Raspbian update so unhappy when I do it, and 4. Is there a better way to address this problem.
Thanks in advance.