diff options
Diffstat (limited to 'src/client/input.cc')
-rw-r--r-- | src/client/input.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/client/input.cc b/src/client/input.cc index 9cb48a1..dcddea3 100644 --- a/src/client/input.cc +++ b/src/client/input.cc @@ -133,7 +133,7 @@ void func_ui_control(std::string const &args) void func_view_next(std::string const &args) { - if (core::application()->connected() && core::localcontrol()) { + if (!core::localplayer()->view() && core::application()->connected() && core::localcontrol()) { render::Camera::view_next(); local_roll = 0; local_pitch = 0; @@ -144,7 +144,7 @@ void func_view_next(std::string const &args) void func_view_prev(std::string const &args) { - if (core::application()->connected() && core::localcontrol()) { + if (!core::localplayer()->view() && core::application()->connected() && core::localcontrol()) { render::Camera::view_previous(); local_roll = 0; local_pitch = 0; @@ -511,7 +511,7 @@ void key_pressed(Key *key) if (ui::root()->input_key(true, Keyboard::translate_keysym(key->sym(), keyboard_modifiers), keyboard_modifiers)) { return; - } else if (core::application()->connected() && core::localcontrol()) { + } else if (!core::localplayer()->view() && core::application()->connected() && core::localcontrol()) { char c = key->bind(convert_SDL_modifier(keyboard_modifiers)).c_str()[0]; if (c == '@') { @@ -529,7 +529,7 @@ void key_pressed(Key *key) } else if (core::application()->connected()) { char c = key->bind(convert_SDL_modifier(keyboard_modifiers)).c_str()[0]; - if (c && c != '+') { + if (c && c != '+' && c != '@') { // normal bind core::cmd() << key->bind(convert_SDL_modifier(keyboard_modifiers)) << "\n"; } |