Add queries for all of the other joystick parameters that are available in glut* functions in joystick.c.
Change the ogWarning() calls to silently set a queryable gleandev error-condition so that you can do something like gleandevGeti (GLEAN_GET_ERROR). There's really no need for this function to print anything.
The old GLUT API for joysticks used timer-based pseudo-events. But ultimately, GLUT would poll the hardware for joystick events. A preferable API would perhaps have been to define functions to allow the application to poll the joystick, and let the application use GLUT timers scheduling the pseudo events, if timer-based checks are desired.
freeglut defined, but did not originally implement an extended API for pollinng the hardware. The definition was informal, in the form of stubbed out functions at the bottom of joystick.c. In 2004, John Fay re-implemented the freeglut joystick support, and added support for these stubbed functions.
OpenGLEAN inherited both of these API forms indirectly through OpenGLUT. OpenGLEAN had intended to expose and support these functions in a separate joystick-only library. In response to what seemed a consensus amongst freeglut developers to move forward with exporting that API, OpenGLEAN opted to expose the same API in order to avoid a compatibilit gap. After a month or two of discussion, but before any release from freeglut with this feature, OpenGLEAN finally added the functions---and literally on the same day, the freeglut project leader turned freeglut away from exporting the API.
On the one hand, this has resulted in OpenGLEAN adding under-designed features that freeglut seemed to want to include. On the other hand, now that freeglut is backing away from their API extension, and gleandev in a very experimental state, gleandev has revised the joystick API substantially.
The old GLUT API is still available in the OpenGLEAN core library as of this writing---and will remain so up through OpenGLEAN 1.0. But a more flexible API is now provided in gleandev.
The new API is two-pronged: One side is a revised set of functions (due to be renamed to avoid historic conflict with freeglut); these form a small constellation of joystick-related functions. The other side is a gleandevGet*() suite of functions, after the style of glGet*(), and likewise a gleandevSet*(). The latter part is more in keeping with OpenGL and the GLUT approach, so will probably be used in preference to the former---though a way to read multiple joystick axes at once (and perhaps support for arrays for reading multiple joystick buttons, rather than bitmasks) may be added.
See the Deprecated API Features section.
Supported in part by SourceForge.net.
Generated on Fri Sep 9 18:01:32 2005 for gleandev by
The OpenGLEAN project is hosted in part by SourceForge.