Merged back changes from 0.3.x branch
[supertux.git] / src / control / joystickkeyboardcontroller.cpp
index 6f8222a..5e2455a 100644 (file)
@@ -28,6 +28,7 @@
 #include "lisp/list_iterator.hpp"
 #include "game_session.hpp"
 #include "console.hpp"
+#include "gameconfig.hpp"
 
 class JoystickKeyboardController::JoystickMenu : public Menu
 {
@@ -81,12 +82,12 @@ JoystickKeyboardController::JoystickKeyboardController()
     SDL_Joystick* joystick = SDL_JoystickOpen(i);
     bool good = true;
     if(SDL_JoystickNumButtons(joystick) < 2) {
-      log_warning << "Joystick " << i << " has less than 2 buttons" << std::endl;
+      log_info << "Joystick " << i << " has less than 2 buttons" << std::endl;
       good = false;
     }
     if(SDL_JoystickNumAxes(joystick) < 2
        && SDL_JoystickNumHats(joystick) == 0) {
-      log_warning << "Joystick " << i << " has less than 2 axes and no hat" << std::endl;
+      log_info << "Joystick " << i << " has less than 2 axes and no hat" << std::endl;
       good = false;
     }
     if(!good) {
@@ -170,7 +171,7 @@ JoystickKeyboardController::read(const lisp::Lisp& lisp)
         map->get("key", key);
         map->get("control", control);
         if(key < SDLK_FIRST || key >= SDLK_LAST) {
-          log_warning << "Invalid key '" << key << "' in keymap" << std::endl;
+          log_info << "Invalid key '" << key << "' in keymap" << std::endl;
           continue;
         }
 
@@ -180,12 +181,12 @@ JoystickKeyboardController::read(const lisp::Lisp& lisp)
             break;
         }
         if(controlNames[i] == 0) {
-          log_warning << "Invalid control '" << control << "' in keymap" << std::endl;
+          log_info << "Invalid control '" << control << "' in keymap" << std::endl;
           continue;
         }
         keymap.insert(std::make_pair((SDLKey) key, (Control) i));
       } else {
-        log_warning << "Invalid lisp element '" << iter.item() << "' in keymap" << std::endl;
+        log_info << "Invalid lisp element '" << iter.item() << "' in keymap" << std::endl;
       }
     }
   }
@@ -206,7 +207,7 @@ JoystickKeyboardController::read(const lisp::Lisp& lisp)
         map->get("button", button);
         map->get("control", control);
         if(button < 0 || button >= max_joybuttons) {
-          log_warning << "Invalid button '" << button << "' in buttonmap" << std::endl;
+          log_info << "Invalid button '" << button << "' in buttonmap" << std::endl;
           continue;
         }
 
@@ -216,7 +217,7 @@ JoystickKeyboardController::read(const lisp::Lisp& lisp)
             break;
         }
         if(controlNames[i] == 0) {
-          log_warning << "Invalid control '" << control << "' in buttonmap" << std::endl;
+          log_info << "Invalid control '" << control << "' in buttonmap" << std::endl;
           continue;
         }
         reset_joybutton(button, (Control) i);
@@ -595,6 +596,9 @@ JoystickKeyboardController::KeyboardMenu::KeyboardMenu(
     add_controlfield(Controller::ACTION, _("Action"));
     add_controlfield(Controller::PEEK_LEFT, _("Peek Left"));
     add_controlfield(Controller::PEEK_RIGHT, _("Peek Right"));
+    if (config->console_enabled) {
+      add_controlfield(Controller::CONSOLE, _("Console"));
+    }
     add_hl();
     add_back(_("Back"));
     update();
@@ -666,6 +670,10 @@ JoystickKeyboardController::KeyboardMenu::update()
     controller->reversemap_key(Controller::PEEK_LEFT)));
   get_item_by_id((int) Controller::PEEK_RIGHT).change_input(get_key_name(
     controller->reversemap_key(Controller::PEEK_RIGHT)));
+  if (config->console_enabled) {
+    get_item_by_id((int) Controller::CONSOLE).change_input(get_key_name(
+      controller->reversemap_key(Controller::CONSOLE)));
+  }
 }
 
 //---------------------------------------------------------------------------