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.
However...
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.