1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
module Wetterhorn.Core.KeyEvent
( KeyEvent (..),
KeyState (..),
)
where
import Data.Word (Word32)
import Foreign (Ptr)
import Wetterhorn.Foreign.WlRoots
data KeyState = KeyPressed | KeyReleased deriving (Show, Read, Eq, Enum, Ord)
data KeyEvent = KeyEvent
{ timeMs :: Word32,
keycode :: Word32,
state :: KeyState,
modifiers :: Word32,
keysym :: Word32,
codepoint :: Char,
device :: Ptr WlrInputDevice
}
deriving (Show, Ord, Eq)
|