diff options
author | Bjørn Lindeijer <bjorn@lindeijer.nl> | 2009-02-15 18:29:15 +0100 |
---|---|---|
committer | Bjørn Lindeijer <bjorn@lindeijer.nl> | 2009-02-15 18:29:15 +0100 |
commit | 83bbc5cc3afeea0f0b248cd755e1011f4760a298 (patch) | |
tree | 1207131c234ad7c5ae6a5849d1d5d53de45b1b0b /src/game.cpp | |
parent | 7b3b60f86c545e0c5b6b8cb1ab7b1cbbf22d5e02 (diff) | |
parent | 38708de52f00689088eda29f9b6ee257ce7038ad (diff) | |
download | mana-83bbc5cc3afeea0f0b248cd755e1011f4760a298.tar.gz mana-83bbc5cc3afeea0f0b248cd755e1011f4760a298.tar.bz2 mana-83bbc5cc3afeea0f0b248cd755e1011f4760a298.tar.xz mana-83bbc5cc3afeea0f0b248cd755e1011f4760a298.zip |
Merge commit 'aethyra/master'
Conflicts:
CMakeLists.txt
configure.ac
data/help/header.txt
packaging/windows/setup.nsi
po/POTFILES.in
src/being.cpp
src/being.h
src/game.cpp
src/gui/color.cpp
src/gui/color.h
src/gui/equipmentwindow.h
src/gui/popupmenu.cpp
src/gui/recorder.cpp
src/gui/setup_colors.h
src/gui/setup_keyboard.cpp
src/gui/setup_keyboard.h
src/gui/skill.cpp
src/gui/speechbubble.cpp
src/gui/speechbubble.h
src/gui/table.cpp
src/keyboardconfig.cpp
src/keyboardconfig.h
src/localplayer.cpp
src/main.cpp
src/main.h
src/map.cpp
src/resources/colordb.cpp
src/resources/colordb.h
src/resources/emotedb.cpp
src/resources/emotedb.h
src/text.cpp
src/text.h
src/tmw.rc
src/winver.h
Diffstat (limited to 'src/game.cpp')
-rw-r--r-- | src/game.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/game.cpp b/src/game.cpp index 5b701fc1..68380f5b 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -527,11 +527,11 @@ void Game::handleInput() done = true; // Close the Browser if opened else if (helpWindow->isVisible() && - keyboard.isKeyActive(keyboard.KEY_TOGGLE_CHAT)) + keyboard.isKeyActive(keyboard.KEY_OK)) helpWindow->setVisible(false); // Close the config window, cancelling changes if opened else if (setupWindow->isVisible() && - keyboard.isKeyActive(keyboard.KEY_TOGGLE_CHAT)) + keyboard.isKeyActive(keyboard.KEY_OK)) setupWindow->action(gcn::ActionEvent(NULL, "cancel")); // Submits the text and proceeds to the next dialog else if (npcStringDialog->isVisible() && @@ -553,7 +553,9 @@ void Game::handleInput() KeyboardConfig::KEY_TOGGLE_CHAT) == keyboard.getKeyValue( KeyboardConfig::KEY_OK) && - (npcStringDialog->isVisible() || + (helpWindow->isVisible() || + setupWindow->isVisible() || + npcStringDialog->isVisible() || npcTextDialog->isVisible() || npcListDialog->isVisible() || npcIntegerDialog->isVisible()))) @@ -794,6 +796,15 @@ void Game::handleInput() // Get the state of the keyboard keys keyboard.refreshActiveKeys(); + // Ignore input if either "ignore" key is pressed + // Stops the character moving about if the user's window manager + // uses "ignore+arrow key" to switch virtual desktops. + if (keyboard.isKeyActive(keyboard.KEY_IGNORE_INPUT_1) || + keyboard.isKeyActive(keyboard.KEY_IGNORE_INPUT_2)) + { + return; + } + const Uint16 x = player_node->mX; const Uint16 y = player_node->mY; unsigned char direction = 0; |