라즈베리 파이 4 터치 모니터 회전

최근에 저는 Raspberry Pi 4 용 응용 프로그램 (키오스크 시스템)을 개발해야했습니다. 특별한 점은 2개의 터치 모니터가 HDMI를 통해 연결되어야 한다는 것인데, HDMI는 오른쪽으로 90도 회전해야 했습니다. 따라서 세로 형식, 2개의 모니터가 서로 겹쳐져 있습니다.
화면을 회전하고 서로 겹쳐서 배열하는 것은 사용자 인터페이스를 통해 쉽게 가능하기 때문에 문제가 발생하지 않았습니다 - "데스크탑 및 권장 소프트웨어가있는 Raspbian Buster"가 설치되었습니다.
이렇게하려면 "Raspberry -> Preferences -> Screen Configuration"메뉴에서 두 개의 HDMI 모니터를 오른쪽으로 돌리고 서로 겹쳐서 정렬 한 다음 설정을 저장하십시오.
이 문제는 터치 구성이 자동으로 회전하지 않고 서로 겹쳐서 배열되어 2대의 모니터에 걸쳐 넓은 터치 영역이 생성된다는 것입니다.
터치 동작이 제대로 작동하려면 2개의 구성 파일(/usr/share/X11/xorg.conf.d/40-libinput.conf 및 /home/pi/.profile)을 조정해야 합니다.

먼저 연결된 모니터의 ID를 읽어야 합니다. 이렇게하려면 터미널을 열고 다음 명령을 사용하십시오.

xinput list

입력. 결과적으로 연결된 모니터가 해당 ID와 함께 나열됩니다. 제 경우에는 모니터의 ID가 6과 7이었습니다.

그런 다음 /usr/share/X11/xorg.conf.d/40-libinput.conf 파일에서 다음과 같이 "Identifier libinput touchpad catchall"로 "Section InputClass" 섹션을 조정하십시오.

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

이렇게 하면 터치 표면이 회전합니다.

마지막으로, 터치 인터페이스의 세분화를 /home/pi/.profile 파일의 끝에 2개의 동일한 부분으로 삽입하여 시스템이 시작될 때마다 로드되도록 합니다.

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