I'm using Plasma 6 (KDE) on Linux (arch) in a Ghia OnlyDue 2 in 1 laptop/tablet. It uses a silead touch screen (identified as MSSL1680). I've added the driver in /lib/firmware/silead and when I load it using modprobe silead, the touchscreen is detected as rotated 90 degrees counter-clockwise i.e. if I drag my finger horizontally, the cursor moves vertically and if I drag my finger vertically, the cursor moves horizontally. This means that the touchscreen is in portrait mode while the screen is in landscape mode.
Any recomendations to invert the vertical axis in the touchscreen?
I added a udev-rules file with the following contents
DRIVERS=="silead_ts" ENV{LIBINPUT_CALIBRATION_MATRIX}="1 0 0 0 1 0"
And after reloading the module and reloading the rules via udevadm control --reload-rules, the touch remains in its original position (rotated 90 degrees counter-clockwise). After modifying the udev rules file and using this configuration
DRIVERS=="silead_ts" ENV{LIBINPUT_CALIBRATION_MATRIX}="0 1 0 1 0 0"
The touchscreen is now in landscape mode (correct rotation) but "scaled" down.
Finally, after modyfing again the file and using this configuration:
DRIVERS=="silead_ts" ENV{LIBINPUT_CALIBRATION_MATRIX}="0 2.15 0 3.2 0 0"
The touch is the right size... but the vertical axis is inverted i.e. dragging my finger left and right works well but up and down are inverted. I've tried negating the 3.2 and the 2.15 and also using different configuratios with no success.