{-# 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)