2015년 10월 9일 금요일

우분투(Ubuntu) 마우스 커서 이동 속도 조절하기

Ubuntu System Setting - Mouse & Touchpad 창

우분투만 쓸때는 몰랐는데 윈도우를 깔고 듀얼부트 상태로 쓰니 마우스 속도가 다른게 확 느껴진다. 윈도우에서는 적당히 빨랐는데 우분투에서는 너무 답답하다. System Setting 에서 바꾸려 했는데 마우스 이동속도 설정은 찾아볼수가 없다.

더블클릭 속도, 주-사용버튼 밖에 수정이 불가능하다. 그래서 찾아보니 command-line 에서 1가지 프로퍼티 수정만하면 쉽게 속도를 조정할수가 있었다.
우선 "xinput" 명령을 이용해 모든 input 장차의 리스트를 가져오자.

user@desktop:~$ xinput --list --short
⎡ Virtual core pointer                     id=2 [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer               id=4 [slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                    id=10 [slave  pointer  (2)]
⎣ Virtual core keyboard                    id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard              id=5 [slave  keyboard (3)]
    ↳ Power Button                             id=6 [slave  keyboard (3)]
    ↳ Video Bus                                id=7 [slave  keyboard (3)]
    ↳ Power Button                             id=8 [slave  keyboard (3)]
    ↳ Logitech USB Receiver                    id=9 [slave  keyboard (3)]

나 같은 경우는 Logitech 사에서 나온 무선 키보드 마우스 세트인 mk270r 모델을 사용중인데 그 때문에 pointer나 keyboard에 둘다 Logitech US Receiver라고 나온다. 우선 세팅을 수정할건 마우스니 해당 장치의 id인 10을 기억해두자.
그리고 다시 xinput 명령을 이용해 장치의 프로퍼티 세팅을 가져온다.

user@desktop:~$ xinput list-props 10
Device 'Logitech USB Receiver':
 Device Enabled (133): 1
 Coordinate Transformation Matrix (135): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
 Device Accel Profile (263): 0
 Device Accel Constant Deceleration (264): 1.000000
 Device Accel Adaptive Deceleration (265): 1.000000
 Device Accel Velocity Scaling (266): 10.000000
 Device Product ID (250): 1133, 50484
 Device Node (251): "/dev/input/event3"
 Evdev Axis Inversion (267): 0, 0
 Evdev Axes Swap (269): 0
 Axis Labels (270): "Rel X" (143), "Rel Y" (144), "Rel Horiz Wheel" (260), "Rel Dial" (261), "Rel Vert Wheel" (262)
 Button Labels (271): "Button Left" (136), "Button Middle" (137), "Button Right" (138), "Button Wheel Up" (139), "Button Wheel Down" (140), "Button Horiz Wheel Left" (141), "Button Horiz Wheel Right" (142), "Button Side" (255), "Button Extra" (256), "Button Forward" (257), "Button Back" (258), "Button Task" (259), "Button Unknown" (253), "Button Unknown" (253), "Button Unknown" (253), "Button Unknown" (253), "Button Unknown" (253), "Button Unknown" (253), "Button Unknown" (253), "Button Unknown" (253), "Button Unknown" (253), "Button Unknown" (253), "Button Unknown" (253), "Button Unknown" (253)
 Evdev Scrolling Distance (272): 1, 1, 1
 Evdev Middle Button Emulation (273): 0
 Evdev Middle Button Timeout (274): 50
 Evdev Third Button Emulation (275): 0
 Evdev Third Button Emulation Timeout (276): 1000
 Evdev Third Button Emulation Button (277): 3
 Evdev Third Button Emulation Threshold (278): 20
 Evdev Wheel Emulation (279): 0
 Evdev Wheel Emulation Axes (280): 0, 0, 4, 5
 Evdev Wheel Emulation Inertia (281): 10
 Evdev Wheel Emulation Timeout (282): 200
 Evdev Wheel Emulation Button (283): 4
 Evdev Drag Lock Buttons (284): 0

엄청 길게 나온다... 사실 이 명령어는 장치 id 대신 장치 이름으로 실행해도 되는데,나같은 경우에는 키보드와 마우스의 장치 이름이 같아 id로 실행했다.
어쨋든 다른 프로퍼티들은 다 무시하고 마우스 이동속도를 위해 수정해야되는건
Device Accel Constant Deceleration
프로퍼티 이다.

해당 프로퍼티는 정해진 꼐수만큼 마우스의 속도를 감속시킨다. 그러니 반대로 마우스의 속도를 올리기 위해서는 해당 계수를 낮춰줘야한다. 속도를 현재에서 2배로 올릴려면 0.5로 수정, 1.33배로 올릴려면 0.75로 수정해주자. 난 0.5로 설정해놓으니 조금 빠른거 같아 0.66, 1.5배로 속도를 올리기로 했다.

user@desktop:~$ xinput -set-prop 10 'Device Accel Constant Deceleration' 0.66

위의 명령을 실행하면 바로 마우스가 빨라진다. 하지만 재부팅할경우 기본값으로 리셋되기 때문에 해당 명령을 startup application에 넣어줘야한다.




추가

부팅할때마다 계속 명령을 실행해줘야는게 찝찝해 조금 더 찾아봤더니 dconf 데이터를 수정해서 마우스 이동속도를 조절할 수 있었다.
dconf 데이터 수정은 dconf-editor 를 이용해 간단하게 할 수 있다.

우리가 수정해야할 key 들은 org.gnome.settings-damon.peripherals.mouse 스키마에 존재한다.

dconf-editor 창

마우스 이동속도는 motion-acceleration 키를 수정하면 된다. motion-acceleration는 마우스가 기본 이동속도의 몇배로 움직이는지를 설정하는 계수이다. -1이 시스템 기본설성이며, 이렇게 설정하면 기본 이동속도의 1배로 움직인다. 2, 3, 4 등의 계수를 집어넣으면 그만큼 속도가 빨라지니 편한대로 설정하자.

motion-threshold 키는 몇 픽셀을 이동후 마우스 이동속도가 적용될지 설정하는 키이다. 이것도 편의에 따라 설정해주면 된다.

만약 dconf-editor가 설치되지 않았다면 아래 명령어를 이용해 설치후 수정하면 된다.

user@desktop:~$ sudo apt-get install dconf-editor

dconf-editor 설치를 원하지 않는다면 CLI dconf 수정 툴인 gsettings 를 이용해 수정할 수 있다.


#mouse 관련 스키마 보기
user@desktop:~$ gsettings list-schemas | grep 'mouse'
org.gnome.desktop.a11y.mouse
org.gnome.mousetweaks
org.gnome.settings-daemon.plugins.mouse
org.gnome.settings-daemon.peripherals.mouse

#org.gnome.settings-daemon-peripherals.mouse 스키마에 저장된 키 보기
user@desktop:~$ gsettings list-keys org.gnome.settings-daemon.peripherals.mouse
drag-threshold
motion-threshold
middle-button-enabled
motion-acceleration
double-click
left-handed
locate-pointer

#원하는 키의 현재값 가져오기
user@desktop:~$ gsettings get 'org.gnome.settings-daemon.peripherals.mouse' 'motion-acceleration'
-1.0

#원하는 값으로 키 수정하기
user@desktop:~$ gsettings set 'org.gnome.settings-daemon.peripherals.mouse' 'motion-acceleration' 3.0

이제 진짜 끝~. 이렇게하면 부팅할때마다 명령어를 실행해줘야할 필요가 없어진다~

댓글 1개 :

  1. 위에 방법을 전부 시도해보았지만 속도가 조절되지 안습니다
    특히 dconf 편집기에서는 마우스 설정에서 motion-threshold 향목이 존제하지가 안습니다
    우분투의 버전은 16.04LTS입니다

    답글삭제