aboutsummaryrefslogtreecommitdiff
path: root/src/Chelleport.hs
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2024-12-27 17:54:31 +0530
committerAkshay Nair <phenax5@gmail.com>2024-12-27 17:54:31 +0530
commit98af698a806e41904368c0114f9d8d9f377d9c09 (patch)
treeb09e835b1cf4c678fe557b1ab01905e75ee3922f /src/Chelleport.hs
parent3d461b234d0b30cb7085251390b264089f447a97 (diff)
downloadchelleport-98af698a806e41904368c0114f9d8d9f377d9c09.tar.gz
chelleport-98af698a806e41904368c0114f9d8d9f377d9c09.zip
Minor refactor
Diffstat (limited to 'src/Chelleport.hs')
-rw-r--r--src/Chelleport.hs10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/Chelleport.hs b/src/Chelleport.hs
index b5b76e2..0f5569e 100644
--- a/src/Chelleport.hs
+++ b/src/Chelleport.hs
@@ -3,7 +3,7 @@ module Chelleport where
import Chelleport.AppShell (setupAppShell)
import qualified Chelleport.AppState as AppState
import Chelleport.Context (initializeContext)
-import Chelleport.Control (anyAlphabetic, anyDigit, checkKey, ctrl, eventToKeycode, hjklDirection, key, pressed, released, shift)
+import Chelleport.Control (anyAlphabetic, anyDigit, checkKey, ctrl, eventToKeycode, hjkl, hjklDirection, key, pressed, released, shift)
import Chelleport.KeySequence (keycodeToInt, toKeyChar)
import Chelleport.Types
import Chelleport.Utils ((<||>))
@@ -24,9 +24,7 @@ run = do
runAppWithCtx ctx = (`runReaderT` ctx) . runAppM
eventHandler :: State -> SDL.Event -> Maybe AppAction
-eventHandler state event = do
- let hjkl = (`elem` ("HJKL" :: String)) . fromMaybe ' ' . toKeyChar . eventToKeycode
-
+eventHandler state event =
case SDL.eventPayload event of
SDL.QuitEvent -> Just ShutdownApp
SDL.KeyboardEvent ev
@@ -64,10 +62,10 @@ eventHandler state event = do
then Just $ ChainMouseClick RightClick
else Just $ TriggerMouseClick RightClick
-- 0-9: Repetition digit
- | checkKey [anyDigit, pressed] ev ->
+ | checkKey [anyDigit, not . ctrl, pressed] ev ->
Just $ UpdateRepetition (fromMaybe 0 $ keycodeToInt $ eventToKeycode ev)
-- A-Z: hint keys and search text
- | checkKey [anyAlphabetic, pressed] ev ->
+ | checkKey [anyAlphabetic, not . ctrl, pressed] ev ->
Just $ HandleKeyInput $ eventToKeycode ev
-- Shift press/release: Toggle shift mode
| checkKey [pressed, key SDL.KeycodeRShift <||> key SDL.KeycodeLShift] ev ->