Joystick XOP

This XOP allows Igor to read and control the inputs and outputs from and to a force feedback joystick. These are relatively inexpensive consumer devices used mainly for playing games, I presume, but can be useful elsewhere (atomic force microscopy?), as they are for my purposes, where a monkey uses the joystick. In general, the idea is to provide a haptic interface within Igor. Of course, there may be a market for Igor gaming. :-)

This code was developed with the Logitech Force 3D Pro joystick in Visual C++ 8 on a Windows XP machine. I think it will work on other Windows machines with other force feedback joysticks, but it hasn't been tested. Please let me know if you try other things and it either works or doesn't.

Included is an Igor help file, and an experiment that demonstrates the functionality. The XOP adds 7 external functions to Igor, though in future versions I'll probably convert some of these functions to operations. Functions are included that read the joystick positions and button presses, and one function permits the user to control the force feedback capabilities, either producing vibrations or constant forces.

Comments and suggestions should be addressed to Alan Saul (

Project Details

Project Homepage: View Homepage

Current Project Release

Joystick XOP IGOR.6.10.x-0.2

Release File: (457.84 KB)
Version: IGOR.6.10.x-0.2
Version Date:
Version Major: 0
Version Patch Level: 2
OS Compatibility: Windows
Release Notes: This minor update fixes a relatively major issue. The previous version would fail if the user switched out of the Igor application. This version should continue to run if Igor is running in the background.

Please send bug reports to Alan Saul via
View All Releases




Igor Pro 9

Learn More

Igor XOP Toolkit

Learn More

Igor NIDAQ Tools MX

Learn More