1
0
Fork 0

Allow input systems to be disabled

To avoid trouble when running multiple instances on one machine, disable
e.g. joystick input for second instance by
--prop:bool:/sim/input/no-joystick-input=true

Also allowed:
--prop:bool:/sim/input/no-event-input=true
--prop:bool:/sim/input/no-mouse-input=true
--prop:bool:/sim/input/no-keyboard-input=true
This commit is contained in:
Torsten Dreyer 2014-10-11 20:23:13 +02:00
parent d46aa5114f
commit bca8b75a81

View file

@ -30,6 +30,7 @@
#include <simgear/compiler.h>
#include <Main/fg_props.hxx>
#include "FGMouseInput.hxx"
#include "FGKeyboardInput.hxx"
#include "FGJoystickInput.hxx"
@ -56,11 +57,29 @@
FGInput::FGInput ()
{
set_subsystem( "input-mouse", new FGMouseInput() );
set_subsystem( "input-keyboard", new FGKeyboardInput() );
set_subsystem( "input-joystick", new FGJoystickInput() );
if( fgGetBool("/sim/input/no-mouse-input",false) ) {
SG_LOG(SG_INPUT,SG_ALERT,"Mouse input disabled!");
} else {
set_subsystem( "input-mouse", new FGMouseInput() );
}
if( fgGetBool("/sim/input/no-keyboard-input",false) ) {
SG_LOG(SG_INPUT,SG_ALERT,"Keyboard input disabled!");
} else {
set_subsystem( "input-keyboard", new FGKeyboardInput() );
}
if( fgGetBool("/sim/input/no-joystick-input",false) ) {
SG_LOG(SG_INPUT,SG_ALERT,"Joystick input disabled!");
} else {
set_subsystem( "input-joystick", new FGJoystickInput() );
}
#ifdef INPUTEVENT_CLASS
set_subsystem( "input-event", new INPUTEVENT_CLASS() );
if( fgGetBool("/sim/input/no-event-input",false) ) {
SG_LOG(SG_INPUT,SG_ALERT,"Event input disabled!");
} else {
set_subsystem( "input-event", new INPUTEVENT_CLASS() );
}
#endif
}