| 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. |