From d441f8a760635b9352fa1682143470162009813d Mon Sep 17 00:00:00 2001 From: "Kartik K. Agaram" Date: Sun, 29 May 2022 16:13:24 -0700 Subject: [PATCH] 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. --- keychord.lua | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/keychord.lua b/keychord.lua index 3ab0635..0ec4143 100644 --- a/keychord.lua +++ b/keychord.lua @@ -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)