X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fsupertux%2Fmenu%2Fkeyboard_menu.cpp;h=e1c4d28da3c6beade374ad58c23a9f5c3056ce8e;hb=d041b64d9d853852bf66b5a194c5beaf7e6fe611;hp=a34b97428d642e876c406380ede2c8c988d30e2f;hpb=24fc5a4c6959f07a6925dd2ab1af3da7fd982007;p=supertux.git diff --git a/src/supertux/menu/keyboard_menu.cpp b/src/supertux/menu/keyboard_menu.cpp index a34b97428..e1c4d28da 100644 --- a/src/supertux/menu/keyboard_menu.cpp +++ b/src/supertux/menu/keyboard_menu.cpp @@ -1,6 +1,6 @@ // SuperTux // Copyright (C) 2006 Matthias Braun , -// 2007 Ingo Ruhnke +// 2007 Ingo Ruhnke // // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -17,11 +17,13 @@ #include "supertux/menu/keyboard_menu.hpp" -#include "util/gettext.hpp" +#include "control/keyboard_manager.hpp" #include "supertux/gameconfig.hpp" +#include "supertux/globals.hpp" +#include "util/gettext.hpp" -KeyboardMenu::KeyboardMenu(JoystickKeyboardController* _controller) : - controller(_controller) +KeyboardMenu::KeyboardMenu(InputManager& input_manager) : + m_input_manager(input_manager) { add_label(_("Setup Keyboard")); add_hl(); @@ -38,17 +40,17 @@ KeyboardMenu::KeyboardMenu(JoystickKeyboardController* _controller) : if (g_config->console_enabled) { add_controlfield(Controller::CONSOLE, _("Console")); } - add_toggle(Controller::CONTROLCOUNT, _("Jump with Up"), controller->jump_with_up_kbd); + add_toggle(Controller::CONTROLCOUNT, _("Jump with Up"), m_input_manager.keyboard_manager->jump_with_up_kbd); add_hl(); add_back(_("Back")); - update(); + refresh(); } KeyboardMenu::~KeyboardMenu() {} std::string -KeyboardMenu::get_key_name(SDLKey key) +KeyboardMenu::get_key_name(SDL_Keycode key) { switch(key) { case SDLK_UNKNOWN: @@ -78,7 +80,7 @@ KeyboardMenu::get_key_name(SDLKey key) case SDLK_LALT: return _("Left Alt"); default: - return SDL_GetKeyName((SDLKey) key); + return SDL_GetKeyName((SDL_Keycode) key); } } @@ -87,41 +89,42 @@ KeyboardMenu::menu_action(MenuItem* item) { if(item->id >= 0 && item->id < Controller::CONTROLCOUNT){ item->change_input(_("Press Key")); - controller->wait_for_key = item->id; + m_input_manager.keyboard_manager->wait_for_key = item->id; } else if( item->id == Controller::CONTROLCOUNT) { - controller->jump_with_up_kbd = item->toggled; - } + m_input_manager.keyboard_manager->jump_with_up_kbd = item->toggled; + } } void -KeyboardMenu::update() +KeyboardMenu::refresh() { - // update menu + auto& kbd_mgr = m_input_manager.keyboard_manager; + get_item_by_id((int) Controller::UP).change_input(get_key_name( - controller->reversemap_key(Controller::UP))); + kbd_mgr->reversemap_key(Controller::UP))); get_item_by_id((int) Controller::DOWN).change_input(get_key_name( - controller->reversemap_key(Controller::DOWN))); + kbd_mgr->reversemap_key(Controller::DOWN))); get_item_by_id((int) Controller::LEFT).change_input(get_key_name( - controller->reversemap_key(Controller::LEFT))); + kbd_mgr->reversemap_key(Controller::LEFT))); get_item_by_id((int) Controller::RIGHT).change_input(get_key_name( - controller->reversemap_key(Controller::RIGHT))); + kbd_mgr->reversemap_key(Controller::RIGHT))); get_item_by_id((int) Controller::JUMP).change_input(get_key_name( - controller->reversemap_key(Controller::JUMP))); + kbd_mgr->reversemap_key(Controller::JUMP))); get_item_by_id((int) Controller::ACTION).change_input(get_key_name( - controller->reversemap_key(Controller::ACTION))); + kbd_mgr->reversemap_key(Controller::ACTION))); get_item_by_id((int) Controller::PEEK_LEFT).change_input(get_key_name( - controller->reversemap_key(Controller::PEEK_LEFT))); + kbd_mgr->reversemap_key(Controller::PEEK_LEFT))); get_item_by_id((int) Controller::PEEK_RIGHT).change_input(get_key_name( - controller->reversemap_key(Controller::PEEK_RIGHT))); + kbd_mgr->reversemap_key(Controller::PEEK_RIGHT))); get_item_by_id((int) Controller::PEEK_UP).change_input(get_key_name( - controller->reversemap_key(Controller::PEEK_UP))); + kbd_mgr->reversemap_key(Controller::PEEK_UP))); get_item_by_id((int) Controller::PEEK_DOWN).change_input(get_key_name( - controller->reversemap_key(Controller::PEEK_DOWN))); + kbd_mgr->reversemap_key(Controller::PEEK_DOWN))); if (g_config->console_enabled) { get_item_by_id((int) Controller::CONSOLE).change_input(get_key_name( - controller->reversemap_key(Controller::CONSOLE))); + kbd_mgr->reversemap_key(Controller::CONSOLE))); } - get_item_by_id(Controller::CONTROLCOUNT).toggled = controller->jump_with_up_kbd; + get_item_by_id(Controller::CONTROLCOUNT).toggled = kbd_mgr->jump_with_up_kbd; } /* EOF */