diff --git a/menu_state.lua b/menu_state.lua index 1079035..c72a384 100644 --- a/menu_state.lua +++ b/menu_state.lua @@ -135,6 +135,18 @@ function menu_state:keyreleased(key, unicode) end +function menu_state:joystickpressed(key, button) + if currentlyChosen == nil then + else + local key = string.format("button%d", button) + KEYMAP[currentlyChosen.data.player][currentlyChosen.data.key][currentlyChosen.data.bindingIdx] = key + currentlyChosen.data.label.label = key + currentlyChosen:delete() + currentlyChosen = nil + save_settings() + end +end + function menu_state:mousepressed(x, y, button) for key, entity in pairs(menu_state.entity_list) do diff --git a/settings.lua b/settings.lua index 5f15da9..42604b8 100644 --- a/settings.lua +++ b/settings.lua @@ -16,18 +16,18 @@ KEYMAP = { ccw = { 'k' }, cw = { 'l' }, flip = { ',' }, - shoot = { 'o' }, + shoot = { 'o', 'button8' }, accelerate = { 'j' }, - decelerate = { 'm' } + decelerate = { 'm', 'button7' } }, [2] = { ccw = { 'a' }, cw = { 's' }, flip = { 'a' }, - shoot = { 'w' }, + shoot = { 'w', 'button8' }, accelerate = { 'x' }, - decelerate = { 'z' } + decelerate = { 'z', 'button7' } } }