diff options
Diffstat (limited to 'src/client')
-rw-r--r-- | src/client/input.cc | 5 | ||||
-rw-r--r-- | src/client/video.cc | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/src/client/input.cc b/src/client/input.cc index d483f5d..f9acce0 100644 --- a/src/client/input.cc +++ b/src/client/input.cc @@ -32,6 +32,7 @@ core::Cvar *input_mousecontrol = 0; core::Cvar *input_keydelay = 0; core::Cvar *input_keyrepeat = 0; core::Cvar *input_mousedelay = 0; +core::Cvar *input_grab = 0; namespace input { @@ -274,6 +275,10 @@ void init() input_mousedelay = core::Cvar::get("input_mousedelay", 150.0f, core::Cvar::Archive); input_mousedelay->set_info("[int] mouse click time-out in milliseconds"); + + input_grab = core::Cvar::get("input_grab", 1.0f, core::Cvar::Archive); + input_grab->set_info("[bool] grab input"); + core::Func *func = 0; func = core::Func::add("ui_control", func_ui_control); diff --git a/src/client/video.cc b/src/client/video.cc index aa7ca9e..5610f36 100644 --- a/src/client/video.cc +++ b/src/client/video.cc @@ -187,7 +187,8 @@ bool init() ui::root()->event_resize(); // to grab or not to grab - if (ui::console()->visible()) { + core::Cvar *input_grab = core::Cvar::find("input_grab"); + if (ui::console()->visible() || (input_grab && input_grab->value())) { SDL_WM_GrabInput(SDL_GRAB_OFF); SDL_ShowCursor(SDL_ENABLE); } else { |