본문 바로가기

IT

로지테크(Logitech) 마우스의 버튼을 바인딩하여 원하는 기능으로 사용하기

반응형

로지테크는 윈도우와 맥의 드라이버와 앱을 제공할 뿐, 리눅스 드라이버와 앱를 제공하지 않는다.


하여 3버튼 이상의 마우스를 사용할 때, 리눅스의 데스크탑환경에서 기본적으로 지정된 기능이외에는 설정하여 사용하는 것이 꽤나 번거롭다.


 하지만 원하면 길이 있듯이...


 이번에 Performence MX 마우스를 구입하여 여기에 있는 ZOOM, 태스크 스위치 버튼을 좀 사용해 보기로 했다.


 역시나 도움을 받은 곳은 구글링으로 정리가 된다. (검색기는 역시 구글..;)



링크 : http://forums.logitech.com/t5/Mice-and-Pointing-Devices/Guide-for-setup-Performance-MX-mouse-on-Linux-with-KDE/td-p/517167



 위 링크에서는 KDE기반의 설정을 설명해 놓았는데, 나는 xfce4 기반의 xubuntu 가 대상이다. 그래서 약간은 설정이 다르다.


 뭐 천천히 따라오면 설정할 수 있을 거 같다.


 1. 일단 필요한 프로그램을 설치한다.


$ sudo apt-get install xbindkeys xautomation


 터미널에서 위의 명령어를 실행하면 마우스, 키보드를 바인딩할 수 있는 기능을 제공하는 xbindkeys 라는 어플과 실제로 버튼입력과 명렁어간의 연결을 처리하는 xte 라는 어플을 위한 xautomation 이 설치가 된다. (링크의 설명에는 sudo apt-get install xte 라고 되어 있는데 잘못 기술한 부분이다.)


 2. xbindkeys 의 설정파일을 생성해야 하는데 아래와 같은 명령어를 사용한다.


$ xbindkeys --defaults > ~/.xbindkeysrc


 로그인한 사용자의 홈디렉토리에 설정파일을 생성하고, 기본적인 사용방법이 기술된 파일이 생성된다. 이를 수정하면 원하는 기능을 추가할 수 있다.


 3. 자 이제 우리가 바인딩해서 사용할 버튼의 명칭을 알아야 원하는 기능과 연결을 할 것인데, 이는 xev 라는 명령어를 터미널에 입력하여 각 마우스의 버튼을 클릭하면 어떤 하드웨어 입력이 들어오는지 알 수 있다.


차례대로 적어보면 Performence MX의 경우 엄지측에 있는 4개의 버튼이 대상이다.


뒤로가기 버튼 : 8

앞으로가기 버튼 : 9

Zoom 버튼 : 13

실행중 어플리케이션 목록 보기 : 10


요렇게 총 4개로 정의되어 있다. 다른 마우스를 사용하고 있다면 위 버튼의 번호는 서로 다를 수 있으므로 실제로 xev를 실행해서 자신의 버튼이 몇번인지 확인하는 것이 좋다.


 4. 이제 아까 생성해 놓은 .xbindkeysrc 파일을 수정하여 원하는 기능을 추가해 보자.

 (텍스트 파일이므로 gedit vi 등등 자신이 자주 사용하는 에디터를 사용하여 열면 된다.)


 일단 기본적으로 적혀있는 예제를 살펴보면

# Examples of commands:
## 이건 기본적으로 제공하는 기능으로 Ctrl + Shift + Q 키를 누르면 바인딩 설정을 작은 다이얼로그로 보여준다.

## 실행되어야 하는 명령어는 " " 안에 기술하여 첫줄에 작성하고

## 입력되는 키조합(키보드건 마우스건) 그 아래줄에 적어서 표현한다.

"xbindkeys_show"
  control+shift + q

# set directly keycode (here control + f with my keyboard)
#"xterm"
#  c:41 + m:0x4

# specify a mouse button
#"xterm"
#  control + b:2

#"xterm -geom 50x20+20+20"
#   Shift+Mod2+alt + s
#
## set directly keycode (here control+alt+mod2 + f with my keyboard)
#"xterm"
#  alt + c:0x29 + m:4 + mod2
#
## Control+Shift+a  release event starts rxvt
#"rxvt"
#  release+control+shift + a
#
## Control + mouse button 2 release event starts rxvt
#"rxvt"
#  Control + b:2 + Release


 자 여기서 내가 사용한 설정은 아래와 같다.


# Back
"xte 'keydown Alt_L' 'key Left' 'keyup Alt_L'"
  b:8

# Forward
"xte 'keydown Alt_L' 'key Right' 'keyup Alt_L'"
  b:9

# Task Switcher (skippy-xd)
"xte 'keydown Super_L' 'key Tab' 'keyup Super_L'"
  b:10

# Maximize window
"xte 'keydown Alt_L' 'key F10' 'keyup Alt_L'"
  b:13


 첫줄부터 뒤로가기 버튼을 다시 정의했다. 일반적으로 뒤로가기버튼은 그냥 두어도 뒤로가기로 작동하기는하지만, 혹시 몰라 다시 정의했다. 설명을 보면 Alt 키가 눌린 상태에서 Left키가 눌리고 이후 Alt 키가 눌린 상태에서 해제되는 것을 적어놓았는데 이는 일반적으로 Alt+Left 키 조합으로 입력했다고 생각하면 편하다. 이런 기능을 b:8 버튼이 눌렸을 때 실행한다는 것이다. 여기서 xte 는 저런 키조합을 자동적으로 수행해주는 역할을 한다.


 그럼 두번째는 앞으로 가기가 되고, 세번째는 skippy-xd라는 테스크 스위처를 실행하는 기능을 미리 환경설정에서 단축키로 정의해 놓고 그 단축키를 실행하도록 한 것이다. 직접 원하는 프로그램을 실행하고 싶다면, 원하는 어플의 명령어를 바로 써줘도 무방하다. 예를 들어 gedit를 자주 사용해서 그 어플을 바로 실행하고 싶다면


"gedit"

b:10


 이렇게 기술하는 것만으로 원하는 기능이 작동한다.


 마찬가지로 네번째는 윈도우 최대화 기능을 처리하도록 했다. (세번째처럼 단축키를 미리 설정해 놓고 Alt+F10이 눌리면 작동하도록 되어 있음)


 5. 이제 설정파일도 다 마련되었고, 이제 남은 작업은 실행해보는 것이다.

 터미널에서 xbindkeys 명령어를 한번더 실행하면 지금 작업한 설정파일을 리로드하여 방금 정의한 기능을 바로 사용할 수 있다.


 끝.

반응형