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.