Need help with Griffin PowerMate USB volume controller - new 64 bit desktop & Ubuntu 12.04
A simple way to get it working (tested on xubuntu 15.04):
Install
evrouter
from here-
Create an event mapping file for
evrouter
with the contents:# /somepath/evrouterrc Window "" "Griffin PowerMate" "" any key/256 "XButton/2" # click "Griffin PowerMate" "" any rel/7/1 "XButton/5" # scroll > "Griffin PowerMate" "" any rel/7/-1 "XButton/4" # scroll <
You may change the mapping to anythings else ex.: volume control events using:
XKey/XF86AudioLowerVolume
andXKey/XF86AudioRaiseVolume
List of Supported mappings
-
Once your PowerMate is connected simply run:
sudo pkill evrouter & sleep .1 && sudo evrouter -c /somepath/evrouterrc $(find /dev/input -iname "*powerm*")
The command:
- kills any previously started
evrouter
commands - sleeps for a 100ms
- starts a new
evrouter
with the specified config file, and looks up the attached powermate device ( should be somewhere at/dev/input/by-id/usb-Griffin_Technology__Inc._Griffin_PowerMate-event-if00
)
Optionally you can put this in a script in your
$PATH
and then you could launch it using a single commandIf you put
evrouterrc
to/etc/evrouterrc
you can skip the-c /somepath/evrouterrc
part of the command - kills any previously started
For a very long time I had been struggling to get powermate working in Ubuntu, my favourite OS. It was frustrating and finally I got it going and I do want to share with you all how I did. My sincere thanks to all the people from the references. I needed something more definitive, there is none available. Therefore this endeavour.
This is how I got my volume control with Griffin Powermate USB device working in Ubuntu Saucy Salamander 13.10 amd64. Please bear with me and do the following.
References
- http://screamingroot.org/node/5
- http://www.mp3car.com/input-devices/146252-using-griffin-powermate-in-linux.html
- http://www.bedroomlan.org/projects/evrouter (for evrouter)
- http://tomthegeek.blogspot.com/2007/05/griffin-powermate-working-with-ubuntu.html
- http://ubuntuforums.org/showthread.php?t=1346654&page=3
- https://superuser.com/questions/471253/ubuntu-how-to-run-a-terminal-command-on-boot
HowTo
-
Make a file
/etc/udev/rules.d/10-local.rules
with the content:SUBSYSTEMS=="usb", ATTRS{product}=="Griffin PowerMate", KERNEL=="event?", NAME="input/powermate"
Command-line approach to achieve that:
echo 'SUBSYSTEMS=="usb", ATTRS{product}=="Griffin PowerMate", KERNEL=="event?", NAME="input/powermate"' | sudo tee /etc/udev/rules.d/10-local.rules
-
Create group called
powermate
add yourself and other users to that group.sudo addgroup powermate sudo adduser "$USER" powermate
-
Now create the file
/etc/udev/rules.d/40-permissions-powermate.rules
and add the following:ATTRS{product}=="Griffin PowerMate" GROUP="powermate", MODE="0666"
Command-line approach to achieve that:
echo 'ATTRS{product}=="Griffin PowerMate" GROUP="powermate", MODE="0666"' | sudo tee /etc/udev/rules.d/40-permissions-powermate.rules
Download and install evrouter from http://www.bedroomlan.org/projects/evrouter or use the repository at http://www.bedroomlan.org/bedroomlan-debian-repository.
-
Create
/etc/evrouterrc
or$HOME/.evrouterrc
(I prefer/etc/evrouterrc
) with the following content:Window "" "Griffin PowerMate" "" any key/256 "XKey/XF86AudioMute" "Griffin PowerMate" "" any rel/7/1 "XKey/XF86AudioRaiseVolume" "Griffin PowerMate" "" any rel/7/-1 "XKey/XF86AudioLowerVolume"
Command-line approach to achieve that:
sudo tee /etc/evrouterrc > /dev/null <<EOF Window "" "Griffin PowerMate" "" any key/256 "XKey/XF86AudioMute" "Griffin PowerMate" "" any rel/7/1 "XKey/XF86AudioRaiseVolume" "Griffin PowerMate" "" any rel/7/-1 "XKey/XF86AudioLowerVolume" EOF
-
Find out the powermate input event number (in mine it is event7), by running the following command.:
sudo evrouter /dev/input/*
In the long output, you should see a line like the following
device 0: /dev/input/event7: Griffin PowerMate
-
Create an executable file
/usr/local/bin/powermate
with the content:#!/bin/sh exec evrouter -c /etc/evrouterrc /dev/input/event7
Command-line approach to achieve that:
sudo tee /usr/local/bin/powermate > /dev/null <<EOF #!/bin/sh exec evrouter -c /etc/evrouterrc /dev/input/event7 EOF sudo chmod a+x /usr/local/bin/powermate
-
If you are a lazy guy like me and would like it to auto-run at start-up, you can do so by adding the script file to
/etc/rc.local
or any such other:sudo sed -i -e '/exit 0/i /usr/local/bin/powermate' /etc/rc.local
Try it and see. Best of luck. I love it now. Hopefully you folks can get it working it too.
I made my own program to interface with the Powermate. It requires pulseaudio (the default in Ubuntu), it changes the volume when the knob is turned and you can mute by pressing down the knob. The blue light changes to reflect the current volume.
You can find it here: https://launchpad.net/~stefansundin/+archive/ubuntu/powermate
Install with:
sudo add-apt-repository ppa:stefansundin/powermate
sudo apt-get update
sudo apt-get install powermate
If you have the device plugged in already, unplug it and then plug it back in! Then run powermate
in a terminal. An autostart entry has been added so this should happen automatically on your next login.
Hold down the knob for one second to activate "movie mode". Operation is the same except the LED stays off.