Class
GdkKeymap
Description [src]
final class Gdk.Keymap : GObject.Object
{
/* No available fields */
}
A GdkKeymap defines the translation from keyboard state
(including a hardware key, a modifier mask, and active keyboard group)
to a keyval. This translation has two phases. The first phase is
to determine the effective keyboard group and level for the keyboard
state; the second phase is to look up the keycode/group/level triplet
in the keymap and see what keyval it corresponds to.
Instance methods
gdk_keymap_add_virtual_modifiers
Maps the non-virtual modifiers (i.e Mod2, Mod3, …) which are set
in state to the virtual modifiers (i.e. Super, Hyper and Meta) and
set the corresponding bits in state.
since: 2.20
gdk_keymap_get_entries_for_keycode
Returns the keyvals bound to hardware_keycode.
The Nth GdkKeymapKey in keys is bound to the Nth
keyval in keyvals. Free the returned arrays with g_free().
When a keycode is pressed by the user, the keyval from
this list of entries is selected by considering the effective
keyboard group and level. See gdk_keymap_translate_keyboard_state().
gdk_keymap_get_entries_for_keyval
Obtains a list of keycode/group/level combinations that will
generate keyval. Groups and levels are two kinds of keyboard mode;
in general, the level determines whether the top or bottom symbol
on a key is used, and the group determines whether the left or
right symbol is used. On US keyboards, the shift key changes the
keyboard level, and there are no groups. A group switch key might
convert a keyboard between Hebrew to English modes, for example.
GdkEventKey contains a %group field that indicates the active
keyboard group. The level is computed from the modifier mask.
The returned array should be freed
with g_free().
gdk_keymap_get_modifier_mask
Returns the modifier mask the keymap’s windowing system backend
uses for a particular purpose.
since: 3.4
gdk_keymap_have_bidi_layouts
Determines if keyboard layouts for both right-to-left and left-to-right languages are in use.
since: 2.12
gdk_keymap_lookup_key
Looks up the keyval mapped to a keycode/group/level triplet.
If no keyval is bound to key, returns 0. For normal user input,
you want to use gdk_keymap_translate_keyboard_state() instead of
this function, since the effective group/level may not be
the same as the current keyboard state.
gdk_keymap_map_virtual_modifiers
Maps the virtual modifiers (i.e. Super, Hyper and Meta) which
are set in state to their non-virtual counterparts (i.e. Mod2,
Mod3,…) and set the corresponding bits in state.
since: 2.20
gdk_keymap_translate_keyboard_state
Translates the contents of a GdkEventKey into a keyval, effective
group, and level. Modifiers that affected the translation and
are thus unavailable for application use are returned in
consumed_modifiers.
See [Groups][key-group-explanation] for an explanation of
groups and levels. The effective_group is the group that was
actually used for the translation; some keys such as Enter are not
affected by the active keyboard group. The level is derived from
state. For convenience, GdkEventKey already contains the translated
keyval, so this function isn’t as useful as you might think.
Signals
Gdk.Keymap::direction-changed
The ::direction-changed signal gets emitted when the direction of the keymap changes.
since: 2.0
Gdk.Keymap::keys-changed
The ::keys-changed signal is emitted when the mapping represented by
keymap changes.
since: 2.2
Gdk.Keymap::state-changed
The ::state-changed signal is emitted when the state of the keyboard changes, e.g when Caps Lock is turned on or off. See gdk_keymap_get_caps_lock_state().
since: 2.16
Signals inherited from GObject (1)
GObject::notify
The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.