It's not simple. It uses the USB/IP project to create an emulated SpacePilot Pro that receives its data from the SpaceBall via a python script. (Except that the SpaceBall only has 13 buttons, instead of the 15 of the SpacePilot, and there are no LEDs.)
Step 1: Install the USB/IP driver.
Unfortunately, currently the USB/IP project's last signed Windows driver release has a buggy driver that causes a blue screen crash whenever a device is disconnected (including when you log out or reboot with a device running). But it is a signed driver, which makes this much more convenient to install. If you can live with the limitations and use the signed USB/IP driver, download it from here: https://sourceforge.net/projects/usbip/ ... p_windows/
If you want to use the unsigned USB/IP driver, download it from here: https://sourceforge.net/p/usbip/discuss ... /86c5e473/ . You'll need to put your Win 8/10 system in TESTSIGNING mode, which may also require turning off secure boot on your device. I am using the unsigned driver.
Unzip the zip file. Start the device manager on Windows (e.g., type devmgmt.msc into the Windows search bar). Go to Action | Add legacy hardware | Next | Install ... manually select | Next | Show all devices | Next | Have Disk | Browse. Then find your USBIPEnum.inf and choose Open.
Step 2: Make sure you have Python 2.7 installed and in your path. https://www.python.org/downloads/
Step 3: Install the PySerial package:
Code: Select all
python -m pip install pyserial
Step 5: Plug in your SpaceBall 4000 via the serial adapter. It should beep twice.
Step 6: Identify its serial port, e.g., COM26. You can do that with the device manager or by running
Code: Select all
python 3d.py -l
Step 7: Install 3dxware 10.
Step 8: Start up the SpaceBall emulation driver:
Code: Select all
python 3d.py -pCOMxx
Press ctrl-c or ctrl-break when you want to exit (but you'll get the BSOD if you're using the signed driver).
My, this is complicated! But it works. It would be simpler if there were a signed USB/IP driver that doesn't crash.
The 3d.py has a few commandline options (to list them: python 3d.py -h). You can set a maximum deviation (might be useful: things get weird if you press too hard with the default settings), you can turn on cubic sensitivity mode, and instead of emulating a SpacePilot Pro, you can emulate a 6-axis HID joystick with lots of buttons for gaming.