| Maintainer | Toshio Ito <debug.ito@gmail.com> |
|---|---|
| Safe Haskell | None |
| Language | Haskell2010 |
WildBind.X11.Internal.Key
Description
This is an internal module. Package users should not rely on this.
- class XKeyInput k where
- xKeyEventToXKeyInput :: XKeyInput k => KeyMaskMap -> KeyEventType -> XKeyEventPtr -> MaybeT IO k
- data KeyEventType
- data KeyMaskMap = KeyMaskMap {}
- getKeyMaskMap :: Display -> IO KeyMaskMap
- data XKeyEvent = XKeyEvent {}
- data XMod
- class ToXKeyEvent k where
- addXMod :: ToXKeyEvent k => XMod -> k -> XKeyEvent
- press :: ToXKeyEvent k => k -> XKeyEvent
- release :: ToXKeyEvent k => k -> XKeyEvent
- shift :: ToXKeyEvent k => k -> XKeyEvent
- ctrl :: ToXKeyEvent k => k -> XKeyEvent
- alt :: ToXKeyEvent k => k -> XKeyEvent
- super :: ToXKeyEvent k => k -> XKeyEvent
- xGrabKey :: Display -> Window -> KeySym -> KeyMask -> IO ()
- xUngrabKey :: Display -> Window -> KeySym -> KeyMask -> IO ()
- xSendKeyEvent :: KeyMaskMap -> Display -> Window -> XKeyEvent -> IO ()
Key
class XKeyInput k where Source #
Class of data types that can be handled by X11. The data type can tell X11 to grab key with optional modifiers, and it can be extracted from a X11 Event object.
Since: 0.2.0.0
Minimal complete definition
Methods
toKeySym :: k -> KeySym Source #
Get the X11 keysym for this input.
toModifierMasks :: KeyMaskMap -> k -> NonEmpty KeyMask Source #
Get modifer masks to grab the keysym. The grab action is repeated for all modifier masks. By default, it just returns 0.
fromKeyEvent :: KeyMaskMap -> KeyEventType -> KeySym -> KeyMask -> Maybe k Source #
Create the input object from a key event type, a keysym and a modifier (got from XEvent.)
Instances
| XKeyInput NumPadUnlocked Source # | This input event captures the |
| XKeyInput NumPadLocked Source # | This input event captures the |
| XKeyInput XKeyEvent Source # |
|
| (XKeyInput a, XKeyInput b) => XKeyInput (Either a b) Source # |
|
xKeyEventToXKeyInput :: XKeyInput k => KeyMaskMap -> KeyEventType -> XKeyEventPtr -> MaybeT IO k Source #
Extract the XKeyInput from the XKeyEvent.
Since: 0.2.0.0
data KeyEventType Source #
Whether the key is pressed or released.
Since: 0.2.0.0
Constructors
| KeyPress | |
| KeyRelease |
Instances
Modifiers
data KeyMaskMap Source #
KeyMask values assigned to each modifier keys/states. If
the modifier doesn't exist, the mask is 0.
Since: 0.2.0.0
Constructors
| KeyMaskMap | |
Fields
| |
Instances
getKeyMaskMap :: Display -> IO KeyMaskMap Source #
Get current KeyMaskMap.
Since: 0.2.0.0
XKeyEvent
High-level X11 key event.
Since: 0.2.0.0
Constructors
| XKeyEvent | |
Fields
| |
X11 key modifiers.
Since: 0.2.0.0
class ToXKeyEvent k where Source #
Something that can converted to XKeyEvent.
Since: 0.2.0.0
Minimal complete definition
Methods
toXKeyEvent :: k -> XKeyEvent Source #
Instances
| ToXKeyEvent KeySym Source # | |
| ToXKeyEvent XKeyEvent Source # | |
| (ToXKeyEvent a, ToXKeyEvent b) => ToXKeyEvent (Either a b) Source # | |
addXMod :: ToXKeyEvent k => XMod -> k -> XKeyEvent Source #
Add a XMod to xKeyEventMods.
Since: 0.2.0.0
press :: ToXKeyEvent k => k -> XKeyEvent Source #
Set KeyPress to xKeyEventType.
Since: 0.2.0.0
release :: ToXKeyEvent k => k -> XKeyEvent Source #
Set KeyRelease to xKeyEventType.
Since: 0.2.0.0
shift :: ToXKeyEvent k => k -> XKeyEvent Source #
Add Shift modifier to xKeyEventMods.
Since: 0.2.0.0
ctrl :: ToXKeyEvent k => k -> XKeyEvent Source #
Add Ctrl modifier to xKeyEventMods.
Since: 0.2.0.0
alt :: ToXKeyEvent k => k -> XKeyEvent Source #
Add Alt modifier to xKeyEventMods.
Since: 0.2.0.0
super :: ToXKeyEvent k => k -> XKeyEvent Source #
Add Super modifier to xKeyEventMods.
Since: 0.2.0.0
Grabs
xGrabKey :: Display -> Window -> KeySym -> KeyMask -> IO () Source #
Grab the specified key on the specified window. The key is captured from now on, so the window won't get that.
Since: 0.2.0.0
xUngrabKey :: Display -> Window -> KeySym -> KeyMask -> IO () Source #
Release the grab on the specified key.
Since: 0.2.0.0
Event generation
xSendKeyEvent :: KeyMaskMap -> Display -> Window -> XKeyEvent -> IO () Source #
Send a XKeyEvent to the window.
Since: 0.2.0.0