Index: code/branches/usability/data/defaultConfig/keybindings.ini
===================================================================
--- code/branches/usability/data/defaultConfig/keybindings.ini	(revision 8076)
+++ code/branches/usability/data/defaultConfig/keybindings.ini	(revision 8078)
@@ -19,5 +19,5 @@
 KeyDelete="scale 1 rotateRoll"
 KeyDivide=
-KeyDown="scale -1 moveFrontBack | navigateGUI down"
+KeyDown="scale -1 moveFrontBack"
 KeyE="scale -1 rotateRoll"
 KeyEnd=boost
@@ -52,5 +52,5 @@
 KeyKanji=
 KeyL=
-KeyLeft="scale -1 moveRightLeft | navigateGUI left"
+KeyLeft="scale -1 moveRightLeft"
 KeyLeftAlt=
 KeyLeftBracket=
@@ -93,5 +93,5 @@
 KeyNumpadAdd=
 KeyNumpadComma=
-KeyNumpadEnter="navigateGUI enter"
+KeyNumpadEnter=
 KeyNumpadEquals=
 KeyNumpadPeriod=
@@ -108,6 +108,6 @@
 KeyQ="scale 1 rotateRoll"
 KeyR="scale 1 moveUpDown"
-KeyReturn="navigateGUI enter"
-KeyRight="scale 1 moveRightLeft | navigateGUI right"
+KeyReturn=
+KeyRight="scale 1 moveRightLeft"
 KeyRightAlt=
 KeyRightBracket=
@@ -126,5 +126,5 @@
 KeyTab="NewHumanController changeMode"
 KeyU=""
-KeyUP="scale 1 moveFrontBack | navigateGUI up"
+KeyUP="scale 1 moveFrontBack"
 KeyUnassigned="InGameConsole openConsole"
 KeyUnderline=
Index: code/branches/usability/data/gui/scripts/GUISheet.lua
===================================================================
--- code/branches/usability/data/gui/scripts/GUISheet.lua	(revision 8076)
+++ code/branches/usability/data/gui/scripts/GUISheet.lua	(revision 8078)
@@ -29,5 +29,5 @@
 
 -- Override this function if you want to react on keystrokes
-function P:onKeyPressed(mode)
+function P:onKeyPressed()
 end
 
@@ -85,20 +85,20 @@
 
 -- Handles key pressed while the gui sheed is displayed
-function P:keyPressed(mode)
+function P:keyPressed()
     if self.buttons then
-        if mode == "down" then     -- key down
+        if code == "208" then     -- key down
             self:moveSelectionRow(1)
-        elseif mode == "up" then -- key up
+        elseif code == "200" then -- key up
             self:moveSelectionRow(-1)
-        elseif mode == "right" then -- key right
+        elseif code == "205" then -- key right
             self:moveSelectionColumn(1)
-        elseif mode == "left" then -- key left
+        elseif code == "203" then -- key left
             self:moveSelectionColumn(-1)
-        elseif mode == "enter" then -- key enter or key numpad enter
+        elseif code == "28" or code == "156"  then -- key enter or key numpad enter
             self:pressSelectedButton()
         end
     end
 
-    self:onKeyPressed(mode)
+    self:onKeyPressed()
 end
 
Index: code/branches/usability/data/gui/scripts/GraphicsMenu.lua
===================================================================
--- code/branches/usability/data/gui/scripts/GraphicsMenu.lua	(revision 8076)
+++ code/branches/usability/data/gui/scripts/GraphicsMenu.lua	(revision 8078)
@@ -1,5 +1,5 @@
 -- GraphicsMenu.lua
 
-local P = createMenuSheet("GraphicsMenu", true, TriBool.True, TriBool.True)
+local P = createMenuSheet("GraphicsMenu")
 
 P.resolutionList = {"custom", "640 x 480", "720 x 480", "720 x 576", "800 x 600", "1024 x 600", "1024 x 768", "1152 x 864", "1280 x 720", "1280 x 800", "1280 x 960", "1280 x 1024", "1360 x 768", "1440 x 900", "1600 x 900", "1600 x 1200", "1680 x 1050"}
