Update key event remapping
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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) )
|
||||||
|
|||||||
Reference in New Issue
Block a user