griffin powermate

From thelinuxwiki
Jump to: navigation, search

use griffin powermate on linux X11 to control volume


configuring the kernel and hotplug

This guide is for gentoo. If using another distro, it is likely your kernel has powermate support built in and you might be able to skip the kernel config.

kernel config (2.6.21 and newer)

Device Drivers  --->
   Input device support  --->       
       [*] Miscellaneous devices  --->
            <M> Griffin PowerMate and Contour Jog support 

compile and install the kernel


create /etc/udev/rules.d/45-powermate.rules

SUBSYSTEM=="input", ATTRS{idVendor}=="077d", ATTRS{idProduct}=="0410", SYMLINK+="powermate", MODE="660", GROUP="users"

After configuring the udev rules, unplug and then plug in your powermate. Run dmesg and look for lines similar to below

Sep  1 13:58:37 localhost kernel: usb 2-1.1: Product: Griffin PowerMate
Sep  1 13:58:37 localhost kernel: input: Griffin PowerMate as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1:1.0/input/input18

Checking the device file

udev should create a /dev/powermate device file. Check to see if it exists.

# ls /dev/powermate
/dev/powermate@

If you move your powermate, you should see weird characters on the screen.

# cat /dev/powermate
æø%Rä
    ÿÿÿÿæø%Rä
æø%RhPÿÿÿÿæø%RhPçø%RóSçø%RóSçø%Rfçø%Rfçø%R´¥çø%R´¥

If you get output similar to the above... then your powermate kernel driver is working and the device is being properly recognized and setup for use.

followed portions of this guide

      • note *** gizmod appears to no longer be maintained.

at this point, /dev/powermate is created and working check by cat /dev/powermate and rotating wheel on the powermate

configuring evrouter

1. install evrouter & xmodmap

# emerge -av --quiet sys-apps/evrouter x11-apps/xmodmap

2. Run evrouter dump to gather config lines

Here I ran the command below then I operated by powermate wheel. First, I rotated the wheel counter-clockwise, then clockwise, then a wheel press down. You should receive output similar to below.

$ evrouter -d /dev/powermate                                                                              ~
device  0: /dev/powermate: Griffin PowerMate
Display name: :0

Window "jsmith : evrouter ? Konsole": # Window title # Window "konsole": # Resource name # Window "Konsole": # Class name "Griffin PowerMate" "/dev/powermate" none rel/7/-1 "fill this in!" . . "Griffin PowerMate" "/dev/powermate" none rel/7/-1 "fill this in!" . . "Griffin PowerMate" "/dev/powermate" none key/256 "fill this in!"

3. Get your xkey names

$ xmodmap -pk|grep -i -E "volume|mute"                                                                        ~
   121         0x1008ff12 (XF86AudioMute)      0x0000 (NoSymbol)       0x1008ff12 (XF86AudioMute)
   122         0x1008ff11 (XF86AudioLowerVolume)       0x0000 (NoSymbol)       0x1008ff11 (XF86AudioLowerVolume)
   123         0x1008ff13 (XF86AudioRaiseVolume)       0x0000 (NoSymbol)       0x1008ff13 (XF86AudioRaiseVolume)
   198         0x1008ffb2 (XF86AudioMicMute)   0x0000 (NoSymbol)       0x1008ffb2 (XF86AudioMicMute)

The 1st and 3rd fields between paranthesis are the XKey names.

4. Configure .evrouterrc

Next, we combine the output from the previous 2 steps into our .evrouterrc configuration file. We do this by copying and pasting the lines from step 2 into the config. Then, where it say "fill this in!", we do as specified and replace the text there with the name of the desirec xkey names as output by xmodmap in step 3.

add these 3 lines to .evrouterrc in your home directory

"Griffin PowerMate" "/dev/powermate" none rel/7/-1 "XKey/XF86AudioLowerVolume"
"Griffin PowerMate" "/dev/powermate" none rel/7/1 "XKey/XF86AudioRaiseVolume"
"Griffin PowerMate" "/dev/powermate" none key/256 "Xkey/XF86AudioMute"

5. Test

$ evrouter -f /dev/powermate -c /home/jsmith/.evrouterrc                                                     ~
device  0: /dev/powermate: Griffin PowerMate
Display name: :0
Parsed 3 rules, 216 bytes

at this point, if you get no errors... your Powermate wheel should work to control volume up/down and mute.

6. Set evrouter to autostart with X or kde...

to be continued...