diff --git a/game/engine/ButtonList.lua b/game/engine/ButtonList.lua index 16e5b34f4bfd9e7971b3324351c750b5c3b79af2..9e401cf67fdb46a4966b50ac6f01509c765fc2c3 100644 --- a/game/engine/ButtonList.lua +++ b/game/engine/ButtonList.lua @@ -1,7 +1,7 @@ require "engine.class" require "engine.Tiles" require "engine.Mouse" -require "engine.KeyCommand" +require "engine.KeyBind" --- Handles dialog windows module(..., package.seeall, class.make) @@ -49,18 +49,18 @@ function _M:close() end function _M:setKeyHandling() - self.old_key = engine.KeyCommand.current - self.key = engine.KeyCommand.new() + self.old_key = engine.KeyBind.current + self.key = engine.KeyBind.new() self.key:setCurrent() - self.key:addCommands + self.key:addBinds { - _UP = function() + MOVE_UP = function() self:select(-1, true) end, - _DOWN = function() + MOVE_DOWN = function() self:select(1, true) end, - _RETURN = function() + ACCEPT = function() self:click() end, } diff --git a/game/engine/KeyBind.lua b/game/engine/KeyBind.lua index b33be97fe1cc844bd9d80bcf9735b7448cc15959..7f06e40c7059b2bac52a2af8ae19a4a2d7bab756 100644 --- a/game/engine/KeyBind.lua +++ b/game/engine/KeyBind.lua @@ -70,7 +70,7 @@ end function _M:receiveKey(sym, ctrl, shift, alt, meta, unicode) local ks, us = self:makeKeyString(sym, ctrl, shift, alt, meta, unicode) - print("[BIND]", sym, ctrl, shift, alt, meta, unicode and string.byte(unicode), " :=: ", ks, us, " ?=? ", self.binds[ks], us and self.binds[us]) + print("[BIND]", sym, ctrl, shift, alt, meta, unicode, " :=: ", ks, us, " ?=? ", self.binds[ks], us and self.binds[us]) if self.binds[ks] and self.virtuals[self.binds[ks]] then self.virtuals[self.binds[ks]](sym, ctrl, shift, alt, meta, unicode) return @@ -98,6 +98,7 @@ function _M:addBinds(t) local later = {} for virtual, fct in pairs(t) do if type(fct) == "function" then + print("bind", virtual, fct) self:addBind(virtual, fct) else later[virtual] = fct diff --git a/game/engine/init.lua b/game/engine/init.lua index 7f9669321baeb79d33f662c069aa288b4d6dbd05..2774e8cacb8b20f404bd85833f6f88eb26052ad8 100644 --- a/game/engine/init.lua +++ b/game/engine/init.lua @@ -27,6 +27,9 @@ window.size = "1024x768" ]] config.load("/settings.cfg") +-- Load default keys +engine.KeyBind:load("move,actions") + -- Load remaps engine.KeyBind:loadRemap("/keybinds.cfg") diff --git a/game/special/mainmenu/class/Game.lua b/game/special/mainmenu/class/Game.lua index f296dbfd9c2e6f8dce8b852e38851f9d06203c7f..a3bcba47d3827c95a2af7861170221b959a101a1 100644 --- a/game/special/mainmenu/class/Game.lua +++ b/game/special/mainmenu/class/Game.lua @@ -1,7 +1,7 @@ require "engine.class" require "engine.Game" require "engine.Module" -require "engine.KeyCommand" +require "engine.KeyBind" local Savefile = require "engine.Savefile" local Dialog = require "engine.Dialog" local ButtonList = require "engine.ButtonList" @@ -9,7 +9,7 @@ local ButtonList = require "engine.ButtonList" module(..., package.seeall, class.inherit(engine.Game)) function _M:init() - engine.Game.init(self, engine.KeyCommand.new()) + engine.Game.init(self, engine.KeyBind.new()) self.background = core.display.loadImage("/data/gfx/mainmenu/background.jpg") end @@ -135,7 +135,7 @@ function _M:selectStepNew() self.step = ButtonList.new(self.mod_list, 10, 10, self.w * 0.24, (5 + 35) * #self.mod_list, nil, 5) self.step:setKeyHandling() self.step:setMouseHandling() - self.step.key:addCommand("_ESCAPE", function() self:unregisterDialog(display_module) self:selectStepMain() end) + self.step.key:addBind("EXIT", function() self:unregisterDialog(display_module) self:selectStepMain() end) end function _M:selectStepLoad() @@ -185,5 +185,5 @@ function _M:selectStepLoad() self.step:select(2) self.step:setKeyHandling() self.step:setMouseHandling() - self.step.key:addCommand("_ESCAPE", function() self:unregisterDialog(display_module) self:selectStepMain() end) + self.step.key:addBind("EXIT", function() self:unregisterDialog(display_module) self:selectStepMain() end) end