XMG (X11 Mouse Grabber) is a Linux/X11 tool for intercepting mouse button press events and triggering actions.
It's a way of making use of the extra mouse buttons when the manufacturer does not provide Linux drivers and/or tools for configuring button actions (which means 99.9% of the cases).
-
Install libxcb. In most distributions it's possible to install it through the package manager.
-
Download the latest release and place it under
/usr/local/bin
or other executable location. -
Create a configuration file.
-
Execute
xmg
passing as argument the relative or absolute path to the configuration file. For example:xmg ~/.config/xmg.properties
-
(optional) Create an autostart configuration. For KDE environments, this can be a simple script in
~/.config/autostart-scripts
.
The configuration file must use the properties* format
(key = value
), where key
should be button.{number}.command = {command}
.
For example:
# Shell commands are ok
button.8.command = echo Hello
# Spotify Play/Pause through D-Bus
button.9.command = dbus-send --type=method_call --dest=org.mpris.MediaPlayer2.spotify /org/mpris/MediaPlayer2 org.mpris.MediaPlayer2.Player.PlayPause
* Only a subset of the properties format is supported.
You can find out what are the button numbers by using xinput
, from xorg-xinput
package:
xinput test-xi2 --root | grep -A 10 ButtonPress
The number after detail
is the button number.
- Configurations per application
- Long press actions