{-# LANGUAGE DeriveGeneric, DeriveAnyClass #-} module Eventloop.Module.Websocket.Keyboard.Types where import GHC.Generics (Generic) import Control.DeepSeq {-| Almost all key presses are registered including modifier keys. Expect character keys to come in as their character. Press a c, get a "c". If a modifier is used and a different character is expected, it will be that instead. Press shift + c, get a "C". Modifiers are also sent as their string representation: "shift", "ctrl" or "alt". Space is expected as "space". -} data Keyboard = Key [Char] deriving (Eq, Show, Generic, NFData)