Index: code/trunk/data/gui/scripts/DecisionPopup.lua
===================================================================
--- code/trunk/data/gui/scripts/DecisionPopup.lua	(revision 7709)
+++ code/trunk/data/gui/scripts/DecisionPopup.lua	(revision 7726)
@@ -2,4 +2,29 @@
 
 local P = createMenuSheet("DecisionPopup")
+
+P.buttonList = {}
+
+function P.onShow()
+    --indices to iterate through buttonlist
+    P.oldindex = -2
+    P.index = -1
+end
+
+function P.onLoad()
+
+    --button are arranged in a 1x2 matrix
+    local item = {
+            ["button"] = winMgr:getWindow("orxonox/DecisionPopup_button_yes"),
+            ["function"]  = P.button_yes
+    }
+    P.buttonList[1] = item
+
+    local item = {
+            ["button"] = winMgr:getWindow("orxonox/DecisionPopup_button_no"),
+            ["function"]  = P.button_no
+    }
+    P.buttonList[2] = item
+
+end
 
 function P.setCallback(functionPtr)
@@ -26,4 +51,8 @@
 end
 
+function P.onKeyPressed() 
+    buttonIteratorHelper(P.buttonList, code, P, 1, 2)
+end
+
 return P
 
Index: code/trunk/data/gui/scripts/GUITools.lua
===================================================================
--- code/trunk/data/gui/scripts/GUITools.lua	(revision 7709)
+++ code/trunk/data/gui/scripts/GUITools.lua	(revision 7726)
@@ -172,8 +172,9 @@
 
         local item = list[P.index+1]
-        local child = item["button"] 
+        local child = item["button"]
+        local s = child:getProperty("NormalImageRightEdge") 
 
         --teste ob der Button nicht schon gehighlightet ist
-        if child:getProperty("NormalImageRightEdge") == "set:TaharezGreenLook image:ButtonRightHighlight" then
+        if string.sub(s,string.len(s)-8,string.len(s)) == "Highlight" then
             --nop
         else
@@ -201,5 +202,6 @@
                 local item = list[i]
                 local child = item["button"]
-                    if child:getProperty("NormalImageRightEdge") == "set:TaharezGreenLook image:ButtonRightHighlight" then
+                local s = child:getProperty("NormalImageRightEdge")
+                    if string.sub(s,string.len(s)-8,string.len(s)) == "Highlight" then
                         child:setProperty("NormalImageRightEdge", string.sub(child:getProperty("NormalImageRightEdge"),1,-10) .. "Normal")
                         child:setProperty("NormalImageLeftEdge", string.sub(child:getProperty("NormalImageLeftEdge"),1,-10) .. "Normal")
@@ -210,8 +212,8 @@
                 i=i+1
         end
-    end
-    
+    end  
+
     --enter
-    if code == "28" and P.index >= 0 then
+    if code == "28" then
         local item = list[P.index+1]
         local child = item["button"] 
Index: code/trunk/data/gui/scripts/InGameMenu.lua
===================================================================
--- code/trunk/data/gui/scripts/InGameMenu.lua	(revision 7709)
+++ code/trunk/data/gui/scripts/InGameMenu.lua	(revision 7726)
@@ -3,4 +3,42 @@
 local P = createMenuSheet("InGameMenu")
 P.loadAlong = { "DecisionPopup" }
+
+P.buttonList = {}
+
+function P.onLoad()
+    P.multiplayerMode = "startClient" 
+
+    --button are arranged in a 4x1 matrix, the left lower item is nil
+    local item = {
+            ["button"] = winMgr:getWindow("orxonox/InGameMenu_ReturnButton"),
+            ["function"]  = P.button_settings_clicked
+    }
+    P.buttonList[1] = item
+
+    local item = {
+            ["button"] = winMgr:getWindow("orxonox/InGameMenu_MainMenuButton"),
+            ["function"]  = P.button_mainmenu_clicked
+    }
+    P.buttonList[2] = item
+
+    local item = {
+            ["button"] = winMgr:getWindow("orxonox/InGameMenu_SettingsButton"),
+            ["function"]  = P.button_settings_clicked
+    }
+    P.buttonList[3] = item
+
+    local item = {
+            ["button"] = winMgr:getWindow("orxonox/InGameMenu_QuitButton"),
+            ["function"]  = P.button_quit_clicked
+    }
+    P.buttonList[4] = item
+
+end
+
+function P.onShow()
+    --indices to iterate through buttonlist
+    P.oldindex = -2
+    P.index = -1
+end
 
 -- events for ingamemenu
@@ -27,5 +65,11 @@
         hideMenuSheet("InGameMenu")
         orxonox.execute("exit")
+    else 
+        P.onShow()
     end
+end
+
+function P.onKeyPressed() 
+    buttonIteratorHelper(P.buttonList, code, P, 4, 1)
 end
 
