Raspberry Pi 4 dotykový monitor otočiť

Nedávno som musel vyvinúť aplikáciu (kioskový systém) pre / na Raspberry Pi 4. Zvláštnosťou bolo, že 2 dotykové monitory mali byť pripojené cez HDMI, ktoré museli byť otočené o 90 stupňov doprava. Takže formáty na výšku, 2 monitory na sebe.
Otáčanie obrazovky a jej usporiadanie na seba nespôsobilo žiadne problémy, pretože je to ľahko možné prostredníctvom používateľského rozhrania - bol nainštalovaný "Raspbian Buster s pracovnou plochou a odporúčaným softvérom".
Ak to chcete urobiť, v ponuke "Raspberry -> Preferences -> Screen Configuration" otočte dva monitory HDMI doprava, usporiadajte ich nad seba a potom uložte nastavenia.
Problém je v tom, že dotyková konfigurácia sa automaticky neotáča, nie je usporiadaná na seba a výsledkom je veľká dotyková plocha na 2 monitoroch.
Aby dotykové správanie fungovalo správne, je potrebné upraviť 2 konfiguračné súbory - /usr/share/X11/xorg.conf.d/40-libinput.conf a /home/pi/.profile.

Najprv musíte prečítať ID pripojených monitorov. Ak to chcete urobiť, otvorte terminál a použite príkaz

xinput list

vstup. V dôsledku toho získate pripojené monitory uvedené s príslušnými ID. V mojom prípade mali monitory ID 6 a 7.

Potom v súbore /usr/share/X11/xorg.conf.d/40-libinput.conf upravte sekciu "Section InputClass" pomocou "Identifier libinput touchpad catchall" nasledovne:

Section "InputClass" 
        Identifier "libinput touchpad catchall" 
        MatchIsTouchscreen "on" 
        Option "CalibrationMatrix" "0 1 0 -1 0 1 0 0 1" 
        MatchDevicePath "/dev/input/event*" 
        Driver "libinput" 
EndSection

To spôsobí otáčanie dotykového povrchu.

Nakoniec vložte rozdelenie dotykového rozhrania na 2 rovnaké časti na konci súboru /home/pi/.profile, aby sa načítal pri každom spustení systému.

xinput set-prop "6" --type=float "Coordinate Transformation Matrix" 1 0 0 0 0.5 0 0 0 1
xinput set-prop "7" --type=float "Coordinate Transformation Matrix" 1 0 0 0 0.5 0.5 0 0 1