어떤 이유에서인지 트랙볼 Logitech(일명 Logicool) Marble Mouse(일명 Trackman Marble)를 거꾸로 사용하고 싶습니다. 하드웨어를 수정하지 않고 소프트웨어를 통해 좌우 스크롤과 상하 스크롤을 따로 반대로 할 수 있는 방법이 있나요? 나는 /etc/X11/xorg.conf.g/
다음과 같은 구성 파일을 작성하여 이것을 시도했습니다 .
Section "InputClass"
Identifier "Marble Mouse"
MatchProduct "Logitech USB Trackball"
Option "EmulateWheel" "true"
Option "EmulateWheelButton" "8"
Option "XAxisMapping" "6 7"
Option "Emulate3Buttons" "true"
Option "ButtonMapping" "1 2 3 5 4 7 6 2 2"
EndSection
중요한 부분은 4번과 5번, 6번과 7번 키를 바꿔서 다음과 같이 했다는 것입니다.
Option "ButtonMapping" "1 2 3 4 5 6 7 2 2"
나는 가지고있다:
Option "ButtonMapping" "1 2 3 5 4 7 6 2 2"
그러나 이것은 작동하지 않으며 스크롤 휠 시뮬레이션 모드에서만 작동할 수 있습니다. 역스크롤하는 방법은 무엇입니까?
답변1
게임에서는 이것을 "역방향 마우스"라고 부릅니다.
Option "InvX" "boolean"
Invert the X axis. Default: off.
Option "InvY" "boolean"
Invert the Y axis. Default: off.
답변2
xinput
다음과 같이 사용하면 역방향 스크롤이 가능합니다.
xinput set-button-map "Logitech USB Trackball" 1 2 3 4 5 6 7 8 9
xinput set-int-prop "Logitech USB Trackball" "Evdev Wheel Emulation Button" 8 8
xinput set-int-prop "Logitech USB Trackball" "Evdev Wheel Emulation" 8 1
xinput set-int-prop "Logitech USB Trackball" "Evdev Wheel Emulation Axes" 8 6 7 4 5
xinput set-int-prop "Logitech USB Trackball" "Evdev Wheel Emulation X Axis" 8 6
xinput set-int-prop "Logitech USB Trackball" "Evdev Drag Lock Buttons" 8 9
답변3
파티에 늦었지만 올바른 해결책을 찾았습니다. 저는 Kensington Orbit 트랙볼을 가지고 있으므로 이에 따라 "sed" 문자열을 조정하십시오.
## Invert mouse axels, two button trackball
for id in $(xinput --list | sed -n '/Kensington USB\/PS2 Orbit/s/.*=\([0-9]\+\).*/\1/p')
do
# Shift left-right mousebutton 3 _ 1 disable all other 0 0 0 0
xinput set-button-map $id 3 0 1 0 0 0 0
# Invert mouse axels. see https://wiki.ubuntu.com/X/InputCoordinateTransformation
xinput set-prop $id 'Coordinate Transformation Matrix' -1 0 1 0 -1 1 0 0 1
done