Safe Haskell | None |
---|---|
Language | Haskell98 |
- data Direction
- keyUp :: Direction
- keyDown :: Direction
- data CLogLevel
- newtype CKeycode = CKeycode {
- unCKeycode :: Word32
- newtype CLayoutIndex = CLayoutIndex Word32
- newtype CModIndex = CModIndex {}
- newtype CLevelIndex = CLevelIndex Word32
- newtype CLedIndex = CLedIndex {}
- newtype Keysym = Keysym Int
- data StateComponent
- newtype CModMask = CModMask Word32
- stateModDepressed :: StateComponent
- stateModLatched :: StateComponent
- stateModLocked :: StateComponent
- stateModEffective :: StateComponent
- stateLayoutDepressed :: StateComponent
- stateLayoutLatched :: StateComponent
- stateLayoutLocked :: StateComponent
- stateLayoutEffective :: StateComponent
- stateLeds :: StateComponent
Documentation
One keyboard key. Events on keys are the input of libxkbcommon.
newtype CLayoutIndex Source #
Index of a keyboard layout.
The layout index is a state component which detemines which keyboard layout is active. These may be different alphabets, different key arrangements, etc.
Layout indexes are consecutive. The first layout has index 0.
Each layout is not required to have a name, and the names are not guaranteed to be unique (though they are usually provided and unique). Therefore, it is not safe to use the name as a unique identifier for a layout. Layout names are case-sensitive.
Layouts are also called "groups" by XKB.
Index of a modifier.
A modifier is a state component which changes the way keys are interpreted. A keymap defines a set of modifiers, such as Alt, Shift, Num Lock or Meta, and specifies which keys may activate which modifiers (in a many-to-many relationship, i.e. a key can activate several modifiers, and a modifier may be activated by several keys. Different keymaps do this differently).
When retrieving the keysyms for a key, the active modifier set is consulted;
this detemines the correct shift level to use within the currently active layout
(see CLevelIndex
).
Modifier indexes are consecutive. The first modifier has index 0.
One graphical symbol (usually on-screen). This is the end product of libxkbcommon. Some keysyms are not graphical characters, but can also represent e.g. Left or Right arrow keys. Refer to the libxkbcommon documentation for details.
NOTE that XKB_KEY_NoSymbol
is represented by a Nothing
in haskell-xkbcommon.
(xkb_keysym_t
)
data StateComponent Source #
Modifier and layout types for state objects.
In XKB, the DEPRESSED components are also known as 'base'.
(xkb_state_component
)