Some thoughts on making SpaceNavigator work in Linux
Woolgathering:
- Device is sensed as a "Multi-Axis Controller". It is quite probable
that a small driver module could attach itself as a handler and pass the SN
off to the joydev module for seamless joystick usage.
- Would it need to be a module? Eventually... yes. For now, it could be
a small program launched as a daemon to act as a proxy to and from the SN and
the JSx device. I'd like to be able to sense all axis inputs, and ALSO toggle
the base LED on and off. Of course, since few joysticks have das
blinkenlights, that part could quite possibly be non-standard. blech. What
if I researched how to send data to joystick as if it were a force-feedback
capable device? that's a standard. pretty much. right?
- "Multi-Axis Controller"... Posted on the web was a short writeup that
noted that the device ID blocks for a joystick and a multi-axis controller
differed in only a byte or two, or even just a few bits. Tinkering with the
SN and a Joystick (JS) show very similar output data too. But I'd have to
catch the SN BEFORE the evdev and input modules did. Probably not
happening. Besides, that's working too hard and digging too deep to make this
work. Items 1 & 2 above should work well.
I'm leaning towards a small daemon that attaches to the event device, and
proxies the data to and from a js device. This would be very unobtrusive and
require little to no changing of other parts of the system. (talking 'bout
you.. Mr. Module!) Would lend itself to being a nice RPM file, a
tar.gz/tar.bz2 and a comfy 'configure/make/make install' type setup. Also
allow easy tweaking of config items, since we'll likely need to scale the SN
motions somehow too. It returns larger values the further it's twisted,
pushed and lifted. (Controlling the blue LED is a 'gotta have' thing though.
I really don't need another 'glowie LED' on my desk, I've taken to putting
dark fingernail polish on the annoyingly bright ones lately)