vty-6.2: A simple terminal UI library
Safe HaskellSafe-Inferred
LanguageHaskell2010

Graphics.Vty.Input.Events

Synopsis

Documentation

data Key Source #

Representations of non-modifier keys.

  • KFun is indexed from 0 to 63. Range of supported FKeys varies by terminal and keyboard.
  • KUpLeft, KUpRight, KDownLeft, KDownRight, KCenter support varies by terminal and keyboard.
  • Actually, support for most of these but KEsc, KChar, KBS, and KEnter vary by terminal and keyboard.

Instances

Instances details
Generic Key Source # 
Instance details

Defined in Graphics.Vty.Input.Events

Associated Types

type Rep Key 
Instance details

Defined in Graphics.Vty.Input.Events

type Rep Key = D1 ('MetaData "Key" "Graphics.Vty.Input.Events" "vty-6.2-DcXWeJWsGO567Grcv1nBbK" 'False) ((((C1 ('MetaCons "KEsc" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KChar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'NoSourceStrictness 'DecidedStrict) (Rec0 Char)) :+: C1 ('MetaCons "KBS" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KEnter" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KLeft" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KRight" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KUp" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KDown" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KUpLeft" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KUpRight" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KDownLeft" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KDownRight" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "KCenter" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KFun" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'NoSourceStrictness 'DecidedStrict) (Rec0 Int)) :+: C1 ('MetaCons "KBackTab" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KPrtScr" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KPause" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KIns" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KHome" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KPageUp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KDel" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "KEnd" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KPageDown" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "KBegin" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KMenu" 'PrefixI 'False) (U1 :: Type -> Type))))))

Methods

from :: Key -> Rep Key x

to :: Rep Key x -> Key

Read Key Source # 
Instance details

Defined in Graphics.Vty.Input.Events

Methods

readsPrec :: Int -> ReadS Key

readList :: ReadS [Key]

readPrec :: ReadPrec Key

readListPrec :: ReadPrec [Key]

Show Key Source # 
Instance details

Defined in Graphics.Vty.Input.Events

Methods

showsPrec :: Int -> Key -> ShowS

show :: Key -> String

showList :: [Key] -> ShowS

NFData Key Source # 
Instance details

Defined in Graphics.Vty.Input.Events

Methods

rnf :: Key -> ()

Eq Key Source # 
Instance details

Defined in Graphics.Vty.Input.Events

Methods

(==) :: Key -> Key -> Bool

(/=) :: Key -> Key -> Bool

Ord Key Source # 
Instance details

Defined in Graphics.Vty.Input.Events

Methods

compare :: Key -> Key -> Ordering

(<) :: Key -> Key -> Bool

(<=) :: Key -> Key -> Bool

(>) :: Key -> Key -> Bool

(>=) :: Key -> Key -> Bool

max :: Key -> Key -> Key

min :: Key -> Key -> Key

type Rep Key Source # 
Instance details

Defined in Graphics.Vty.Input.Events

type Rep Key = D1 ('MetaData "Key" "Graphics.Vty.Input.Events" "vty-6.2-DcXWeJWsGO567Grcv1nBbK" 'False) ((((C1 ('MetaCons "KEsc" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KChar" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'NoSourceStrictness 'DecidedStrict) (Rec0 Char)) :+: C1 ('MetaCons "KBS" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KEnter" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KLeft" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KRight" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KUp" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KDown" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KUpLeft" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KUpRight" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KDownLeft" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KDownRight" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "KCenter" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KFun" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'NoSourceStrictness 'DecidedStrict) (Rec0 Int)) :+: C1 ('MetaCons "KBackTab" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "KPrtScr" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KPause" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KIns" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "KHome" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "KPageUp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KDel" 'PrefixI 'False) (U1 :: Type -> Type))) :+: ((C1 ('MetaCons "KEnd" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KPageDown" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "KBegin" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "KMenu" 'PrefixI 'False) (U1 :: Type -> Type))))))

data Modifier Source #

Modifier keys. Key codes are interpreted such that users are more likely to have Meta than Alt; for instance on the PC Linux console, MMeta will generally correspond to the physical Alt key.

Constructors

MShift 
MCtrl 
MMeta 
MAlt 

Instances

Instances details
Generic Modifier Source # 
Instance details

Defined in Graphics.Vty.Input.Events

Associated Types

type Rep Modifier 
Instance details

Defined in Graphics.Vty.Input.Events

type Rep Modifier = D1 ('MetaData "Modifier" "Graphics.Vty.Input.Events" "vty-6.2-DcXWeJWsGO567Grcv1nBbK" 'False) ((C1 ('MetaCons "MShift" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MCtrl" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MMeta" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MAlt" 'PrefixI 'False) (U1 :: Type -> Type)))

Methods

from :: Modifier -> Rep Modifier x

to :: Rep Modifier x -> Modifier

Read Modifier Source # 
Instance details

Defined in Graphics.Vty.Input.Events

Methods

readsPrec :: Int -> ReadS Modifier

readList :: ReadS [Modifier]

readPrec :: ReadPrec Modifier

readListPrec :: ReadPrec [Modifier]

Show Modifier Source # 
Instance details

Defined in Graphics.Vty.Input.Events

Methods

showsPrec :: Int -> Modifier -> ShowS

show :: Modifier -> String

showList :: [Modifier] -> ShowS

NFData Modifier Source # 
Instance details

Defined in Graphics.Vty.Input.Events

Methods

rnf :: Modifier -> ()

Eq Modifier Source # 
Instance details

Defined in Graphics.Vty.Input.Events

Methods

(==) :: Modifier -> Modifier -> Bool

(/=) :: Modifier -> Modifier -> Bool

Ord Modifier Source # 
Instance details

Defined in Graphics.Vty.Input.Events

Methods

compare :: Modifier -> Modifier -> Ordering

(<) :: Modifier -> Modifier -> Bool

(<=) :: Modifier -> Modifier -> Bool

(>) :: Modifier -> Modifier -> Bool

(>=) :: Modifier -> Modifier -> Bool

max :: Modifier -> Modifier -> Modifier

min :: Modifier -> Modifier -> Modifier

type Rep Modifier Source # 
Instance details

Defined in Graphics.Vty.Input.Events

type Rep Modifier = D1 ('MetaData "Modifier" "Graphics.Vty.Input.Events" "vty-6.2-DcXWeJWsGO567Grcv1nBbK" 'False) ((C1 ('MetaCons "MShift" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MCtrl" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MMeta" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MAlt" 'PrefixI 'False) (U1 :: Type -> Type)))

data Event Source #

Events.

Constructors

EvKey Key [Modifier]

A keyboard key was pressed with the specified modifiers.

EvMouseDown Int Int Button [Modifier]

A mouse button was pressed at the specified column and row. Any modifiers available in the event are also provided.

EvMouseUp Int Int (Maybe Button)

A mouse button was released at the specified column and row. Some terminals report only that a button was released without specifying which one; in that case, Nothing is provided. Otherwise Just the button released is included in the event.

EvResize Int Int 
EvPaste ByteString

A paste event occurs when a bracketed paste input sequence is received. For terminals that support bracketed paste mode, these events will be triggered on a paste event. Terminals that do not support bracketed pastes will send the paste contents as ordinary input (which is probably bad, so beware!) Note that the data is provided in raw form and you'll have to decode (e.g. as UTF-8) if that's what your application expects.

EvLostFocus

The terminal running the application lost input focus.

EvGainedFocus

The terminal running the application gained input focus.

Instances

Instances details
Generic Event Source # 
Instance details

Defined in Graphics.Vty.Input.Events

Associated Types

type Rep Event 
Instance details

Defined in Graphics.Vty.Input.Events

type Rep Event = D1 ('MetaData "Event" "Graphics.Vty.Input.Events" "vty-6.2-DcXWeJWsGO567Grcv1nBbK" 'False) ((C1 ('MetaCons "EvKey" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Key) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Modifier])) :+: (C1 ('MetaCons "EvMouseDown" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Button) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Modifier]))) :+: C1 ('MetaCons "EvMouseUp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Button)))))) :+: ((C1 ('MetaCons "EvResize" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int)) :+: C1 ('MetaCons "EvPaste" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ByteString))) :+: (C1 ('MetaCons "EvLostFocus" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EvGainedFocus" 'PrefixI 'False) (U1 :: Type -> Type))))

Methods

from :: Event -> Rep Event x

to :: Rep Event x -> Event

Read Event Source # 
Instance details

Defined in Graphics.Vty.Input.Events

Methods

readsPrec :: Int -> ReadS Event

readList :: ReadS [Event]

readPrec :: ReadPrec Event

readListPrec :: ReadPrec [Event]

Show Event Source # 
Instance details

Defined in Graphics.Vty.Input.Events

Methods

showsPrec :: Int -> Event -> ShowS

show :: Event -> String

showList :: [Event] -> ShowS

NFData Event Source # 
Instance details

Defined in Graphics.Vty.Input.Events

Methods

rnf :: Event -> ()

Eq Event Source # 
Instance details

Defined in Graphics.Vty.Input.Events

Methods

(==) :: Event -> Event -> Bool

(/=) :: Event -> Event -> Bool

Ord Event Source # 
Instance details

Defined in Graphics.Vty.Input.Events

Methods

compare :: Event -> Event -> Ordering

(<) :: Event -> Event -> Bool

(<=) :: Event -> Event -> Bool

(>) :: Event -> Event -> Bool

(>=) :: Event -> Event -> Bool

max :: Event -> Event -> Event

min :: Event -> Event -> Event

type Rep Event Source # 
Instance details

Defined in Graphics.Vty.Input.Events

type Rep Event = D1 ('MetaData "Event" "Graphics.Vty.Input.Events" "vty-6.2-DcXWeJWsGO567Grcv1nBbK" 'False) ((C1 ('MetaCons "EvKey" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Key) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Modifier])) :+: (C1 ('MetaCons "EvMouseDown" 'PrefixI 'False) ((S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int)) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Button) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 [Modifier]))) :+: C1 ('MetaCons "EvMouseUp" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int) :*: (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Button)))))) :+: ((C1 ('MetaCons "EvResize" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Int)) :+: C1 ('MetaCons "EvPaste" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 ByteString))) :+: (C1 ('MetaCons "EvLostFocus" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "EvGainedFocus" 'PrefixI 'False) (U1 :: Type -> Type))))

data Button Source #

Mouse buttons.

Instances

Instances details
Generic Button Source # 
Instance details

Defined in Graphics.Vty.Input.Events

Associated Types

type Rep Button 
Instance details

Defined in Graphics.Vty.Input.Events

type Rep Button = D1 ('MetaData "Button" "Graphics.Vty.Input.Events" "vty-6.2-DcXWeJWsGO567Grcv1nBbK" 'False) ((C1 ('MetaCons "BLeft" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BMiddle" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "BRight" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BScrollUp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BScrollDown" 'PrefixI 'False) (U1 :: Type -> Type))))

Methods

from :: Button -> Rep Button x

to :: Rep Button x -> Button

Read Button Source # 
Instance details

Defined in Graphics.Vty.Input.Events

Methods

readsPrec :: Int -> ReadS Button

readList :: ReadS [Button]

readPrec :: ReadPrec Button

readListPrec :: ReadPrec [Button]

Show Button Source # 
Instance details

Defined in Graphics.Vty.Input.Events

Methods

showsPrec :: Int -> Button -> ShowS

show :: Button -> String

showList :: [Button] -> ShowS

NFData Button Source # 
Instance details

Defined in Graphics.Vty.Input.Events

Methods

rnf :: Button -> ()

Eq Button Source # 
Instance details

Defined in Graphics.Vty.Input.Events

Methods

(==) :: Button -> Button -> Bool

(/=) :: Button -> Button -> Bool

Ord Button Source # 
Instance details

Defined in Graphics.Vty.Input.Events

Methods

compare :: Button -> Button -> Ordering

(<) :: Button -> Button -> Bool

(<=) :: Button -> Button -> Bool

(>) :: Button -> Button -> Bool

(>=) :: Button -> Button -> Bool

max :: Button -> Button -> Button

min :: Button -> Button -> Button

type Rep Button Source # 
Instance details

Defined in Graphics.Vty.Input.Events

type Rep Button = D1 ('MetaData "Button" "Graphics.Vty.Input.Events" "vty-6.2-DcXWeJWsGO567Grcv1nBbK" 'False) ((C1 ('MetaCons "BLeft" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BMiddle" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "BRight" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "BScrollUp" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "BScrollDown" 'PrefixI 'False) (U1 :: Type -> Type))))

type ClassifyMap = [(String, Event)] Source #

data InternalEvent Source #

The type of internal events that drive the internal Vty event dispatching to the application.

Constructors

ResumeAfterInterrupt

Vty resumed operation after the process was interrupted (e.g. with a signal). In practice this translates into a screen redraw in the input event loop.

InputEvent Event

An input event was received.