(bought on ebay for $50 including shipping)
Linux 64-bit (Gentoo)
The Interlink Elite is recognized by Linux as a joystick with 6 analog channels/axes and 5 buttons.
Code: Select all
$ java -version openjdk version "1.8.0_222" OpenJDK Runtime Environment (IcedTea 3.13.0) (Gentoo icedtea-3.13.0) OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)
It works wonderfully with heli-x. It's fantastic compared to my old 72MHz transmitter with a wall-wart power cable, an FMS serial cable, and a USB-serial adapter cable, and also a lot better than the cheap $15 USB controller I bought a couple years ago and tossed in the trash.
The toggle switches and red "reset" button show up as buttons. The three-position toggle shows up as two buttons. [I map the red "reset" button to "reload model" in the heli-x controller config.]
The five momentary, three-position slide switches for trim and menu up/down map to distinct momentary values on the 6th channel/axis. [Yes, that seems like an odd decision.]
The white oval menu select/cancel buttons don't appear to be recognized by the Linux input subsystem.
By default the Linux joystick layer will configure the 6 analog channels/axes with some center "flat" spots (deadband) and some "fuzz" (ignore small changes). I prefer to disable the deadband and fuzz completely with a command like this:
That will cause all 6 analog channels to output raw values from 0-255 with no dead spots or filtering. The heli-x controller calibration and curves can then be applied as desired.
Code: Select all
jscal -s 6,0,0,0,0,0,0,0,0,0,0,0,0 /dev/input/js0
There doesn't appear to be any way to utilize the momentary slide switches (that show up as various values on channel 6) without a bit of hacking. I'm thinking about writing a "shim" application that reads events from /dev/input/event12 and after a bit of manipulation writes them to /dev/uinput. There would be then be two joystick devices: the "raw" one direct from the Interlink and a "processed" one based on the output from the shim application. The shim would intercept the channel 6 trim/menu presses, accumulate the trim switch presses and apply offsets to the 4 "stick" channels. I'm not sure what I'd do with the menu up/down switches — perhaps translate them to up/down arrow keys? I was also thinking about implementing switchable dual rates or exponential curves in the shim.