diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp index e57157a82..8ae5694e5 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 eef27c805..09f06f4f6 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -1190,6 +1190,32 @@ 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"); + chat_lines.push_back(ChatLine(L"free_move disabled")); + } + else + { + g_settings.set("free_move","true"); + chat_lines.push_back(ChatLine(L"free_move enabled")); + } + } + else if(input->wasKeyDown(getKeySetting("keymap_fastmove"))) + { + if(g_settings.getBool("fast_move")) + { + g_settings.set("fast_move","false"); + chat_lines.push_back(ChatLine(L"fast_move disabled")); + } + else + { + g_settings.set("fast_move","true"); + chat_lines.push_back(ChatLine(L"fast_move enabled")); + } + } // Item selection with mouse wheel {