로지텍 마블 트랙볼… 진짜 징하게 쓰고 있다. 이러니 기업들이 트랙볼을 안 만들지 싶다. 너무 손에 잘 맞고 편리한 데다, 고장도 안 나니까 이거야 원…ㅋ
원하는 시나리오는 트랙볼 오른쪽의 보조 버튼을 누르면서 볼을 굴리면, 볼의 움직임이 스크롤로 동작하게 하는 거다. 진짜 트랙볼 초기에는 휠이 따로 없는 걸 단점이라고 리뷰에 적을 정도였는데, 이 기능이 발견된 후부터는 오히려 장점이다. 마우스의 코딱지만한 휠은 그냥 따위로 만들어 버릴 정도로 편리하다고 생각한다.
지금까지는 Xorg 의 xinputrc 설정 스크립트 하나 저장해 뒀다가 시스템 새로 절치 할 때 마다 그냥 복사해 넣어주는 식으로 했었는데, Wayland 는 그렇게 할 수 없다.
우분투의 경우는 그놈에서 아예 설정할 수 있는 UI 가 있어서 클릭 몇 번으로 해결되었는데, Fedora KDE 에서는 ‘가운데 단추를 누르면서 이동하여 스크롤’ 하는 기능밖에 없다.
Fedora 43 KDE 에서 가운데 버튼 에뮬레이션은 양쪽의 보조버튼을 동시에 눌러야 하게 되어 있다. 그거 완전 손으로 아크로바틱 체조하는 모양새다.

이래저래 검색해서 하는 방법을 찾아냈다. 근데 이거… 윈도우 레지스트리 건드리는 느낌이다. 씁…
로지텍 마블의 정보를 알아내자.
evemu 라는 툴을 설치한다.
:~$ sudo dnf install evemu
그리고 evemu-describe 를 실행해서 마우스의 Event 번호와 키 Event 번호를 알아내자.
:~$ sudo evemu-describe
Available devices:
/dev/input/event0: Power Button
/dev/input/event1: Lid Switch
/dev/input/event2: AT Translated Set 2 keyboard
/dev/input/event3: Video Bus
/dev/input/event4: ASCP1200:00 093A:3016 Mouse
/dev/input/event5: ASCP1200:00 093A:3016 Touchpad
/dev/input/event6: ITE5570:00 0B05:5570 Wireless Radio Control
/dev/input/event7: ITE5570:00 0B05:5570
/dev/input/event8: 3Dconnexion SpaceNavigator
/dev/input/event9: Logitech USB Trackball
/dev/input/event10: PC Speaker
/dev/input/event11: Asus WMI hotkeys
/dev/input/event12: HD-Audio Generic HDMI/DP,pcm=3
/dev/input/event13: HD-Audio Generic HDMI/DP,pcm=7
/dev/input/event14: HD-Audio Generic HDMI/DP,pcm=8
/dev/input/event15: HD-Audio Generic Headset Mic
/dev/input/event16: HD-Audio Generic Headphone
Select the device event number [0-16]: 9
Logitech USB Trackball 은 Event 9 다. 9 를 입력하면 좀 더 정확한 정보가 나온다.
# EVEMU 1.3
# Kernel: 6.19.8-200.fc43.x86_64
...
# Input device name: "Logitech USB Trackball"
# Input device ID: bus 0x03 vendor 0x46d product 0xc408 version 0x110
# Supported events:
# Event type 0 (EV_SYN)
...
# Event type 1 (EV_KEY)
# Event code 272 (BTN_LEFT)
# Event code 273 (BTN_RIGHT)
# Event code 274 (BTN_MIDDLE)
# Event code 275 (BTN_SIDE)
# Event code 276 (BTN_EXTRA)
# Event type 2 (EV_REL)
# Event code 0 (REL_X)
# Event code 1 (REL_Y)
# Event type 4 (EV_MSC)
# Event code 4 (MSC_SCAN)
# Properties:
N: Logitech USB Trackball
I: 0003 046d c408 0110
P: 00 00 00 00 00 00 00 00
B: 00 0b 00 00 00 00 00 00 00
...
B: 15 00 00 00 00 00 00 00 00
gerd@fedora:~$
뭐라뭐라 쏼라쏼라 나온다. 저기 Event type 1 에 키의 Event 코드가 있는데, 나는 왼손 엄지로 오른쪽 사이트 버튼을 누르면 휠 기능이 동작하게 하고 싶으니까 BTN_EXTRA 의 276 번이다. 만약 오른손 엄지로 하겠다면 275 번이 된다.
DBUS 이벤트를 활성화하자
xinputrc 가 그리워지는 순간이다. xinputrc 는 그냥 설정파일 수정하거나 추가하면 되는데, 이건 찾아서 값을 바꿔야 한다.
qdbuswiever 를 설치하자. dnf 를 이용하는 것 보다는 Discover 을 이용해 설치하는 쪽이 편하다.

qdbuswiever 를 실행하면 윈도우 레지스트리 편집기 같은 화면이 나온다. 거기서….
I assume the feature is: https://wayland.freedesktop.org/libinput/doc/latest/scrolling.html#on-button-scrolling
This feature is exposed in KWin and also available through dbus. In the KWin debug konsole (open krunner, enter KWin) you can find your input device in the input devices tab. The properties are called “scrollOnButtonDown” (bool) and “scrollButton” (int). You can find this also in service org.kde.KWin /org/kde/KWin/InputDevice/eventXX/ – XX is the event number as exposed as sysName in debug konsole. 5
Thank you so much!!!
scrollOnButtonDown was set to false, setting it to true worked! And it now works after reboots, too!
For anyone reading this, the command I used was:
qdbus org.kde.KWin /org/kde/KWin/InputDevice/eventXX org.kde.KWin.InputDevice.scrollOnButtonDown trueWhere XX is the trackball device event. 4
요약하면, qdbuswiever 의 왼쪽 부분에서 org.kde.KWin 를 찾아 클릭하면,
오른쪽 부분에 해당하는 항목들이 나오는데, 그 중에서 /org/kde/KWin/InputDevice/event09 – 아까 9번 이었으니까 – 을 찾아서,
org.kde.KWin.InputDevice.scrollOnButtonDown 의 값을 true 로 바꿔주면 된다.
그리고 저 값이 있는 부근에 ButtonEvent 번호를 적는 게 있는데 거기에 위에서 찾은 275 를 넣어준다.
아, 맨 위 화면의 ‘가운데 단추를 누르면서 스크롤’ 이 활성화 되어 있어야 된다. 위에 인용에 붙여놓은 마지막 부분은 이 기능을 활성화 시키는 명령이다.
왜 이걸 갖다 붙여서 대충 요약만 하고 끝을 내냐면, 이 글 쓰다가 중간에 페도라 지워버려서 그렇다. LLM 쓰려고 드라이버 설치하다가, 뭔가 이상하다 싶어서 그냥 우분투로 다시 설치했다.


