From e53b216d3d68cfa981c8b56594423bdf85e5ad24 Mon Sep 17 00:00:00 2001 From: Ross Date: Sun, 21 Mar 2021 19:04:58 +0000 Subject: [PATCH] Update key event remapping --- src/Dodge/KeyEvents.hs | 16 ++++++++-------- src/Dodge/Prototypes.hs | 5 +++-- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/Dodge/KeyEvents.hs b/src/Dodge/KeyEvents.hs index 6da2c7590..a9b53afb8 100644 --- a/src/Dodge/KeyEvents.hs +++ b/src/Dodge/KeyEvents.hs @@ -44,20 +44,20 @@ handleKeyEvent w kev = case keyboardEventKeyMotion kev of addKey :: Keycode -> World -> World addKey k = over keys $ S.insert k +-- Basic key remapping for a dvorak key layout keyremap :: Keycode -> Keycode keyremap KeycodeComma = KeycodeW keyremap KeycodeA = KeycodeA keyremap KeycodeE = KeycodeD keyremap KeycodeO = KeycodeS +keyremap KeycodeSlash = KeycodeQ +keyremap KeycodePeriod = KeycodeE +keyremap KeycodeP = KeycodeR +keyremap KeycodeU = KeycodeF keyremap k = k -keyremap2 :: Keycode -> Keycode -keyremap2 KeycodeW = KeycodeW -keyremap2 KeycodeA = KeycodeA -keyremap2 KeycodeD = KeycodeD -keyremap2 KeycodeS = KeycodeS -keyremap2 k = k - +keyremapDefault :: Keycode -> Keycode +keyremapDefault k = k handlePressedKeyEvent w True _ = Just w handlePressedKeyEvent w _ keycode @@ -73,7 +73,7 @@ handlePressedKeyEvent w _ keycode KeycodeQ -> Just $ w {_cameraRot = _cameraRot w + 0.01} KeycodeE -> Just $ w {_cameraRot = _cameraRot w - 0.01} KeycodeF1 -> Just $ w {_remap = keyremap} - KeycodeF2 -> Just $ w {_remap = keyremap2} + KeycodeF2 -> Just $ w {_remap = keyremapDefault} _ -> Just w handleMouseMotionEvent :: World -> MouseMotionEventData -> Maybe World diff --git a/src/Dodge/Prototypes.hs b/src/Dodge/Prototypes.hs index ca7fd4d5e..dbb65683b 100644 --- a/src/Dodge/Prototypes.hs +++ b/src/Dodge/Prototypes.hs @@ -19,7 +19,7 @@ import qualified Data.Map as M import qualified Data.Set as S import Data.Graph.Inductive.Graph hiding ((&)) import Data.List -import Dodge.KeyEvents (keyremap) +import Dodge.KeyEvents (keyremapDefault) -- defalt datatypes / prototypes {{{ basicWall = Wall { _wlLine = [(0,0),(50,0)] @@ -176,6 +176,7 @@ basicPP = PressPlate , _ppText = "Pressure plate" } -- }}} + basicWorld = World { _keys = S.empty , _mouseButtons = S.empty @@ -224,7 +225,7 @@ basicWorld = World , _lightSources = IM.empty , _tempLightSources = [youLight] , _closeActiveObjects = [] - , _remap = keyremap + , _remap = keyremapDefault } youLight = -- LS {_lsEff = \w _ p -> (logistic 1 1 1 (d p w * 0.01) )