본문으로 바로가기

M585 마우스 버튼 키 맵핑

category 운영체제/우분투 2019.02.02 14:31

마우스를 구입하거나 추천할 때 나는 무조건 로지텍 무선 마우스 제품을 추천한다.

다른 이유는 없다. 7년 넘게 사용하면서 잔고장 한번 없었고, 배터리 소비도 매우 낮고 무엇보다 내 손에 딱 맞는 그립감이 좋기 때문이다.

그리고 내가 로지텍 무선 마우스를 적극 추천하는 이유는 휠 좌우 버튼 때문이다. 휠 좌우 버튼으로 웹 브라우저의 "뒤로" / "앞으로" 단축키 기능이 매우 유용하기 때문이다. 이것에 적응하면 다른 마우스는 절대 못 쓰게 된다. 한번 느껴보시라... ㅎㅎ;


이번에 구입한 M585 제품은 기존 M325보다 마우스의 기능 키가 더 추가 되어 있었다. 그래서 M585의 휠 좌우 버튼이 웹 브라우저 "뒤로" / "앞으로" 단축키가 아닌 좌우 스크롤 키로 설정되어 있었다. "뒤로" / "앞으로" 단축키는 엄지 손가락 위치에 있는 버튼으로 설정되어 있는데, 이 위치도 나쁘지는 않지만 그동안 휠 좌우 버튼으로 사용하였고, 회사에서 사용하는 마우스도 M325 제품이기 때문에 동일한 단축키로 되어 있어야 마우스 사용에 정신 건강에 좋다.


윈도우나 맥을 사용한다면 로지텍에서 제공하는 Flow 프로그램으로 단축키를 변경할 수 있으나, 로지텍은 리눅스 버전의 Flow를 제공하지 않는다. 따라서 다른 방법으로 마우스 단축키를 변경해야 한다.


우선 웹 브라우저에서 "뒤로 가기" 단축키는 Alt_L + , "앞으로 가기" 단축키는 Alt_L + 으로 할당되어 있다. 즉, 간단하게 휠 좌 버튼은 "뒤로 가기"로 할당할 것이고 휠 우 버튼은 "앞으로 가기"로 설정하면 될 것이다.


우분투 18.04 버전에서 마우스 버튼에 대한 키맵핑을 하려면 다음과 같은 패키지를 설치해야 한다.

sudo apt install xbindkeys xautomation x11-utils

xinput 명령어를 통하여 입력 장치를 아래와 같이 확인 및 할당 된 버튼 값를 알 수 있다.

xinput 명령어를 통하여 M585의 ID 값이 11인 것을 확인할 수 있으며 input test <id> 명령어를 통하여 각 버튼의 할당된 값을 확인하였다. M585의 휠 좌우 번은 6, 7번으로 할당 된 것을 알게 되었다.


이제부터 우분투에서 마우스 버튼 6, 7번을 xbindkey 명령어를 통하여 Alt_L + or 로 할당할 것이다. 하기의 내용은 M585의 특정 마우스 버튼을 특수 단축키로 할당하는 것이며, ~/.xbindkeysrc 파일을 생성하도록 한다.

"xte 'keydown Alt_L' 'keydown Left' 'keyup Left' 'keyup Alt_L'"
     b:6
"xte 'keydown Alt_L' 'keydown Right' 'keyup Right' 'keyup Alt_L'"
     b:7

마우스 6번 버튼을 "뒤로 가기"로 설정하였고, 마우스 7번 버튼을 "앞으로 가기"로 변경한 것이다. 재밌는 것은 이렇게 설정하면 웹 브라우저 이외에도 다른 프로그램에서도 마우스 6, 7번은 위의 할당된 키로 동작하는 것을 확인할 수 있을 것이다.