#include "input.hxx"
-#if !defined(SG_HAVE_NATIVE_SGI_COMPILERS)
SG_USING_STD(ifstream);
-#endif
SG_USING_STD(string);
SG_USING_STD(vector);
return;
}
- _command = globals->get_commands()->getCommand(_command_name);
- if (_command == 0) {
- SG_LOG(SG_INPUT, SG_ALERT, "Command " << _command_name << " is undefined");
- _arg = 0;
- return;
- }
-
delete _arg;
_arg = new SGPropertyNode;
_setting = 0;
FGBinding::fire () const
{
if (test()) {
+ if (_command == 0)
+ _command = globals->get_commands()->getCommand(_command_name);
if (_command == 0) {
SG_LOG(SG_INPUT, SG_WARN, "No command attached to binding");
} else if (!(*_command)(_arg)) {
// Implementation of FGInput.
////////////////////////////////////////////////////////////////////////
- // From main.cxx
-extern void fgReshape( int width, int height );
-
FGInput::FGInput ()
{
glutPassiveMotionFunc (GLUTmotion);
}
+void
+FGInput::update (double dt)
+{
+ _update_keyboard();
+ _update_joystick();
+ _update_mouse();
+}
+
void
-FGInput::bind ()
+FGInput::suspend ()
{
- // no op
+ // NO-OP
}
void
-FGInput::unbind ()
+FGInput::resume ()
{
- // no op
+ // NO-OP
}
-void
-FGInput::update (double dt)
+bool
+FGInput::is_suspended () const
{
- _update_keyboard();
- _update_joystick();
- _update_mouse();
+ return false;
}
void
FGAutopilot::FG_TC_HEADING_LOCK );
}
return;
- case 256+GLUT_KEY_F8: {// F8 toggles fog ... off fastest nicest...
- const string &fog = fgGetString("/sim/rendering/fog");
- if (fog == "disabled") {
- fgSetString("/sim/rendering/fog", "fastest");
- SG_LOG(SG_INPUT, SG_INFO, "Fog enabled, hint=fastest");
- } else if (fog == "fastest") {
- fgSetString("/sim/rendering/fog", "nicest");
- SG_LOG(SG_INPUT, SG_INFO, "Fog enabled, hint=nicest");
- } else if (fog == "nicest") {
- fgSetString("/sim/rendering/fog", "disabled");
- SG_LOG(SG_INPUT, SG_INFO, "Fog disabled");
- } else {
- fgSetString("/sim/rendering/fog", "disabled");
- SG_LOG(SG_INPUT, SG_ALERT, "Unrecognized fog type "
- << fog << ", changed to 'disabled'");
- }
- return;
- }
- case 256+GLUT_KEY_F10: // F10 toggles menu on and off...
- SG_LOG(SG_INPUT, SG_INFO, "Invoking call back function");
- guiToggleMenu();
- return;
- case 256+GLUT_KEY_F11: // F11 Altitude Dialog.
- SG_LOG(SG_INPUT, SG_INFO, "Invoking Altitude call back function");
- NewAltitude( NULL );
- return;
- case 256+GLUT_KEY_F12: // F12 Heading Dialog...
- SG_LOG(SG_INPUT, SG_INFO, "Invoking Heading call back function");
- NewHeading( NULL );
- return;
}
// END SPECIALS
if (mode.pass_through) {
if (puMouse(b, updown, x, y))
return;
- else if ((current_panel != 0) &&
- current_panel->getVisibility() &&
- current_panel->doMouseAction(b, updown, x, y))
+ else if ((globals->get_current_panel() != 0) &&
+ globals->get_current_panel()->getVisibility() &&
+ globals->get_current_panel()->doMouseAction(b, updown, x, y))
return;
else if (fgHandle3DPanelMouseEvent(b, updown, x, y))
return;
SG_LOG(SG_INPUT, SG_WARN, "Joystick " << i << " not found");
continue;
} else {
-#ifdef FG_PLIB_JOYSTICK_GETNAME
bool found_js = false;
const char * name = js->getName();
SG_LOG(SG_INPUT, SG_INFO, "Looking for bindings for joystick \""
if (found_js)
break;
}
-#endif
}
#ifdef WIN32
JOYCAPS jsCaps ;