### Struct

# Atk KeyEventStruct

#### Description [src]

    struct AtkKeyEventStruct {
      gint type;
      guint state;
      guint keyval;
      gint length;
      gchar* string;
      guint16 keycode;
      guint32 timestamp;
    }

Encapsulates information about a key event.

###### Structure members

`type:` `gint`

  An AtkKeyEventType, generally one of ATK_KEY_EVENT_PRESS or ATK_KEY_EVENT_RELEASE.

`state:` `guint`

  A bitmask representing the state of the modifier keys immediately after the event takes place. The meaning of the bits is currently defined to match the bitmask used by GDK in GdkEventType.state, see http://developer.gnome.org/doc/API/2.0/gdk/gdk-Event-Structures.html#GdkEventKey.

`keyval:` `guint`

  A guint representing a keysym value corresponding to those used by GDK and X11: see /usr/X11/include/keysymdef.h.

`length:` `gint`

  The length of member #string.

`string:` `gchar*`

  A string containing one of the following: either a string approximating the text that would result from this keypress, if the key is a control or graphic character, or a symbolic name for this keypress. Alphanumeric and printable keys will have the symbolic key name in this string member, for instance “A”. “0”, “semicolon”, “aacute”. Keypad keys have the prefix “KP”.

`keycode:` `guint16`

  The raw hardware code that generated the key event. This field is raraly useful.

`timestamp:` `guint32`

  A timestamp in milliseconds indicating when the event occurred. These timestamps are relative to a starting point which should be considered arbitrary, and only used to compare the dispatch times of events to one another.