방금 Kensigton Slimblade 트랙볼을 받았고 이를 구성하려고 합니다. 이전 Logitech Marble 구성을 기반으로 적용하고 있습니다.
내가 원하는 구성은 다음과 같습니다.
- 왼쪽 하단: 왼쪽 클릭
- 왼쪽 위: 뒤로
- 오른쪽 상단: 오른쪽 클릭 및 볼 스크롤 잠금
- 오른쪽 하단 : 가운데 클릭
지금까지 설정할 수 있는 구성은 다음과 같습니다.
- 왼쪽 하단: 왼쪽 클릭
- 왼쪽 상단: 가운데 클릭
- 오른쪽 상단: 오른쪽 클릭 및 볼 스크롤 잠금
- 오른쪽 아래: 뒤로
이것은 내 구성 스크립트입니다.
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Middle Button Emulation" 8 1
xinput set-button-map "Kensington Kensington Slimblade Trackball" 1 2 8 4 5 6 7
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation" 8 1
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation Button" 8 8
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation Axes" 8 6 7 4 5
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation Timeout" 16 300
이 스크립트를 실행하기 전에 xev
버튼 번호를 다음과 같이 보고하세요.
Left-Bottom: 1, Left-Top: 2, Right-Top: 8, Right-Botom: 3
이 스크립트를 실행한 후:
Left-Bottom: 1, Left-Top: 2, Right-Top: 8, Right-Botom: 8
그래서 제가 아는 한, xinput set-button-map
버튼 순서를 변경해 보세요. 존재하다이것페이지에서 두 번째 값은 마우스 가운데 버튼에 해당하고 8번째 값은 Thumb1(보통 뒤로 기능과 관련됨)에 해당한다는 것을 알게 되었습니다. 그래서 다음과 같이 숫자 3을 두 번째 요소로, 2를 여덟 번째 요소로 사용해야겠다고 생각했습니다.
xinput set-button-map "Kensington Kensington Slimblade Trackball" 1 3 8 4 5 6 7 2
그러나 이제 왼쪽 상단 버튼에는 오른쪽 클릭 기능이 있고 왼쪽 하단 버튼은 비활성화됩니다. xev
지금 신고하세요
Left-Bottom: 1, Left-Top: 3, Right-Top: 2, Right-Botom: 8.
예상대로 구성을 설정하는 방법을 아는 사람이 있습니까? 우분투 16.04를 사용하고 있습니다. 감사해요.
답변1
질문을 게시하고 몇 분 후에 답변을 찾았습니다. 누군가 필요한 경우(Mint 18/Ubuntu 16.04에 대한 구성):
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Middle Button Emulation" 8 0
7 8 9
xinput set-button-map "Kensington Kensington Slimblade Trackball" 1 8 2 4 5 6 7 3 2
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation" 8 1
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation Button" 8 8
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation Axes" 8 6 7 4 5
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation Timeout" 16 300
편집하다
Mint 19(집) 및 Ubuntu 18.04(사무실)로 업그레이드한 후 위 구성이 작동하지 않는 것을 발견했습니다. 18.04는 이러한 장치에 대해 다른 라이브러리(libinput)를 사용하며 Evdev를 다시 설치해도 일부 옵션이 작동하지 않습니다. 고통스러운 검색 끝에 해결책을 찾았습니다. 폴더에 .conf 확장자를 가진 파일을 만듭니다 /usr/share/X11/xorg.conf.d/
. 제 경우에는 10-slimblade.conf
이 구성을 파일에 저장했습니다.
Section "InputClass"
Identifier "Kensington Kensington Slimblade Trackball"
MatchProduct "Kensington Kensington Slimblade Trackball"
MatchIsPointer "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
Option "ButtonMapping" "1 8 2 4 5 6 7 3 2"
Option "ScrollButton" "8"
Option "ScrollMethod" "button"
Option "MiddleEmulation" "on"
EndSection
세션을 다시 시작하면 됩니다.
답변2
매우 감사합니다! 게다가 트랙볼의 버튼이 다음과 같이 생겼다는 사실을 발견했습니다.
---------
| 2 | 8 |
---------
| 1 | 3 |
---------
문자열의 순서는 다음과 같습니다 ButtonMapping
.
LeftClick MiddleClick RightClick ScrollUp ScrollDown ScrollLeft ScrollRight Back Forward
그래서 저는 맨 아래 행 오른쪽과 왼쪽, 뒷줄 왼쪽 위, 가운데 위 오른쪽을 원합니다.
Section "InputClass"
Identifier "Kensington Kensington Slimblade Trackball"
MatchProduct "Kensington Kensington Slimblade Trackball"
MatchIsPointer "on"
MatchDevicePath "/dev/input/event*"
Driver "libinput"
Option "ButtonMapping" "1 8 3 4 5 6 7 2 9"
Option "ScrollButton" "8"
Option "ScrollMethod" "button"
EndSection
여기에는 문서가 존재하지 않으므로 를 실행하여 정리할 수 있습니다 xev -event mouse
.
버튼 ID와 해당 기능의 매핑은 다음과 같습니다.
단추 | 기능 |
---|---|
1 | 왼쪽 클릭 |
2 | 가운데 클릭 |
삼 | 마우스 오른쪽 버튼으로 클릭 |
4 | 위로 슬라이드 |
5 | 아래로 스크롤 |
6 | 왼쪽으로 스크롤 |
7 | 오른쪽으로 스크롤 |
8 | 뒤쪽에 |
9 | 앞으로 |
답변3
아름답습니다. 모두 감사합니다! :) 그러나 나에게 적합하도록 약간 수정해야 했습니다. 내 시스템(Ubuntu 18.04)에서 xinput은 트랙볼을 다음과 같이 보고합니다.
$ xinput list | grep Kensington
⎜ ↳ Kensington Slimblade Trackball id=14 [slave pointer (2)]
MatchProduct
나에게 적합하도록 위의 예를 수정 해야했습니다 . 저도 좀 줄여봤습니다. 내 경우에는 다음과 같으며 나에게 효과적입니다.
Section "InputClass"
Identifier "My Kensington Slimblade Trackball"
MatchProduct "Kensington Slimblade Trackball"
Option "ButtonMapping" "1 8 3 4 5 6 7 2 9"
Option "ScrollButton" "8"
Option "ScrollMethod" "button"
EndSection