GLUT NOTE: The GLUT API version 2 & 3 X11 implementations support the SGI Dials and Buttons, SGI Spaceball, and SGI Tablet via the X Input extension. These devices are advertised as described below. If other vendors advertise these X Input extension devices differently, GLUT's X implementation will need to be extended to properly support such differently advertised devices. X Input Extension Devices as Advertised by Silicon Graphics Mark Kilgard February 13, 1995 $Revision: 1.2 $ This document describes how Silicon Graphics Inc. (SGI) advertises its support for input devices through the X Input extension. Because the X Input extension only provides mechanism for supporting additional X input devices, vendors may support the same or similar devices in slightly different ways making it difficult for programs to count on how a given input device will be supported across vendors. The intent of this document is not to propose any standard way of supporting specific X Input extension devices, but merely to thoroughly describe SGI's X Input support for the benefit of X Input programmers and other X Input extension implementors wishing to mimic SGI's X Input support to avoid needless incompatibility for otherwise standard and common input devices. The client queriable state returned by the X Input extension is not enough to effectively use X Input extension devices. The physical layout of how the dials, axes, buttons, etc. are laid out is not queriable. Effective use of the extension requires knowledge of the physical layout of the devices. Diagrams are provided to show the actual layout. Comments and corrections should be sent to Mark Kilgard (Please note that I no longer work at Silicon Graphics. Try contacting Peter Daifuku | The tablet puck buttons. | | | <2> <4> | | | | <3> | \ / +-----+ Device manufacturer: Hitachi SGI Virtual Pointer: Device type: VIRTUAL_POINTER Device name: virtual_pointer Classes: 2 ButtonClass Number buttons: 5 ValuatorClass Device mode: Absolute Number axes: 2 Axis 1 Minimum value: 0 Maximum value: 1280 Resolution: 200 Axis 2 Minimum value: 0 Maximum value: 1024 Resolution: 200 Physical layout: n/a Device manufacturer: n/a Notes: The virtual_pointer allows multiple physical devices to "push" a single logical pointer. The virtual pointer is an SGI feature. SGI Mouse: Device type: MOUSE Device name: mouse Classes: 2 ButtonClass Number buttons: 3 ValuatorClass Device mode: Absolute Number axes: 2 Axis 1 Minimum value: 0 Maximum value: 65000 Resolution: 200 Axis 2 Minimum value: 0 Maximum value: 65000 Resolution: 200 Physical layout: +-------------+ | | | [1] [2] [3] | <--- Buttons on mouse w/ button numbers. | | | | | | | | +-------------+ Axis 1 is for mouse motion in X axis (left & right) Axis 2 is for mouse motion in Y axis (top & bottom) Device manufacturer: SGI