---
name: "Gtk2::Gdk::Keymap"
section: "3pm"
platform: "linux"
package: "libgtk2-perl-doc"
version: "2:1.24992-1"
release: "Debian 10 (Buster)"
platforms: ["linux"]
url: "https://new.carta.tech/Gtk2::Gdk::Keymap"
---

# Gtk2::Gdk::Keymap(3pm)

wrapper for GdkKeymap

## NAME

Gtk2::Gdk::Keymap - wrapper for GdkKeymap

## HIERARCHY

```
  Glib::Object
  +----Gtk2::Gdk::Keymap
```

## METHODS

### modifiertype = $keymap-\>add\_virtual\_modifiers ($state)

- •

  `$state` (Gtk2::Gdk::ModifierType)

Since: gtk+ 2.20

### boolean = $keymap-\>get\_caps\_lock\_state

Since: gtk+ 2.16

### keymap = Gtk2::Gdk::Keymap-\>get\_default

### direction = $keymap-\>get\_direction

### ({ key1, keyval1 }, { ... }) = $keymap-\>get\_entries\_for\_keycode (hardware\_keycode)

- •

  `$hardware_keycode` (integer)

Returns a list of hash references, each with two keys: "key" pointing to a *GdkKeymapKey* and "keyval" pointing to the corresponding key value.

### keys = $keymap-\>get\_entries\_for\_keyval (keyval)

- •

  `$keyval` (integer)

Returns a list of *GdkKeymapKey*s.

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.  Gtk2::Gdk::Event::Key contains a group field that indicates the active keyboard group.  The level is computed from the modifier mask.

### keymap = Gtk2::Gdk::Keymap-\>get\_for\_display ($display)

- •

  `$display` (Gtk2::Gdk::Display)

Since: gtk+ 2.2

### boolean = $keymap-\>have\_bidi\_layouts

Since: gtk+ 2.12

### integer = $keymap-\>lookup\_key ($key)

- •

  `$key` (scalar)

### (bool, new\_state) = $keymap-\>map\_virtual\_modifiers (keymap, state)

- •

  `$state` (Gtk2::Gdk::ModifierType)

Since: gtk+ 2.20

### (keyval, effective\_group, level, consumed\_modifiers) = $keymap-\>translate\_keyboard\_state (hardware\_keycode, state, group)

- •

  `$hardware_keycode` (integer)

- •

  `$state` (Gtk2::Gdk::ModifierType)

- •

  `$group` (integer)

## SIGNALS

- **direction-changed** (Gtk2::Gdk::Keymap)

  - **keys-changed** (Gtk2::Gdk::Keymap)

  - **state-changed** (Gtk2::Gdk::Keymap)

  ## ENUMS AND FLAGS

### flags Gtk2::Gdk::ModifierType

- •

  'shift-mask' / 'GDK\_SHIFT\_MASK'

- •

  'lock-mask' / 'GDK\_LOCK\_MASK'

- •

  'control-mask' / 'GDK\_CONTROL\_MASK'

- •

  'mod1-mask' / 'GDK\_MOD1\_MASK'

- •

  'mod2-mask' / 'GDK\_MOD2\_MASK'

- •

  'mod3-mask' / 'GDK\_MOD3\_MASK'

- •

  'mod4-mask' / 'GDK\_MOD4\_MASK'

- •

  'mod5-mask' / 'GDK\_MOD5\_MASK'

- •

  'button1-mask' / 'GDK\_BUTTON1\_MASK'

- •

  'button2-mask' / 'GDK\_BUTTON2\_MASK'

- •

  'button3-mask' / 'GDK\_BUTTON3\_MASK'

- •

  'button4-mask' / 'GDK\_BUTTON4\_MASK'

- •

  'button5-mask' / 'GDK\_BUTTON5\_MASK'

- •

  'super-mask' / 'GDK\_SUPER\_MASK'

- •

  'hyper-mask' / 'GDK\_HYPER\_MASK'

- •

  'meta-mask' / 'GDK\_META\_MASK'

- •

  'release-mask' / 'GDK\_RELEASE\_MASK'

- •

  'modifier-mask' / 'GDK\_MODIFIER\_MASK'

### enum Pango::Direction

- •

  'ltr' / 'PANGO\_DIRECTION\_LTR'

- •

  'rtl' / 'PANGO\_DIRECTION\_RTL'

- •

  'ttb-ltr' / 'PANGO\_DIRECTION\_TTB\_LTR'

- •

  'ttb-rtl' / 'PANGO\_DIRECTION\_TTB\_RTL'

- •

  'weak-ltr' / 'PANGO\_DIRECTION\_WEAK\_LTR'

- •

  'weak-rtl' / 'PANGO\_DIRECTION\_WEAK\_RTL'

- •

  'neutral' / 'PANGO\_DIRECTION\_NEUTRAL'

## SEE ALSO

Gtk2, Glib::Object

## COPYRIGHT

Copyright (C) 2003-2011 by the gtk2-perl team.

This software is licensed under the LGPL.  See Gtk2 for a full notice.
