- if ((key_mapping != keymap.end()) && (key_mapping->second == CONSOLE)) {
- if (event.type != SDL_KEYDOWN) return;
-- Console::instance->toggle();
-+ if (this == main_controller) Console::instance->toggle();
- return;
- }
-
- // if console is open: send key there
- if (Console::instance->hasFocus()) {
-- process_console_key_event(event);
-+ if (this == main_controller) process_console_key_event(event);
- return;
- }
-
-@@ -378,7 +379,7 @@
-
- // default action: update controls
- if(key_mapping == keymap.end()) {
-- log_debug << "Key " << event.key.keysym.sym << " is unbound" << std::endl;
-+ //log_debug << "Key " << event.key.keysym.sym << " is unbound" << std::endl;
- return;
- }
- Control control = key_mapping->second;
+- if ((key_mapping != keymap.end()) && (key_mapping->second == CONSOLE)) {
++ if ((key_mapping != keymap.end()) && (key_mapping->second == CONSOLE) && (this == main_controller)) {
+ if (event.type == SDL_KEYDOWN)
+ Console::instance->toggle();
+ } else {
+- if (Console::instance->hasFocus()) {
++ if (Console::instance->hasFocus() && (this == main_controller)) {
+ // if console is open: send key there
+ process_console_key_event(event);
+ } else if (Menu::current()) {
+@@ -487,7 +488,7 @@
+ process_menu_key_event(event);
+ } else if(key_mapping == keymap.end()) {
+ // default action: update controls
+- log_debug << "Key " << event.key.keysym.sym << " is unbound" << std::endl;
++ //log_debug << "Key " << event.key.keysym.sym << " is unbound" << std::endl;
+ } else {
+ Control control = key_mapping->second;
+ controls[control] = (event.type == SDL_KEYDOWN);