aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/defaultsettings.cpp2
-rw-r--r--src/game.cpp22
2 files changed, 24 insertions, 0 deletions
diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp
index f11b0b2d7..e2ace0fe2 100644
--- a/src/defaultsettings.cpp
+++ b/src/defaultsettings.cpp
@@ -40,6 +40,8 @@ void set_default_settings()
g_settings.setDefault("keymap_inventory", "KEY_KEY_I");
g_settings.setDefault("keymap_chat", "KEY_KEY_T");
g_settings.setDefault("keymap_rangeselect", "KEY_KEY_R");
+ g_settings.setDefault("keymap_freemove", "KEY_KEY_K");
+ g_settings.setDefault("keymap_fastmove", "KEY_KEY_J");
// Some (temporary) keys for debugging
g_settings.setDefault("keymap_special1", "KEY_KEY_E");
g_settings.setDefault("keymap_print_debug_stacks", "KEY_KEY_P");
diff --git a/src/game.cpp b/src/game.cpp
index 603a86da3..7970a6ed9 100644
--- a/src/game.cpp
+++ b/src/game.cpp
@@ -1147,6 +1147,28 @@ void the_game(
&g_menumgr, dest,
L""))->drop();
}
+ else if(input->wasKeyDown(getKeySetting("keymap_freemove")))
+ {
+ if(g_settings.getBool("free_move"))
+ {
+ g_settings.set("free_move","false");
+ }
+ else
+ {
+ g_settings.set("free_move","true");
+ }
+ }
+ else if(input->wasKeyDown(getKeySetting("keymap_fastmove")))
+ {
+ if(g_settings.getBool("fast_move"))
+ {
+ g_settings.set("fast_move","false");
+ }
+ else
+ {
+ g_settings.set("fast_move","true");
+ }
+ }
// Item selection with mouse wheel
{