트랙볼의 가장 멋진 점 중 하나는 사용자 정의 버튼을 누르면 공이 2D 스크롤에 사용될 수 있다는 것입니다. Elecom Huge 트랙볼이 있고 이를 구성하고 싶습니다 xinput
(Xorg를 다시 로드할 필요가 없도록). Forward
버튼을 눌렀을 때 공을 굴릴 수 있도록 해당 버튼을 다시 매핑하고 싶습니다 . 또한 스크롤이 발생하지 않으면 버튼이 가운데 버튼 역할을 하도록 하고 싶습니다.
답변1
Elecom 장치는 사용 시 xinput list
이름으로 쉽게 식별할 수 있습니다 . 이 예에서 이름 string은 입니다 ELECOM TrackBall Mouse HUGE TrackBall
. Elecom 장치는 포인터와 키보드를 모두 보고하므로 pointer:
추가 접두사가 필요합니다.
다음으로 해당 버튼의 버튼 ID를 식별해야 합니다. 이를 사용하면 버튼(버튼이 있거나 인접한 버튼)에 ID가 있음 xev
을 쉽게 알 수 있습니다 . Forward
이제 남은 일은 스크롤 방법을 활성화하고 스크롤 버튼을 선택하는 것뿐입니다. 다음 두 줄을 사용하면 됩니다.Fn1
Fn2
9
xinput set-prop "pointer:ELECOM TrackBall Mouse HUGE TrackBall" 'libinput Button Scrolling Button' 9
xinput set-prop "pointer:ELECOM TrackBall Mouse HUGE TrackBall" 'libinput Scroll Method Enabled' 0 0 1
이 시점에서는 필요에 따라 스크롤을 구성했지만 버튼은 아직 중간 버튼으로 사용되지 않습니다. 이 동작을 수정하기 위해 버튼이 (중간) 9
으로 보고 되도록 버튼을 다시 매핑합니다.2
xinput set-button-map $(xinput list --id-only "pointer:ELECOM TrackBall Mouse HUGE TrackBall") \
1 2 3 4 5 6 7 8 2 10 11 12
~/.xinitrc
이러한 설정을 영구적으로 만들려면 Xorg 세션 시작 시 위의 줄을 실행하도록 배치할 수 있습니다 .
답변2
작성자: @wojciech-gac답변이 질문에 대한 정답입니다.
완전성을 위해 동일한 기능을 찾는 사람들을 위해 동등한 구성을 공유하고 싶었지만 Xorg 서버에서 구성하는 것을 선호합니다.
.conf
다음 중 하나에 파일을 만듭니다.Xorg 구성 경로. 예를 들어:
/etc/X11/xorg.conf.d/99-elecom-huge-scroll.conf
그리고 그 안에 다음 내용을 넣으세요:
Section "InputClass"
Identifier "Elecom HUGE scroll config"
MatchDriver "libinput"
MatchVendor "ELECOM"
MatchProduct "HUGE TrackBall"
Option "ScrollMethod" "button"
Option "ScrollButton" "9"
Option "ButtonMapping" "1 2 3 4 5 6 7 8 2 10 11 12"
EndSection