Update key event remapping

This commit is contained in:
Ross
2021-03-21 19:04:58 +00:00
parent d76fd5263c
commit e53b216d3d
2 changed files with 11 additions and 10 deletions
+8 -8
View File
@@ -44,20 +44,20 @@ handleKeyEvent w kev = case keyboardEventKeyMotion kev of
addKey :: Keycode -> World -> World addKey :: Keycode -> World -> World
addKey k = over keys $ S.insert k addKey k = over keys $ S.insert k
-- Basic key remapping for a dvorak key layout
keyremap :: Keycode -> Keycode keyremap :: Keycode -> Keycode
keyremap KeycodeComma = KeycodeW keyremap KeycodeComma = KeycodeW
keyremap KeycodeA = KeycodeA keyremap KeycodeA = KeycodeA
keyremap KeycodeE = KeycodeD keyremap KeycodeE = KeycodeD
keyremap KeycodeO = KeycodeS keyremap KeycodeO = KeycodeS
keyremap KeycodeSlash = KeycodeQ
keyremap KeycodePeriod = KeycodeE
keyremap KeycodeP = KeycodeR
keyremap KeycodeU = KeycodeF
keyremap k = k keyremap k = k
keyremap2 :: Keycode -> Keycode keyremapDefault :: Keycode -> Keycode
keyremap2 KeycodeW = KeycodeW keyremapDefault k = k
keyremap2 KeycodeA = KeycodeA
keyremap2 KeycodeD = KeycodeD
keyremap2 KeycodeS = KeycodeS
keyremap2 k = k
handlePressedKeyEvent w True _ = Just w handlePressedKeyEvent w True _ = Just w
handlePressedKeyEvent w _ keycode handlePressedKeyEvent w _ keycode
@@ -73,7 +73,7 @@ handlePressedKeyEvent w _ keycode
KeycodeQ -> Just $ w {_cameraRot = _cameraRot w + 0.01} KeycodeQ -> Just $ w {_cameraRot = _cameraRot w + 0.01}
KeycodeE -> Just $ w {_cameraRot = _cameraRot w - 0.01} KeycodeE -> Just $ w {_cameraRot = _cameraRot w - 0.01}
KeycodeF1 -> Just $ w {_remap = keyremap} KeycodeF1 -> Just $ w {_remap = keyremap}
KeycodeF2 -> Just $ w {_remap = keyremap2} KeycodeF2 -> Just $ w {_remap = keyremapDefault}
_ -> Just w _ -> Just w
handleMouseMotionEvent :: World -> MouseMotionEventData -> Maybe World handleMouseMotionEvent :: World -> MouseMotionEventData -> Maybe World
+3 -2
View File
@@ -19,7 +19,7 @@ import qualified Data.Map as M
import qualified Data.Set as S import qualified Data.Set as S
import Data.Graph.Inductive.Graph hiding ((&)) import Data.Graph.Inductive.Graph hiding ((&))
import Data.List import Data.List
import Dodge.KeyEvents (keyremap) import Dodge.KeyEvents (keyremapDefault)
-- defalt datatypes / prototypes {{{ -- defalt datatypes / prototypes {{{
basicWall = Wall { _wlLine = [(0,0),(50,0)] basicWall = Wall { _wlLine = [(0,0),(50,0)]
@@ -176,6 +176,7 @@ basicPP = PressPlate
, _ppText = "Pressure plate" , _ppText = "Pressure plate"
} }
-- }}} -- }}}
basicWorld = World basicWorld = World
{ _keys = S.empty { _keys = S.empty
, _mouseButtons = S.empty , _mouseButtons = S.empty
@@ -224,7 +225,7 @@ basicWorld = World
, _lightSources = IM.empty , _lightSources = IM.empty
, _tempLightSources = [youLight] , _tempLightSources = [youLight]
, _closeActiveObjects = [] , _closeActiveObjects = []
, _remap = keyremap , _remap = keyremapDefault
} }
youLight = youLight =
-- LS {_lsEff = \w _ p -> (logistic 1 1 1 (d p w * 0.01) ) -- LS {_lsEff = \w _ p -> (logistic 1 1 1 (d p w * 0.01) )