Skip to content

Pointing devices

Kyle Terrien edited this page Oct 24, 2020 · 5 revisions

Here is information about how to setup less conventional pointing devices, e.g. trackballs, trackpads, and (maybe someday) joysticks.

Generic trackpad

TODO

Logitech MX Ergo

Description: gray thumb ball with three horizontal configurations, connected to the host with a Logitech Unifying receiver.

Works out of the box.

If you need to pair a device with a Unifying receiver, then look no further than ltunify.

https://lekensteyn.nl/logitech-unifying.html

Solaar is a GUI for configuring a Unifying receiver:

https://github.com/pwr/Solaar

Lastly, if you need to update your Unifying receiver (e.g. to patch it against MouseJack), consult ArchWiki.

Cleaning notes: the ball rests on three plastic nubs, which unfortunately become lint traps. Fortunately, the ball pops right out of its socket. There is a hole below the ball that is large enough for a pencil to be inserted.

Insert a pencil into the hole (don't use a metal object because that scratches the ball) and push firmly until the ball pops out. Use warm water to clean the surface of the ball, and wipe any debris from the three nubs. Some people use ammonia or rubbing alcohol on the ball; this is generally not good because those substances break down oils that lubricate the ball. The ball uses the oils from your skin to lubricate itself.

Who uses this? Kyle

Logitech M750

Description: blue thumb ball with wireless Logitech Unifying receiver

This works out of the box once paired with the Unifying receiver. Logitech's Unifying receiver allows you to pair multiple Logitech peripherals with one receiver, but the configuration utility only runs on Windows.

Some people report the Unifying receiver is pre-paired; some say you need to pair it using a Windows box.

http://forums.logitech.com/t5/Mice-and-Pointing-Devices/M570-and-Linux/td-p/545324

See Logitech MX Ergo for information on how to pair the device with the Unifying receiver.

Cleaning notes: see Logitech MX Ergo

Logitech Marble Mouse

Description: ambidextrous large red fingerball with black polka dots and a USB cabled connection.

This works out of the box, but there is no scroll wheel and no button 2. These can be fixed with some xorg.conf voodoo. (In fact, this device is more configurable on Linux than on Windows.)

Consult the dedicated page on the Arch Wiki.

/etc/X11/xorg.conf.d/10-libinput.conf

# Logitech Marble Mouse (trackball) xorg.conf configuration
#
# This is a basic libinput configuration for the Logitech Marble
# Mouse, a four button ambidextrous trackball with no scroll wheel.
#
# There is one big advantage to using libinput over evdev -- granular
# scrolling in applications that support it (e.g. Google Chrome).
# Universal libinput is relatively new, so if your distro doesn't
# support it, then check out the evdev version of this configuration.
#
# Commented out options indicate default values.
#
# Hardware:
#      https://www.logitech.com/en-us/product/trackman-marble-business
#
# Sources: https://wiki.archlinux.org/index.php/Logitech_Marble_Mouse
#      http://manpages.ubuntu.com/manpages/bionic/man4/libinput.4.html
#
# I hope this helps.  -- Kyle Terrien (klipkyle), 2020-10-22
#

Section "InputClass"
	Identifier "Marble Mouse"
	MatchProduct "Logitech USB Trackball"
	Driver "libinput"

	# Hold a button to make the ball emulate a giant 2D scroll
	# wheel.  (Using a large scroll ball is a uniquely satisfying
	# experience.)
	#
	# Decent values for ScrollButton are "8" (for the small left
	# button) and "9" (for the small right button).  "8" works
	# best for right-handed use, and "9" works best for
	# left-handed use.
	#
	Option "ScrollMethod" "button"
	Option "ScrollButton" "8"

	# Whether to allow horizontal scrolling.  Default is "true".
	#
	#Option "HorizontalScrolling" "true"

	# Whether to emulate a middle button (mouse-2) by pressing
	# both left and right buttons simultaneously.  (Default
	# "false")
	#
	# A mouse without a mouse-2 is excruciatingly annoying on an
	# X11 workstation, so let's turn it on.
	#
	Option "MiddleEmulation" "true"

	# Button mapping (advanced configuration)
	#
	# L := the large left button (default mouse-1: left click)
	# R := the large right button (default mouse-3: right click)
	# m := the "virtual" middle button activated by pressing L and
	#      R (default mouse-2: middle click).  MiddleEmulation
	#      must be set to "true".
	# < := the small left button (default mouse-8: previous)
	# > := the small right button (default mouse-9: next)
	#
	## Physical Layout:     "L m R         < >"
	#Option "ButtonMapping" "1 2 3 4 5 6 7 8 9"
EndSection

Here is the older version that uses evdev. If your distro doesn’t support libinput, then use evdev.

#       - - - Logitech Marble Mouse Settings - - -
#
#       The Logitech Marble Mouse buttons are mapped [A-D] from left to right: 
#       A (large); B (small) |  C (small); D (large). 
#
#       Preferred options for right-handed usage:
#       A = normal click [1]  
#       B = middle-click [2] 
#       C = middle-click [2] 
#       D = right-click [3]
#       Hold button B while rolling trackball to emulate wheel-scrolling. 
#
#       Preferred options for left-handed usage:
#       A = right-click [3]  
#       B = middle-click [2] 
#       C = middle-click [2]
#       D = normal click [1]
#       Hold button C while rolling trackball to emulate wheel-scrolling.
#       Pressing both large buttons simultaneously (b) produces a "back" action.

Section "InputClass"
	Identifier  "Marble Mouse"
	MatchProduct "Logitech USB Trackball"
	MatchIsPointer "on"
#       MatchDevicePath "/dev/input/event*"
	Driver "evdev"

#       Physical button #s:     A b D - - - - B C    
#       Option "ButtonMapping" "1 8 3 4 5 6 7 2 2"   right-hand placement
#       Option "ButtonMapping" "3 8 1 4 5 6 7 2 2"   left-hand placement
#       b = A & D 
	Option "ButtonMapping" "1 8 3 4 5 6 7 2 2"

#       EmulateWheel: Use Marble Mouse trackball as mouse wheel 
#       Factory Default: 8; Use 9 for right side small button
	Option "EmulateWheel" "true"
	Option "EmulateWheelButton" "8"

#       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"

#       Axis Mapping: Enable vertical [ZAxis] and horizontal [XAxis] scrolling
	Option "ZAxisMapping" "4 5"
	Option "XAxisMapping" "6 7"

#       Emulate3Buttons: Required to interpret simultaneous press of two large
#       buttons, A & D, as a seperate command, b.
#       Factory Default: true
	Option "Emulate3Buttons" "true"
EndSection

Cleaning notes: see Logitech MX Ergo

Who uses this? Kyle

Logitech TrackMan Wheel

Description: red thumb ball with black polka dots and USB cabled connection

This variant works out of the box just like an ordinary mouse. Unfortunately, Logitech does not make it anymore. This is a collector's item now. If you see one that is discarded, pick it up. (Sometimes people don't know what they have.)

Cleaning notes: see Logitech MX Ergo

Who uses this? Kyle (owns several)