Monitor Sentuh Raspberry Pi 4 Putar

Baru-baru ini saya harus mengembangkan aplikasi (sistem kios) untuk/pada Raspberry Pi 4. Hal khusus tentang itu adalah bahwa 2 monitor sentuh harus dihubungkan melalui HDMI, yang harus diputar 90 derajat ke kanan. Jadi format potret, 2 monitor di atas satu sama lain.
Memutar layar dan mengaturnya di atas satu sama lain tidak menimbulkan masalah, karena ini mudah dimungkinkan melalui antarmuka pengguna - "Raspbian Buster dengan desktop dan perangkat lunak yang direkomendasikan" diinstal.
Untuk melakukan ini, di menu "Raspberry -> Preferences -> Screen Configuration", putar dua monitor HDMI ke kanan, atur di atas satu sama lain dan kemudian simpan pengaturan.
Masalah dengan ini adalah bahwa konfigurasi sentuh tidak diputar secara otomatis, diatur di atas satu sama lain dan menghasilkan area sentuh yang besar di atas 2 monitor.
Agar perilaku sentuh berfungsi dengan baik, 2 file konfigurasi - /usr/share/X11/xorg.conf.d/40-libinput.conf dan /home/pi/.profile - perlu disesuaikan.

Pertama, Anda harus membaca ID monitor yang terhubung. Untuk melakukan ini, buka terminal dan gunakan perintah

xinput list

masukan. Hasilnya, Anda mendapatkan monitor yang terhubung terdaftar dengan ID yang sesuai. Dalam kasus saya, monitor memiliki ID 6 dan 7.

Kemudian pada file /usr/share/X11/xorg.conf.d/40-libinput.conf sesuaikan bagian "Section InputClass" dengan "Identifier libinput touchpad catchall" sebagai berikut:

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

Hal ini menyebabkan permukaan sentuh berputar.

Terakhir, masukkan subdivisi antarmuka sentuh menjadi 2 bagian yang sama di akhir file /home/pi/.profile, sehingga dimuat setiap kali sistem dimulai.

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