#include <X11/Xlib.h>
-extern int sball_initialized;
+extern int fg_sball_initialized;
enum {
SPNAV_EVENT_ANY, /* used by spnav_remove_events() */
{
Window w;
- sball_initialized = 1;
+ fg_sball_initialized = 1;
if(!fgStructure.CurrentWindow)
{
- sball_initialized = -1;
+ fg_sball_initialized = -1;
return;
}
w = fgStructure.CurrentWindow->Window.Handle;
if(spnav_x11_open(fgDisplay.pDisplay.Display, w) == -1)
{
- sball_initialized = -1;
+ fg_sball_initialized = -1;
return;
}
}
fgSpaceballSetWindow(fgStructure.CurrentWindow);
}
- if(sball_initialized != 1) {
+ if(fg_sball_initialized != 1) {
return 0;
}
{
spnav_event sev;
- if(sball_initialized == 0) {
+ if(fg_sball_initialized == 0) {
fgInitialiseSpaceball();
- if(sball_initialized != 1) {
+ if(fg_sball_initialized != 1) {
return;
}
}
break;
case SPNAV_EVENT_BUTTON:
- INVOKE_WCB(*spnav_win, SpaceButton, (sev.button.bnum, sev.button.press ? GLUT_DOWN : GLUT_UP));
+ /* button numbers are 1-based in glutSpaceballButtonFunc */
+ INVOKE_WCB(*spnav_win, SpaceButton, (sev.button.bnum + 1, sev.button.press ? GLUT_DOWN : GLUT_UP));
break;
default:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-
-#ifdef HAVE_ERRNO_H
#include <errno.h>
-#endif
#include <X11/Xlib.h>
#include <X11/Xutil.h>