Index: code/branches/usability/data/gui/scripts/MenuSheet.lua
===================================================================
--- code/branches/usability/data/gui/scripts/MenuSheet.lua	(revision 8076)
+++ code/branches/usability/data/gui/scripts/MenuSheet.lua	(revision 8078)
@@ -16,5 +16,5 @@
     newSheet.bHidePrevious  = handleDefArg(_bHidePrevious,  true)
     newSheet.tShowCursor    = handleDefArg(_tShowCusor,     TriBool.True)
-    newSheet.tUseKeyboard   = handleDefArg(_tUseKeyboard,   TriBool.Dontcare)
+    newSheet.tUseKeyboard   = handleDefArg(_tUseKeyboard,   TriBool.True)
     newSheet.bBlockJoyStick = handleDefArg(_bBlockJoyStick, false)
 
Index: code/branches/usability/data/gui/scripts/SheetManager.lua
===================================================================
--- code/branches/usability/data/gui/scripts/SheetManager.lua	(revision 8076)
+++ code/branches/usability/data/gui/scripts/SheetManager.lua	(revision 8078)
@@ -5,6 +5,7 @@
 local activeMenuSheets = {size = 0, topSheetTuple = nil}
 local menuSheetsRoot = guiMgr:getMenuRootWindow()
+local bInGameConsoleClosed = false
 local mainMenuLoaded = false
---orxonox.GUIManager:subscribeEventHelper(menuSheetsRoot, "KeyDown", "keyPressed")
+orxonox.GUIManager:subscribeEventHelper(menuSheetsRoot, "KeyDown", "keyPressed")
 orxonox.GUIManager:subscribeEventHelper(menuSheetsRoot, "Sized", "windowResized")
 
@@ -131,8 +132,4 @@
     if previous and previous.pressedEnter and menuSheet:hasSelection() == false then
         menuSheet:setSelectionNear(1, 1)
-    end
-
-    if activeMenuSheets.size > 0 then
-        guiMgr:guisActiveChanged(true)
     end
 
@@ -207,8 +204,4 @@
     end
 
-    if activeMenuSheets.size == 0 then
-        guiMgr:guisActiveChanged(false)
-    end
-
     sheetTuple.sheet:quit()
 end
@@ -224,5 +217,11 @@
     -- HUGE, very HUGE hacks!
 
-    -- Count the number of sheets that don't need input until the first that does.
+    -- If the InGameConsole is active, ignore the ESC command.
+    if bInGameConsoleClosed == true then
+        bInGameConsoleClosed = false
+        return
+    end
+
+    -- Count the number of sheets that don't need input till the first that does.
     local counter = noInputSheetIndex()
 
@@ -238,9 +237,17 @@
 end
 
--- Function to navigate the GUI, is called by the GUIManager, whenever a relevant key is pressed.
--- The mode specifies the action to be taken.
-function navigateGUI(mode)
+function keyPressed(e)
+    local we = tolua.cast(e, "CEGUI::KeyEventArgs")
     local sheet = activeMenuSheets[activeMenuSheets.size]
-    sheet.sheet:keyPressed(mode)
+    code = tostring(we.scancode)
+    -- Some preprocessing
+    if not mainMenuLoaded and not sheet.bNoInput then
+        if code == "1" then
+            keyESC()
+        elseif code == "0"then
+            orxonox.CommandExecutor:execute("InGameConsole openConsole")
+        end
+    end
+    sheet.sheet:keyPressed()
 end
 
@@ -286,4 +293,8 @@
     end
     return counter
+end
+
+function inGameConsoleClosed()
+    bInGameConsoleClosed = not bInGameConsoleClosed;
 end
 
