Created
June 14, 2020 01:54
-
-
Save superjamie/abc574cb7c4c2a39cc6e0f2d368b7dc0 to your computer and use it in GitHub Desktop.
xorg.conf for Logitech Trackman Marble Mouse
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# https://help.ubuntu.com/community/Logitech_Marblemouse_USB | |
# https://wiki.archlinux.org/index.php/Logitech_Marble_Mouse | |
# | |
# Xorg Functions | |
# 1 = Left Click | |
# 2 = Middle Click | |
# 3 = Right Click | |
# 4 = Mouse Cursor Down | |
# 5 = Mouse Cursor Up | |
# 6 = Mouse Cursor Left | |
# 7 = Mouse Cursor Right | |
# 8 = Browser Back | |
# 9 = Browser Forward | |
# | |
# Xorg Physical Button Locations | |
# 1 = Left Large Button | |
# 2 = Left Small and Right Small together when Emulate3Buttons is enabled | |
# 3 = Right Large Button | |
# 8 = Left Small Button (back) | |
# 9 = Right Small Button (forward) | |
# | |
# For right hand usage: | |
# | |
# Left Large (1) = Normal Click (1) | |
# Right Large (3) = Right Click (3) | |
# Left Small (8) = Middle Click (2) | |
# Right Small (9) = Back (8) | |
# Hold Left Small (8) and move trackball to scroll | |
# Press both large buttons to simulate Middle Click (2) | |
# | |
# For left hand usage: | |
# | |
# Left Large (1) = Right Click (3) | |
# Right Large (3) = Normal Click (1) | |
# Left Small (8) = Back (8) | |
# Right Small (9) = Middle Click (2) | |
# Hold Right Small (9) and move trackball to scroll | |
# Press both large buttons to simulate Middle Click (2) | |
Section "InputClass" | |
Identifier "Marble Mouse" | |
MatchProduct "Logitech USB Trackball" | |
#MatchIsPointer "on" | |
#MatchDevicePath "/dev/input/event*" | |
######## evdev(4) - requires xserver-xorg-input-evdev in Ubuntu 20.04 | |
Driver "evdev" | |
# Xorg physical numbers: 1 2 3 4 5 6 7 8 9 | |
# Description: L m R l r (m = L+R) | |
# | |
# Right Hand: | |
# Option "ButtonMapping" "1 8 3 4 5 6 7 2 8" | |
# | |
# Left Hand: | |
Option "ButtonMapping" "3 8 1 4 5 6 7 8 2" | |
# EmulateWheel: Use Marble Mouse trackball as mouse wheel | |
Option "EmulateWheel" "true" | |
# Right Hand: | |
# Option "EmulateWheelButton" "8" | |
# Left Hand: | |
Option "EmulateWheelButton" "9" | |
# Axis Mapping: Enable vertical [ZAxis] and horizontal [XAxis] scrolling | |
Option "ZAxisMapping" "4 5" | |
Option "XAxisMapping" "6 7" | |
# EmulateWheelInertia: How far (in pixels) the pointer must move to | |
# generate button press/release events in wheel emulation mode. | |
# Factory Default: 50 | |
Option "EmulateWheelInertia" "10" | |
# Emulate3Buttons: Press both large buttons to simulate middle click | |
Option "Emulate3Buttons" "true" | |
######## libinput(4) | |
# could never get this working how i wanted, too lazy to learn button mapping | |
# Driver "libinput" | |
# | |
# Option "ButtonMapping" "1 2 3 4 5 6 7 9 8" | |
# Option "LeftHanded" "true" | |
# Option "MiddleEmulation" "true" | |
# | |
# Option "ScrollMethod" "button" | |
# Option "ScrollButton" "9" | |
# Option "HorizontalScrolling" "true" | |
EndSection |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment