I want the same mouse movement to produce the same pointer movement relative to cm/inches on the monitor, after changing the monitor resolution. I'm using X11 and have mouse acceleration enabled.
After reducing my monitor resolution by a factor of 2 (from 2160p to 1080p) I moved my mouse and my pointer moved more than I expected. It appeared to move the same amount as before relative to virtual pixels (now twice as big) but I want it to move the same amount relative to physical cm/inches.
Because I reduced my monitor resolution by a factor of 2, I changed the Coordinate Transformation Matrix using xinput by a factor of 2 also:
⎡ 1 0 0 ⎤ ⎡ 0.5 0 0 ⎤
from ⎜ 0 1 0 ⎥ to ⎜ 0 0.5 0 ⎥
⎣ 0 0 1 ⎦ ⎣ 0 0 1 ⎦
xinput --set-prop [device name] 'Coordinate Transformation Matrix' 0.5 0 0 0 0.5 0 0 0 1
After doing that, the mouse movement felt similar to what I expected but still not the same. I might be wrong as I couldn't confirm this (I've failed to set up a virtual mouse and test this). The problem is that the acceleration could be calculated before the Coordinate Transformation Matrix is applied, thus producing different results at different resolutions.
Am I wrong and changing the Coordinate Transformation Matrix (like I already did) solved my problem? If not, what do I do to solve it?