diff options
Diffstat (limited to 'src/Chelleport/Control.hs')
| -rw-r--r-- | src/Chelleport/Control.hs | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/Chelleport/Control.hs b/src/Chelleport/Control.hs index fa25681..80be6f8 100644 --- a/src/Chelleport/Control.hs +++ b/src/Chelleport/Control.hs @@ -80,15 +80,14 @@ isKeyReleaseWith :: SDL.KeyboardEventData -> SDL.Keycode -> Bool isKeyReleaseWith keyboardEvent keyCode = isKeyRelease keyboardEvent && eventToKeycode keyboardEvent == keyCode +keyModifier :: SDL.KeyboardEventData -> SDL.KeyModifier +keyModifier = SDL.keysymModifier . SDL.keyboardEventKeysym + withShift :: SDL.KeyboardEventData -> Bool -withShift event = SDL.keyModifierLeftShift modifier || SDL.keyModifierRightShift modifier - where - modifier = SDL.keysymModifier . SDL.keyboardEventKeysym $ event +withShift ev = SDL.keyModifierLeftShift (keyModifier ev) || SDL.keyModifierRightShift (keyModifier ev) withCtrl :: SDL.KeyboardEventData -> Bool -withCtrl event = SDL.keyModifierLeftCtrl modifier || SDL.keyModifierRightCtrl modifier - where - modifier = SDL.keysymModifier . SDL.keyboardEventKeysym $ event +withCtrl ev = SDL.keyModifierLeftCtrl (keyModifier ev) || SDL.keyModifierRightCtrl (keyModifier ev) directionalIncrement :: (CInt, CInt) -> Char -> (Int, Int) directionalIncrement (incX, incY) = \case |
