Install Event Tester
This allows us to see what signals/commands are being sent to the machine over USB.
sudo apt install evtest
sudo evtest
You should list USB input devices, try turning the wheel to see the events.
Install driver
Stefan Sundin has written a small userspace driver for the Powermate, it can be found at: https://launchpad.net/~stefansundin/+archive/ubuntu/powermateSmall
NOTE: PulseAudio needs to be installed/working for this to function properly
Add the repository
sudo add-apt-repository ppa:stefansundin/powermatesudo &&
sudo apt update &&
sudo apt install powermate xdotool
We also install the xdotool
so we can remap any X
events we want to the Powermate input. After installing, unplug and re-plug the Powermate, then from a terminal:
powermate
Customize the configuation
To edit the system-wide config, open /etc/powermate.toml
in your favourite text editor. If you prefer to keep the Powermate app settings in your $HOME
folder, copy it to $home/.powermate.toml
Make sure you edit the dev =
to match the device we found with evtest
above.
My example config options
The below config has a button push execute a media play/pause, with the device turning scrolling the mouse using mouse scroll wheel emulation.
knob_command = "xdotool key XF86AudioPlay"
clock_wise_command = "xdotool click --delay 0 5"
counter_clock_wise_command = "xdotool click --delay 0 4"
clock_wise_command = "xdotool key Down"
counter_clock_wise_command = "xdotool key Up"
xdotool key XF86AudioPlay
xdotool key XF86AudioPrev
xdotool key XF86AudioNext
xdotool key XF86AudioLowerVolume
xdotool key XF86AudioRaiseVolume
xdotool key XF86AudioMute
systemctl suspend