Input devices for 3d virtual environments
- the Spaceball under Linux

by Jörn Nettingsmeier
submitted as term paper for the summer 2003 seminar
"Modellierungssprachen der VR" (Virtual Reality modelling languages),
held by Prof. Dr. Wolfram Luther
at Universität Duisburg-Essen, Dept. of Computer Science.


The following report discusses the shortcomings of traditional 2D input devices in VR environments and their extension into 6D as implemented by the LabTec Spaceball(tm).
An overview of usable open-source VR applications for the Linux operating system is given, along with a brief outline on driver implementation issues. Step-by-step installation guides are provided for selected applications (FreeWRL, a free VRML2.0/X3D browser, and white_dune, a free VRML authoring environment with immersive interface).

Revision History, URL:

The latest version of this document can be found at

Copyright, Credits:

(c) Copyleft 2003 Jörn Nettingsmeier <>.
This document may be freely copied, modified and re-distributed. I would welcome credit if this paper is useful to you, and ask that you do not distribute modified versions with my name on without clearly indicating all changes.
I take no responsibility if the information given is inaccurate or plain wrong and eats your hardware or damages your data. Corrections are welcome.

Thanks to Dipl.-Math. Daniel Biella for priming me on the subject and sharing his VRML experience!

This document uses correct XHTML 1.0 with CSS/2, and so should everyone. Browsers that can render it correctly are Mozilla 1.2+ or, if you must, IE5.5+.

Table of contents:

  1. 2D vs. 6D input devices
    1. Concepts
      1. Translation, rotation, degrees of freedom
      2. The VRML and mouse coordinate systems
      3. Modes of user interaction in VRML
    2. What's wrong with mice ?
      1. A real-life use case
      2. Mapping 6D to mice
    3. Solution: real 6D control - the Spaceball(tm)
      1. Hardware
      2. Motion mapping
  2. Using the spaceball with Linux
    1. Why bother with Linux ?
    2. Getting the hardware to run
      1. Hardware issues
      2. Existing drivers and libraries
      3. Installation
    3. Open-Source VR Applications for Linux
      1. libsball
      2. FreeWRL, a VRML97/X3D Browser
      3. 2.3.3 FreeWRLduneInputDevice, a spaceball backend for FreeWRL
      4. White_dune, an immersive VRML IDE
  3. Conclusion
  4. Bibliography/further reading