XWand is a program that allows you to use an input device such as a wand to start, stop, and manipulate any application written to work in XWindows. XWand works by using The Diverse Toolkit(DTK) to obtain input from devices in an immersive environment. This immersive environment could be an iDesk or Cave. It works by using XTest extensions in conjunction with input from DTK.
XWAND is free (GNU)
GPL) software,
consisting of Application Programming Interfaces (APIs) and a
collection of utility and example programs. It runs on GNU/Linux and
IRIX systems. A short essay on the
Benefits
of Open Source software.
NOTE: XWand requires DTK to run.
Download XWand 1.0In addition to just the XWand program there is also an XWand DSO that--when loaded into a DPF application--will stop the navigation for the current running application when the user defined program is started. The DSO will start navigation when the user defined application is stopped.
XWand works by listening for trigger button(s) to be pressed. You can use a config file to define what button(s) need to be pressed, what application to start (you can specify arguments to the application also).
Example configuration file w/ documentation #This is a sample xwand config file written by Andrew A. Ray #This is the path to the dpf dso's, dtk dso's, and sharedmemory segments PATH /usr/local/diverse/encap/dpf-2.1.0/etc/dpf_DSOs/n32:/usr/local/diverse/encap/dtk-2.1.0/etc/dtk/augmentDSO:/tmp/dtkSharedMem #This is the trigger button that will start and stop the gui #In this example 0 and 3 are required to be pressed at the same #time to activate/deactivate xwand TRIGGERBUTTON 0 3 #What display do you want xwand to manipulate your mouse on #Make sure you DISPLAY environment variable is set to the same #data value otherwise xwand will not function as you expected it to DISPLAY :0.1 #Is the application you want to start in the current directory or not #1 stands for yes, 0 stands for no IN_CURRENT_DIR 0 #This command tells xwand what to do with button input #after the gui is started #In this example button 0 is click, button 1 is press, button 2 is release #These are the currently the only supported actions, and they can be put #in any order that you wish, say release click press WHENPRESSED click press release #This is the segment that has data from the joystick fed into it JOYSEGMENT joystick #This is the segment that has data from the buttons fed into it BUTTONSEGMENT buttons #This is the application to start when the trigger button(s) are pressed #You can put up to 10 arguments after the program name and they will #be passed to the program when it is started STARTAPP xlogo
Developed by Andrew A. Ray (anray2@vt.edu) with help from John Kelso, Ron Kriz, and Lance Arsenault.
Special thanks goes to Robert Stein for the X server control interface!