Forum: Mikrocontroller und Digitale Elektronik Problem mit USB-Touchscreen am Raspi


von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

Ich verwende von JoyIT einen 10.1-Touchscreen im Metallgehäuse mit 
HDMI-Anschluss am Raspberry 3 unter Raspian Stretch, aktuelle Version.

Die Achsen X und Y sind vertauscht! Also ich bewegen den Finger 
horizontal und der Mauspfeil bewegt sich vertikal und umgekehrt. So 
unbekannt scheint das Problem nicht zu sein, denn das Web ist voll 
davon, leider finde ich keine Lösung, die bei mir funktioniert.

Die Installation des Treibers und des Kalibrierungstools aus der 
Anleitung des Herstellers verlief fehlerfrei, ich kann das Tool auch 
starten und die Kalibrierungsdaten durch Tippen auf die vier roten 
Marker erhalten.

Leider zeigt der Eintrag der dabei erzeugten Daten in die Datei 
99-calibration.conf bzw. 40-libinput.conf keinerlei Wirkung. Folgende 
Pfade und Dateien habe ich ausprobiert:

/usr/share/X11/xorg.conf.d/99-callibration.conf
/etc/X11/xorg.conf.d/99-callibration.conf
/usr/share/X11/xorg.conf.d/40-libinput.conf
/etc/X11/xorg.conf.d/40-libinput.conf

sowohl mit als auch ohne dem zus. Eintrag:

Option "TransformationMatrix" "0 1 0 -1 0 1 0 0 1"

Ich wiederhole: Nicht nur nicht die erwartete Wirkung bleibt aus, 
sondern es gibt keinerlei Wirkung. Erbitte dringend Hinweise, Danke!

von DPA (Gast)


Lesenswert?

Man müsste es vermutlich noch in die richtige Section packen, usw. Das 
wäre aber bestenfalls ein Workarround, alle anderen Sachen, wie z.B. die 
Linux Console, bekämen immer noch die falschen Daten, nur bei 
graphischen X11 Sachen hilft es.

Welcher Kernel hast du? Ich bekam das Problem mal, als ich von Linux 
Kernel 4.9 auf 4.19 gewechselt bin. Es gibt kein allgemeines Interface, 
um es überall umzustellen, ich musste damals meinen Kernel Patchen.

Das Modul dafür kann man mit dmesg und lsmod versuchen herauszufinden.

Wenn du glück hast, definiert das Modul einen Parameter dafür. Falls es 
das usbtouchscreen Modul verwendet, sollte usbtouchscreen.swap_xy=1 
gehen, getestet hab ich das aber noch nie:
https://elixir.bootlin.com/linux/v4.19.7/source/drivers/input/touchscreen/usbtouchscreen.c#L61

Falls das Touchscreen per Device Tree eingestellt ist, kann man noch 
versuchen ob der Treiber dafür den touchscreen-swapped-x-y Parameter 
unterstützt:
https://elixir.bootlin.com/linux/v4.19.7/source/Documentation/devicetree/bindings/input/touchscreen/touchscreen.txt

Wie genau das geht, weiss ich nicht, vielleicht mit 
"dtparam=touchscreen-swapped-x-y=on" in der config.txt? Vielleicht 
versteht jemand anderes das zeug ja:
https://www.raspberrypi.org/documentation/configuration/device-tree.md

von DPA (Gast)


Lesenswert?

Edit: Vergessen zu schreiben, das usbtouchscreen.swap_xy=1 gehört in die 
kernel command line (in /boot/cmdline.txt hinzufügen)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.