Index: /code/branches/menu/data/gui/layouts/MainMenu.layout
===================================================================
--- /code/branches/menu/data/gui/layouts/MainMenu.layout	(revision 7606)
+++ /code/branches/menu/data/gui/layouts/MainMenu.layout	(revision 7607)
@@ -8,4 +8,5 @@
         <Property Name="UnifiedAreaRect" Value="{{0,0},{0,0},{1.0,0},{1.0,0}}" />
         <Property Name="BackgroundEnabled" Value="False" />
+        <Event Name="KeyDown" Function="MainMenu.Key_clicked"/>
         <Window Type="MenuWidgets/Button" Name="orxonox/QuickGameTestButton" >
             <Property Name="Text" Value="Quickstart" />
@@ -43,5 +44,4 @@
             <Event Name="Clicked" Function="MainMenu.ExitButton_clicked"/>
         </Window>
-        <Event Name="KeyDown" Function="MainMenu.Key_clicked"/>
     </Window>
 </GUILayout>
Index: /code/branches/menu/data/gui/scripts/GUISheet.lua
===================================================================
--- /code/branches/menu/data/gui/scripts/GUISheet.lua	(revision 7606)
+++ /code/branches/menu/data/gui/scripts/GUISheet.lua	(revision 7607)
@@ -64,3 +64,6 @@
 end
 
+function P:onKeyPressed(e)
+end
+
 return P
Index: /code/branches/menu/data/gui/scripts/MainMenu.lua
===================================================================
--- /code/branches/menu/data/gui/scripts/MainMenu.lua	(revision 7606)
+++ /code/branches/menu/data/gui/scripts/MainMenu.lua	(revision 7607)
@@ -10,4 +10,8 @@
     hideAllMenuSheets()
     orxonox.execute("startGame")
+end
+
+function P.onShow()
+
 end
 
@@ -32,5 +36,35 @@
 end
 
-function P.Key_clicked(e)
+function P.onKeyPressed()
+    --local we = tolua.cast(e, "CEGUI::KeyEventArgs")
+    cout(0, code)
+    if code == "15" then
+        P.index = P.index + 1
+        local window = winMgr:getWindow("orxonox/MainMenuBackground")
+        if P.index == window:getChildCount() then
+            P.index = 1
+        end
+        local child = window:getChildAtIdx(P.index-1)
+        child:setProperty("NormalImageRightEdge", string.sub(child:getProperty("NormalImageRightEdge"),1,-7) .. "Highlight")
+        child:setProperty("NormalImageLeftEdge", string.sub(child:getProperty("NormalImageLeftEdge"),1,-7) .. "Highlight")
+        child:setProperty("NormalImageBackground", string.sub(child:getProperty("NormalImageBackground"),1,-7) .. "Highlight")
+    elseif code == "28" and P.index ~= 0 then
+        if P.index == 1 then
+            P.QuickGameTestButton_clicked()
+        elseif P.index == 2 then
+            P.SingleplayerButton_clicked()
+        elseif P.index == 3 then
+            P.MultiplayerButton_clicked()
+        elseif P.index == 4 then
+            P.SettingsButton_clicked()
+        elseif P.index == 5 then
+            P.CreditsButton_clicked()
+        elseif P.index == 6 then
+            P.ExitButton_clicked()
+        end
+    end
+end
+
+--[[function P.Key_clicked(e)
     local we = tolua.cast(e, "CEGUI::KeyEventArgs")
     cout(0, tostring(we.scancode))
@@ -60,6 +94,5 @@
         end
     end
-end
+end]]--
 
 return P
-
Index: /code/branches/menu/data/gui/scripts/SheetManager.lua
===================================================================
--- /code/branches/menu/data/gui/scripts/SheetManager.lua	(revision 7606)
+++ /code/branches/menu/data/gui/scripts/SheetManager.lua	(revision 7607)
@@ -5,4 +5,5 @@
 local activeMenuSheets = {size = 0, topSheetTuple = nil}
 local menuSheetsRoot = guiMgr:getMenuRootWindow()
+orxonox.GUIManager:subscribeEventHelper(menuSheetsRoot, "KeyDown", "keyPressed")
 
 -----------------------
@@ -120,4 +121,5 @@
 
     menuSheet:show()
+    menuSheetsRoot:activate()
 
     return menuSheet
@@ -213,4 +215,11 @@
 end
 
+function keyPressed(e)
+    local we = tolua.cast(e, "CEGUI::KeyEventArgs")
+    local sheet = activeMenuSheets[activeMenuSheets.size]
+    code = tostring(we.scancode)
+    sheet.sheet:onKeyPressed()
+end
+
 function setBackgroundImage(imageSet, imageName)
     guiMgr:setBackgroundImage(imageSet, imageName)
