yavie-0.0.1: src/Yavie/Keybind.hs
module Yavie.Keybind (
Keybind
, Cmdbind
, Event(..)
, Key(..)
, Modifier(..)
, Button(..)
) where
import Control.EventDriven
import Yavie.Editor
data Event = EvKey Key [ Modifier ]
| EvMouse Int Int Button [ Modifier ]
| EvResize Int Int
| EvExpose
| EvDeleteEditor
| UnknownEvent
data Key =
KEsc
| KFun Int
| KBS | KDel | KIns | KTab | KBackTab | KEnter
| KUp | KDown | KLeft | KRight
| KHome | KEnd | KPageUp | KPageDown
| KMenu | KPause | KPrtScr
| KASCII Char
| KOthers Int
| KUnknown
data Modifier = MShift | MCtrl | MAlt | MMeta
data Button = BLeft | BMiddle | BRight
type Keybind c = Event -> EventMonad Event ( Editor c ) ()
type Cmdbind c = String -> EventMonad Event ( Editor c ) ()