Dork's port

Raspberry Pi 화면 회전 및 터치 스크린 보정하기. 본문

Raspberry Pi

Raspberry Pi 화면 회전 및 터치 스크린 보정하기.

Dork94 2017. 10. 18. 17:22

며칠 전, 호기심에 라즈베리파이 터치 스크린 7인치 및 케이스를 주문하여 사용하고 있는데, 충전 단자가 있는 위치가 너무 불편하였다.

 

 

 

 

 

 

 

 


 

그래서 "왜 이렇게 케이스를 설계했을까?" 라는 의문이 들때 즈음 인터넷에서 다른 구동화면을 찾아보니 내 라즈베리 파이의 모니터 출력이 180도 회전되어서 나타나고 있었다.


아직도 왜 그런지는 의문이다.


차이점이 있다면 해당 동영상의 OS는 raspbian이고 나의 운영체제는 ubuntu mate라는 차이점 정도..?


그래서 운영체제를 밀고 바꿀 순 없으니(번거로우니) 화면 회전을 하는 방법을 찾아 보았다.


우선, 화면 회전은 아주 간단하다.


# vi /boot/config.txt

명령어로 시작시에 읽어 들이는 설정 파일을 읽어준다.


그리고 vi에서 Ex모드(명령모드에서 :을 누르면 Ex모드로 전환 됨)에서 아래와 같이 입력 하면 해당 문자열을 찾아준다.


:/display_rotate


그리고 "#display_rotate=0"과 같이 설정 된 행을 볼 수 있는데, 해당 주석(#)을 지우고 0이 적힌 부분에 회전 각도의 숫자를 적어 준다.



0: 0도, 1:90도, 2:180도, 3: 270 



설정을 모두 완료 하고 Ex모드에서 wq!명령으로 강제 저장 후 나가기를 해주면 설정이 완료된다. 그 후, 재부팅을 통해 화면 회전이 정상적으로 되는 것을 확인한다.


:wq!

# reboot


그러나, 터치스크린을 사용하는 유저라면 여기서 문제가 발생한다.

터치스크린이 정상적으로 작동하지 않는다.(터치 스크린의 좌표가 화면 회전 전의 좌표로 저장되어 있어 터치한 곳과 마우스 포인터가 가르키는 곳이 다르다)

따라서, 터치스크린의 좌표를 재 설정 해 주어야 한다.


터치스크린 재 보정을 위해 xinput_calibrator를 사용한다.


우선 설치 과정은 아래와 같다.


# apt-get install libx11-dev libxext-dev lib-dev x11proto-input-dev

# wget http://github.com/downloads/tias/xinput_calibrator/xinput_calibrator-0.7.5.tar.gz

# tar -zxvf xinput_calibrator-0.7.5.tar.gz

# cd xinput_calibrator-0.7.5

# ./configure

# make

# make install

# xinput_calibrator


위의 명령어가 정상적으로 모두 완료 되었으면 터치 스크린을 보정하는 화면이 나타나며, 터치를 통해 해당 표시(+)를 터치해주게 되면 터치 스크린의 재 보정이 완료된다.


그러나, 이때 재부팅을 해 보면 다시 이전의 설정으로 돌아가는 것을 볼 수 있는데, 아래의 과정을 통해 부팅시에도 해당 좌표가 저장 되도록 설정 가능하다.

우선, 터치 좌표의 설정이 끝났다면, 해당 터미널에서 아래와 같은 출력 방식을 볼 수 있다.


Section "InputClass"

Identfier "calibration"

MatchProduct "FT5406 memory based driver"   

Option "Calibration: "792 3 470 3

EndSection



위의 값은 본인이 설정한 터치 디스플레이 제품 이름 및 좌표 값으로 나오므로, 위의 출력 값과 일치하지 않을 수 있다.


해당 출력값을 복사(터미널 창에서 드래그 한 후 ctrl + shfit + c 로 복사 가능)하여  /etc/X11/xorg.conf.d/99-calibration.conf 에 저장하면 부팅시에도 터치스크린 좌표 값이 저장되어 적용된다.


# mkdir /etc/X11/xorg.conf.d

# vi /etc/X11/xorg.conf.d/99-calibration.conf


위의 명령어를 통해 xorg.conf.d폴더를 생성한 후 vi 편집기로 해당 설정파일을 만들어 줄 것이다. 위의 명령어까지 정상적으로 동작이 되었다면 현재 vi편집기의 명령모드로 터미널이 동작중일텐데, 이때 i를 입력하여 편집모드로 동작시킨 후, 위의 출력 결과를 입력하거나 붙여넣기 (ctrl + shift + v)를 한다.


그 후 명령모드(esc)에서 저장 한 후 재부팅을 하면 터치 스크린이 정상적으로 동작하는 것을 볼 수 있다.


:wq! 

# reboot


질문은 댓글로 받도록 하겠습니다.




Comments