X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffreeglut_state.c;h=ff375b9e00411dd4b850f15b9a0a7b3f3514d875;hb=e9a96a71a2feff9da7ccae395c5f316e67af3bd0;hp=4968b476cd03dbf988defc4fa00289ab2aea0cbc;hpb=78d46c63a115e0a868d83f365399864b62a4ea7f;p=freeglut diff --git a/src/freeglut_state.c b/src/freeglut_state.c index 4968b47..ff375b9 100644 --- a/src/freeglut_state.c +++ b/src/freeglut_state.c @@ -540,14 +540,21 @@ int FGAPIENTRY glutDeviceGet( GLenum eWhat ) case GLUT_JOYSTICK_AXES: return glutJoystickGetNumAxes ( 0 ); - case GLUT_HAS_SPACEBALL: case GLUT_HAS_DIAL_AND_BUTTON_BOX: + return fgInputDeviceDetect (); + + case GLUT_NUM_DIALS: + if ( fgState.InputDevsInitialised ) return 8; + return 0; + + case GLUT_NUM_BUTTON_BOX_BUTTONS: + return 0; + + case GLUT_HAS_SPACEBALL: case GLUT_HAS_TABLET: return FALSE; case GLUT_NUM_SPACEBALL_BUTTONS: - case GLUT_NUM_BUTTON_BOX_BUTTONS: - case GLUT_NUM_DIALS: case GLUT_NUM_TABLET_BUTTONS: return 0; @@ -572,7 +579,7 @@ int FGAPIENTRY glutDeviceGet( GLenum eWhat ) int FGAPIENTRY glutGetModifiers( void ) { FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutGetModifiers" ); - if( fgState.Modifiers == 0xffffffff ) + if( fgState.Modifiers == INVALID_MODIFIERS ) { fgWarning( "glutGetModifiers() called outside an input callback" ); return 0;