Malina Pi 4 Touch Monitor Zasukajte

Pred kratkim sem moral razviti aplikacijo (kiosk sistem) za/na Raspberry Pi 4. Posebna stvar pri tem je bila, da naj bi se preko HDMI priključila 2 monitorja na dotik, ki sta morala biti zasukana za 90 stopinj v desno. Torej portretni formati, 2 monitorja drug na drugem.
Vrtenje zaslona in razporeditev na vrhu drug drugega ni povzročil nobenih težav, saj je to enostavno mogoče prek uporabniškega vmesnika - "Raspbian Buster z namizno in priporočeno programsko opremo" je bil nameščen.
Če želite to storiti, v meniju »Malina -> Preferences -> Screen Configuration« obrnite dva HDMI monitorja na desno, jih razporedite drug na drugega in nato shranite nastavitve.
Težava je v tem, da konfiguracija na dotik ni samodejno zavrtena, razporejena drug na drugega in ima za rezultat velik prostor na dotik več kot 2 monitorja.
Da bi vedenje na dotik delovalo pravilno, je treba prilagoditi 2 konfiguracijski datoteki - /usr/share/X11/xorg.conf.d/40-libinput.conf in /home/pi/.profile.

Najprej morate prebrati ID-je povezanih monitorjev. Če želite to narediti, odprite terminal in uporabite ukaz

xinput list

Vhodni. Zato so povezani monitorji navedeni z ustreznimi ID-ji. V mojem primeru so imeli monitorji osebne 6 in 7.

Nato v datoteki /usr/share/X11/xorg.conf.d/40-libinput.conf prilagodite razdelek "Section InputClass" z "Identifikator libinput touchpad catchall" na naslednji način:

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 povzroči vrtenje površine na dotik.

Na koncu vstavite pododdelek vmesnika na dotik v 2 enaka dela na koncu datoteke /home/pi/.profile, tako da se naloži vsakič, ko se sistem zagna.

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