deskconf calibrates tracking for a 1-wall (desk) Cave. You can find a gzipped tarred source + CAVElib-2.6-binary package at http://www.ncsa.uiuc.edu/VR/Apps/deskconf.tar.gz.

It prompts for environmental information, invites the user to hold the wand's sensor blob to various points on the screen, and then writes (to standard output) appropriate CAVE configuration commands, suitable for inclusion in e.g. /usr/local/CAVE/etc/cave.config. The only text written to stdout (as opposed to stderr) is valid CAVE config commands, so you could test by invoking as


  deskconf >> .caverc; cavevars
It does write both ProjectionCorners and 2.6's new ProjectionData directives, so the config should work with both kinds of apps.

This version has been tried with CAVElibs 2.5.6 and 2.6. It uses some internal CAVE functions to get the wall name, and to get hold of the library's X display pointer so that it can open X fonts. Both of these internal functions changed between 2.5.6 and 2.6, and may presumably change again. If it breaks, look for code around the #pragma weak statements in the source.

If the tracker's output doesn't appear to be in feet, we emit a non-unit CaveTransmitterRotationMatrix (which scales as well as rotates) to compensate. I don't know whether this is a good idea, but haven't found any bad effects so far.

There's not much provision for internal consistency checking, just:

Stuart Levy, NCSA, slevy@ncsa.uiuc.edu, Nov 1997.