How do I use key combinations on an axis on a joystick in xorg?
- by valadil
I'm using xserver-xorg-input-joystick on Debian Stable so I can use a joystick in place of the mouse. I have mouse movement working correctly, but got stuck trying to add functions for some other keys.
These work:
#Left stick
#Pointer
Option "MapAxis1" "mode=relative axis=1.5x"
Option "MapAxis2" "mode=relative axis=1.5y"
#Right stick
#Arrow keys
Option "MapAxis4" "mode=relative keylow=Left keyhigh=Right"
Option "MapAxis5" "mode=relative keylow=Up keyhigh=Down"
But when I try to make key combos (so I can navigate windows and screens in xmonad) I have no luck.
#dpad
#xmonad focus
#up/down toggle window. l/r choose screen.
Option "MapAxis8" "mode=relative keylow=Super_L,k keyhigh=Super_L,j"
Option "MapAxis7" "mode=relative keylow=Super_L,w keyhigh=Super_L,e"
I've also tried Super_R, plain old Super, Meta, and mod4mask, and anything else I can think of. These buttons print the letter, but don't appear to hold down the modifying key. The exception to that is shift. If I specify Shift_L or Shift_R, I get a capital letter.
xev indicates that modifier keys are being pressed. If I lower Axis8, I get press Super_L, press k, release k, release Super_L. That looks like it should be working. Maybe this is an xmonad problem and not a joystick driver one?
I'm also having trouble with getting an axis to use other XF86 keys:
# triggers
# song selection
Option "MapAxis3" "mode=relative keylow=none keyhigh=XF86AudioForward"
Option "MapAxis6" "mode=relative keylow=none keyhigh=XF86AudioBack"
That does nothing. Any idea why?
If it turns out that this isn't something I can do on an axis, but would work with a button, is there a way to treat my joysticks as buttons?
Also, if anyone has suggestions for the other 5 buttons I'll have left after mouse buttons are bound, I'm listening.