우분투에 켄싱턴 슬림블레이드를 물려 사용중인데 공식적인 리눅스용 유틸을 제공하지 않아 마우스 버튼을 리맵할 수 없어 그냥 사용 중이었다.


고민 끝에 방법이 없는지 찾아 보니 버튼을 xinput 명령어로 재설정하여 사용할 수 있었다.


아래 사이트를 참고하여 각 버튼의 ID를 참고한다.

http://wiki.mbirth.de/know-how/software/linux/remapping-mouse-buttons.html


아래 사이트를 참고하여 xinput 명령어를 사용하여 버튼에 대한 ID를 재설정한다.

http://askubuntu.com/questions/492744/how-do-i-automatically-remap-buttons-on-my-mouse-at-startup


나의 경우 켄싱턴 슬림블레이드의 4개의 버튼을 다음과 같이 설정하였다.

왼손으로 사용할 경우 왼쪽 클릭, 오른쪽 클릭의 위치를 바꿀 수도 있다.


상단 왼쪽 버튼: 앞으로

상단 오른쪽 버튼: 뒤로

하단 왼쪽 버튼: 왼쪽 클릭

하단 오른쪽 버튼: 오른쪽 클릭


아래 명령어로 입력 장치의 모델 명과 ID를 찾는다.

$ xinput list


그리고 다음 명령어로 장치의 ID로 장치에 대한 버튼 map을 알아본다. 아래 그림에서 보면 Kensington에 id=9로 되어 있는 것을 볼 수 있다.

$ xinput get-button-map 9

또는

$ xinput get-button-map "Kensington Kensington Slimblade Trackball"


버튼 map을 확인하였으면 다시 버튼에 대한 map을 설정한다.

$ xinput set-button-map 9 1 9  3 4 5 6 7 8 2 10 11 12

또는

$ xinput set-button-map "Kensington Kensington Slimblade Trackball" 1 9  3 4 5 6 7 8 2 10 11 12


트랙볼의 상단 버튼이 "앞으로", "뒤로" 로 설정이 되었다.

자주 사용하는 프로그램이 이클립스와 파이어폭스인데 "앞으로", "뒤로" 버튼을 사용할 수 있게 되니 프로그램의 사용도가 상당히 쾌적해지고 빠르게 접근 가능해졌다.





PC를 재부팅하면 다시 원래의 상태로 돌아오기 때문에 시작 시 xinput 명령어가 자동으로 실행이 되도록 로그인한 사용자의 홈 디렉터리의 ".xsessionrc" 파일에 다음과 같이 설정한다.

파일이 없다면 파일을 생성하고 아래의 내용을 추가해준다.


kensington_mouse_id=$(xinput | grep "Kensington Kensington Slimblade Trackball" | awk '{print substr($7,4,2)}')
xinput set-button-map $kensington_mouse_id 1 9 3 4 5 6 7 8 2 10 11 12


Posted by dcmru
,