some helpers

I spent some time trying to reduce the duplication between identical
operations with and without the shift key pressed. However it makes
things harder to understand. If you try to process selection in
App.keychord_pressed in main.lua, you have to sometimes process the
selection before (e.g. including the state of the cursor _before_ an
arrow key takes effect), and sometimes after (e.g. copying the selection
before resetting it, even though it doesn't include a shift key)

Let's just leave things as they are.
This commit is contained in:
Kartik K. Agaram 2022-05-29 16:13:24 -07:00
parent 6aeb89386c
commit d441f8a760
1 changed files with 16 additions and 0 deletions

View File

@ -33,6 +33,22 @@ function App.modifier_down()
return array.any(Modifiers, love.keyboard.isDown)
end
function App.ctrl_down()
return love.keyboard.isDown('lctrl') or love.keyboard.isDown('rctrl')
end
function App.alt_down()
return love.keyboard.isDown('lalt') or love.keyboard.isDown('ralt')
end
function App.shift_down()
return love.keyboard.isDown('lshift') or love.keyboard.isDown('rshift')
end
function App.gui_down()
return love.keyboard.isDown('lgui') or love.keyboard.isDown('rgui')
end
array = {}
function array.find(arr, elem)