| Top |  |  |  |  | 
| typedef | AtspiControllerEventMask | 
| typedef | AtspiKeyMaskType | 
| typedef | AtspiKeyEventMask | 
| typedef | AtspiDeviceEventMask | 
| struct | AtspiDeviceEvent | 
| struct | AtspiEventListenerMode | 
| struct | AtspiKeyDefinition | 
| struct | AtspiEvent | 
| typedef | AtspiKeystrokeListener | 
| enum | AtspiKeyListenerSyncType | 
GBoxed ├── AtspiDeviceEvent ├── AtspiEvent ╰── AtspiKeyDefinition GFlags ╰── AtspiKeyListenerSyncType
struct AtspiDeviceEvent {
  AtspiEventType type;
  guint id;
  gushort hw_code;
  gushort modifiers;
  guint timestamp;
  gchar * event_string;
  gboolean is_text;
};
struct AtspiEventListenerMode {
  gboolean synchronous;
  gboolean preemptive;
  gboolean global;
};
struct AtspiKeyDefinition {
  gint keycode;
  gint keysym;
  gchar *keystring;
  gint unused;
};
struct AtspiEvent {
  gchar  *type;
  AtspiAccessible  *source;
  gint         detail1;
  gint         detail2;
  GValue any_data;
};
Specifies the type of a key listener event. The values above can and should be bitwise-'OR'-ed together, observing the compatibility limitations specified in the description of each value. For instance, ATSPI_KEYLISTENER_ALL_WINDOWS | ATSPI_KEYLISTENER_CANCONSUME is a commonly used combination which gives the AT complete control over the delivery of matching events. However, such filters should be used sparingly as they may have a negative impact on system performance.
| Events may be delivered asynchronously, which means in some cases they may already have been delivered to the application before the AT client receives the notification. | ||
| Events are delivered synchronously, before the currently focussed application sees them. | ||
| Events may be consumed by the AT client. Presumes and requires ATSPI_KEYLISTENER_SYNCHRONOUS, incompatible with ATSPI_KEYLISTENER_NOSYNC. | ||
| Events are received not from the application toolkit layer, but from the device driver or windowing system subsystem; such notifications are 'global' in the sense that they are not broken or defeated by applications that participate poorly in the accessibility APIs, or not at all; however because of the intrusive nature of such snooping, it can have side-effects on certain older platforms. If unconditional event notifications, even when inaccessible or "broken" applications have focus, are not required, it may be best to avoid this enum value/flag. |