X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fx11%2Ffg_spaceball_x11.c;h=155d24b12a3800dade72262419c811c87496fafc;hb=HEAD;hp=e6eabb2f146ab2e13b0db49cffc8bc90d25f3828;hpb=34617b0203c6a98039588e84b801aec805963610;p=freeglut diff --git a/src/x11/fg_spaceball_x11.c b/src/x11/fg_spaceball_x11.c index e6eabb2..155d24b 100644 --- a/src/x11/fg_spaceball_x11.c +++ b/src/x11/fg_spaceball_x11.c @@ -14,7 +14,7 @@ #include -extern int sball_initialized; +extern int fg_sball_initialized; enum { SPNAV_EVENT_ANY, /* used by spnav_remove_events() */ @@ -56,17 +56,17 @@ void fgPlatformInitializeSpaceball(void) { 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; } } @@ -105,7 +105,7 @@ int fgIsSpaceballXEvent(const XEvent *xev) fgSpaceballSetWindow(fgStructure.CurrentWindow); } - if(sball_initialized != 1) { + if(fg_sball_initialized != 1) { return 0; } @@ -116,9 +116,9 @@ void fgSpaceballHandleXEvent(const XEvent *xev) { spnav_event sev; - if(sball_initialized == 0) { + if(fg_sball_initialized == 0) { fgInitialiseSpaceball(); - if(sball_initialized != 1) { + if(fg_sball_initialized != 1) { return; } } @@ -136,7 +136,8 @@ void fgSpaceballHandleXEvent(const XEvent *xev) 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: