리눅스를 데스크탑으로 사용하다보면 윈도우즈와 다르게 마우스의 버튼들이 동작하지 않는 경우가 있다.
특히 스크롤, 틸트, 앞으로, 뒤로 등의 버튼이 기본적으로 동작하지 않는다.
xbindkeys와 xvkbd 패키지를 통해 해당 버튼들이 동작되게 하는 방법에 대해 기술한다.
참고로 Fedora 29 환경에서 Microsoft sculpt comfort desktop 마우스로 테스트 함.
1. xbindkeys와 xvkbd 패키지 설치
# yum install -y xbindkeys xvkbd
2. default rc 파일 생성 (홈디렉토리에)
# /usr/bin/xbindkeys -f ~/.xbindkeysrc
3. 환경 파일 수정
좌우측 틸트 버튼을 눌렀을 때 xvkbd 를 통해 Alt - Left 또는 Right가 눌릴 수 있도록 한다.
# vim ~/.xbindkeysrc 아래 라인들 주석처리 # set directly keycode (here control + f with my keyboard) #"xterm" # c:41 + m:0x4 # specify a mouse button #"xterm" # control + b:2 아래 라인들 추가 # Button 6 to Back "xvkbd -text '\A\[Left]`'" # Sends Alt-LeftArrow b:6 # Button 7 to forward "xvkbd -text '\A\[Right]'" # Sends Alt-RightArrow b:7
b:6 - 좌측 틸트버튼
b:7 - 우측 틸트버튼
키맵핑 테이블은 아래 사이트 참조
http://xahlee.info/linux/linux_xvkbd_tutorial.html
마우스 매핑 값은 아래 그림 참조.
별도의 뒤로, 앞으로 버튼이 있다면, 앞 - b:8, 뒤 b:9 임.
4. 구동 및 확인
구동 # /usr/bin/xbindkeys 프로세스 확인 # ps aux | grep xbindkey xxxx 16624 0.0 0.0 72660 6624 ? S 13:44 0:00 /usr/bin/xbindkeys
브라우저를 열고 특정 페이지를 클릭한뒤 뒤로가기 왼쪽 틸트 버튼을 눌러보자. 뒤로가기 동작이 확인될 것이다.
만약 설정한 키가 아닌 다른 키로 동작이 된다면 프로세스가 2개 이상 떠 있는지 확인해 보자.
# ps aux | grep xbin makim 16624 0.0 0.0 72660 6624 ? S 13:44 0:00 /usr/bin/xbindkeys makim 17166 0.0 0.0 72660 6260 ? S 14:18 0:00 /usr/bin/xbindkeys
기존 프로세스를 kill 시키거나 모든 프로세스를 kill 후 다시 xbindkeys를 실행하면 마지막에 적용한 키가 제대로 동작 될 것이다.
5. 부팅 후 적용
rc.local 또는 해당 유저 홈디렉토리의 .bashrc 파일에 추가를 해 준다.
# vim ~/.bashrc /usr/bin/xbindkeys