우분투 16.04에서는 타자 치는 중에 터치패드가 튀어서 터치되는 증상이 없었던 것으로 기억합니다. 마우스&터치패드 관련 설정에서 "Disable while typeng" 체크 박스를 켜놓고 사용했었거든요.


▲ 우분투 16.04 데스크톱의 Mouse&Touchpad 설정 창.


그런데 우분투 18.04 데스크톱에서는 이 옵션이 안 보이더군요(Gnome3 인터페이스가 치밀하지 못하네요. Gnome3 환경으로 바뀌면서 손볼 곳이 늘었습니다.). 그리고 터치패드가 아주 민감하게 설정되어 있어서 타이핑할 때 (터치패드에 손이 닿지 않았음에도) 반응하여 마우스 포인터가 있는 곳에서 자꾸 클릭이 됩니다. 우분투 사용 빈도가 늘수록 자꾸 신경이 쓰여서 해결 방법들을 찾아봤습니다.


우분투 터치패드 설정 관련.txt

▲ 고민의 흔적. 보실 필요 없습니다. 제가 나중에라도 참고할 데가 있을까 해서 첨부하는 거예요.


일정 넓이 이상의 터치를 손바닥으로 간주하게끔 처리하는 방법은 터치패드 하드웨어/드라이버마다 설정값이 달라질 확률이 높기 때문에 범용성이 떨어진다고 판단해서 제외.


▲ org.gnome.desktop.peripherals.touchpad 에 disable-while-typing 항목이 분명히 있는데 우분투 18.04에서는 왜 작동하지 않는 것인지...


최종적으로 적용하기로 결정한 방법은... syndaemon 명령어를 이용해서 타이핑하는동안 터치패드 클릭을 무력화하는 것입니다. 손터치만 무력화되고, 물리버튼 클릭은 그대로 작동합니다. 그래서 마우스에는 영향이 없을 겁니다.


※ 참고한 글들

http://kwonnam.pe.kr/wiki/linux/ubuntu/touchpad

https://wiki.archlinux.org/index.php/Touchpad_Synaptics#Disable_touchpad_while_typing

https://askubuntu.com/questions/192566/how-do-i-verify-that-syndaemon-is-disabling-the-touchpad-while-i-type/439082#439082


▲ 에디터로 원하는 경로에 원하는 이름의 sh 파일을 만듭니다. 저는 사용자 홈 디렉토리에 solve-touch.sh 파일을 만들었습니다.


▲ 위 스크린 샷처럼 입력하고 저장+빠져나옵니다. 핵심은 syndaemon -t -i 0.8 -R -d 입니다.

solve-touch.sh

(파일로 첨부합니다.)


터미널 창에서 syndaemon -? 라고 쳐보면 설명이 자세하게 나오는데, 적용한 옵션을 순서대로 설명하면... 탭과 스크롤만 금지하고 마우스 움직임은 지속(-t) | 키보드 입력이 끝난 뒤 터치패드 클릭 되돌릴 때까지의 시간 0.8 초.(-i 0.8) | XRecord extension을 사용(-R) | 대몬으로 작동시킴(-d). 이렇습니다.


▲ chmod u+x solve-touch.sh 처럼 입력해서 파일에 실행 권한을 줍니다.

ll solve-touch.sh 라고 쳐보면 사용자에게 실행(x) 권한이 추가된 것을 확인할 수 있습니다.


▲ 작동 테스트를 해봅니다.

터미널 창에서 ./solve-touch.sh 라고 입력합니다.

ps -xf | grep syndaemon 이라고 쳐봤더니 3914번 PID로 데몬(프로세스)가 실행되고 있습니다.

"시스템 정보" 에서 프로세스 탭을 확인해봐도 3914번 PID와 syndaemon 이름이 보입니다.


▲ 제대로 작동하고 있는지는 타이핑하면서 터치패드 포인터를 이리저리 옮기면서 탭 해봐도 되고, 터미널 창에서 while true; do synclient|grep TouchpadOff; sleep 0.5; done 이라고 입력해봐도 됩니다. 키 입력이 안되면 0을/키 입력이 되면 0 이외의 값이 출력될 겁니다. 테스트 중단은 Ctrl+C.


▲ syndaemon 데몬을 끌 때는 "시스템 정보" 에서 "프로세스 끝내기" 버튼을 이용하는 것을 추천합니다. 터미널 창에서 killall -q syndaemon 이라고 쳐도 되는데, 키 입력 도중에 명령어가 들어가면 터치가 안 되게끔 고정되더군요. 이 상황은 로그아웃/재부팅 해야만 해결됐습니다.


이제 solve-touch.sh 파일을 부팅될 때 실행되도록 조치합니다.


▲ "프로그램 표시" 버튼을 클릭한 다음(단축키 : Win키) "시작 프로그램(Startup Applications)"을 클릭합니다.


▲ "추가" 버튼을 누르고, "명령" 항목에 /bin/sh /경로/파일명.sh 형식으로 입력합니다.

추가를 마쳤으면 창을 닫고 PC를 재부팅해 봅니다.


▲ "시스템 정보"의 "프로세스" 탭을 보면 syndaemon이 돌아가고 있을 겁니다.


성공!


▲ /home/계정명/.config/autostart/ 디렉토리를 보면 desktop 확장자로 바로가기가 등록되어 있을 겁니다. 파일 내용은 위 스샷과 같습니다. 그러니까 /home/계정명/.config/autostart/ 디렉토리에 등록하면 부팅할 때 실행되는 거였네요.


설정 값이 마음에 안 들면 조금씩 바꿔보시고, 좋은 설정값 찾아내셨다면 공유해주세요. 본문에 반영하겠습니다.

반응형