Figures. The evdev joystick driver already does what I want. Here is what I added to xorg.conf (verboseness is for other who may come across this).
With this config I can give the knob a firm push/release in the general direction I want and get one event. Hold and it auto-repeats, albeit for now a slower than the keyboard. I think there may be a setting for that somewhere. The docs are a little unclear as to what the parameters to axis= really are, but this got me decent repeat without dups when simply pushing the knob naturally. I also could not get the mode=accelerated to provide keystrokes at all. So I'm not sur eif that could have gotten be better repeat speed. The scan codes used are from /usr/share/X11/xkb/keycodes/evdev
Code:
Section "InputDevice"
Identifier "SpaceBall"
Driver "joystick"
Option "Device" "/dev/input/js0"
Option "Path" "/dev/input/js0"
Option "StartMouseEnabled" "False"
#Left/Right
Option "MapAxis1" "mode=relative axis=5x deadzone=390 keylow=113 keyhigh=114"
#Up/Down
Option "MapAxis2" "mode=relative axis=5x deadzone=390 keylow=111 keyhigh=116"
#Enter/Escape
Option "MapAxis3" "mode=relative axis=5x deadzone=390 keylow=9 keyhigh=36"
#Up/Down
Option "MapAxis4" "mode=relative axis=5x deadzone=250 keylow=111 keyhigh=116"
#Right/Left
Option "MapAxis5" "mode=relative axis=5x deadzone=250 keylow=114 keyhigh=113"
#Rewind/Forward
Option "MapAxis6" "mode=relative axis=5x deadzone=350 keylow=176 keyhigh=167"
EndSection
Then I added the SpaceBall as a Core Input Device in the ServerLayout:
Code:
Section "ServerLayout"
Identifier "layout1"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "touchscreen"
InputDevice "SpaceBall" "SendCoreEvents"
Screen 0 "Screen0" 0 0
Option "Xinerama" "0"
EndSection
Bookmarks