never executed always true always false
    1 {-|
    2 Module: Flaw.Input
    3 Description: User input base definitions.
    4 License: MIT
    5 -}
    6 
    7 {-# LANGUAGE MultiParamTypeClasses #-}
    8 
    9 module Flaw.Input
   10   ( InputState(..)
   11   , InputDevice(..)
   12   , InputManager(..)
   13   ) where
   14 
   15 import Control.Concurrent.STM
   16 
   17 class InputState s where
   18   initialInputState :: STM s
   19 
   20 class InputState s => InputDevice s e where
   21   applyInputEvent :: s -> e -> STM ()
   22 
   23 class InputManager m e where
   24   chanInputEvents :: m -> STM (TChan e)