Blame idl/controller.didl
|
Packit |
8b6d7a |
|
|
Packit |
8b6d7a |
interface org.freestandards.atspi.DeviceEventController {
|
|
Packit |
8b6d7a |
|
|
Packit |
8b6d7a |
enum <uint32> KeySynthType {
|
|
Packit |
8b6d7a |
KEY_PRESS=0,
|
|
Packit |
8b6d7a |
KEY_RELEASE,
|
|
Packit |
8b6d7a |
KEY_PRESSRELEASE,
|
|
Packit |
8b6d7a |
KEY_SYM,
|
|
Packit |
8b6d7a |
KEY_STRING
|
|
Packit |
8b6d7a |
}
|
|
Packit |
8b6d7a |
|
|
Packit |
8b6d7a |
/*
|
|
Packit |
8b6d7a |
Consumption of events and syncronous event delivery is a sore-thumb.
|
|
Packit |
8b6d7a |
|
|
Packit |
8b6d7a |
The client should really have no say over what the DeviceEventController
|
|
Packit |
8b6d7a |
does with regards to event delivery as such the 'syncronous' flag is redundant.
|
|
Packit |
8b6d7a |
|
|
Packit |
8b6d7a |
The 'global' flag is now useless as XEVIE is no longer maintained. As such
|
|
Packit |
8b6d7a |
the DeviceEventController will not recieve any device events from applications
|
|
Packit |
8b6d7a |
not participating.
|
|
Packit |
8b6d7a |
|
|
Packit |
8b6d7a |
The only possibly useful flag is 'preemptive'. However all keyboard events are
|
|
Packit |
8b6d7a |
sent as pre-emptive from gail so its debateable whether even this flag is really
|
|
Packit |
8b6d7a |
in-use.
|
|
Packit |
8b6d7a |
*/
|
|
Packit |
8b6d7a |
struct EventListenerMode {
|
|
Packit |
8b6d7a |
/* Controller should block while delivering this event. */
|
|
Packit |
8b6d7a |
boolean syncronous;
|
|
Packit |
8b6d7a |
/* Clients are allowed to consume this event. */
|
|
Packit |
8b6d7a |
boolean preemptive;
|
|
Packit |
8b6d7a |
/*
|
|
Packit |
8b6d7a |
Event notifications should be sent regardless of whether
|
|
Packit |
8b6d7a |
focused application participates in AT-SPI accessibility.
|
|
Packit |
8b6d7a |
*/
|
|
Packit |
8b6d7a |
boolean global;
|
|
Packit |
8b6d7a |
}
|
|
Packit |
8b6d7a |
|
|
Packit |
8b6d7a |
struct KeyDefinition {
|
|
Packit |
8b6d7a |
int32 keycode;
|
|
Packit |
8b6d7a |
int32 keysym;
|
|
Packit |
8b6d7a |
string keystring;
|
|
Packit |
8b6d7a |
int32 unused;
|
|
Packit |
8b6d7a |
}
|
|
Packit |
8b6d7a |
|
|
Packit |
8b6d7a |
method RegisterKeystrokeListener {
|
|
Packit |
8b6d7a |
object listener;
|
|
Packit |
8b6d7a |
KeyDefinition[] keys;
|
|
Packit |
8b6d7a |
uint32 mask;
|
|
Packit |
8b6d7a |
EventType[] type;
|
|
Packit |
8b6d7a |
EventListenerMode mode;
|
|
Packit |
8b6d7a |
} reply {
|
|
Packit |
8b6d7a |
boolean success;
|
|
Packit |
8b6d7a |
}
|
|
Packit |
8b6d7a |
|
|
Packit |
8b6d7a |
method DeregisterKeystrokeListener {
|
|
Packit |
8b6d7a |
object listener;
|
|
Packit |
8b6d7a |
KeyDefinition[] keys;
|
|
Packit |
8b6d7a |
uint32 mask;
|
|
Packit |
8b6d7a |
EventType[] type;
|
|
Packit |
8b6d7a |
}
|
|
Packit |
8b6d7a |
|
|
Packit |
8b6d7a |
method RegisterDeviceEventListener {
|
|
Packit |
8b6d7a |
object listener;
|
|
Packit |
8b6d7a |
EventType[] type;
|
|
Packit |
8b6d7a |
} reply {
|
|
Packit |
8b6d7a |
boolean success;
|
|
Packit |
8b6d7a |
}
|
|
Packit |
8b6d7a |
|
|
Packit |
8b6d7a |
method DeregisterDeviceEventListener {
|
|
Packit |
8b6d7a |
object listener;
|
|
Packit |
8b6d7a |
EventType[] type;
|
|
Packit |
8b6d7a |
}
|
|
Packit |
8b6d7a |
|
|
Packit |
8b6d7a |
method NotifyListenersSync {
|
|
Packit |
8b6d7a |
DeviceEvent event;
|
|
Packit |
8b6d7a |
} reply {
|
|
Packit |
8b6d7a |
boolean consumed;
|
|
Packit |
8b6d7a |
}
|
|
Packit |
8b6d7a |
|
|
Packit |
8b6d7a |
method NotifyListenersAsync {
|
|
Packit |
8b6d7a |
DeviceEvent event;
|
|
Packit |
8b6d7a |
}
|
|
Packit |
8b6d7a |
|
|
Packit |
8b6d7a |
method GenerateKeyboardEvent {
|
|
Packit |
8b6d7a |
int32 keycode;
|
|
Packit |
8b6d7a |
string keystring;
|
|
Packit |
8b6d7a |
KeySynthType type;
|
|
Packit |
8b6d7a |
}
|
|
Packit |
8b6d7a |
|
|
Packit |
8b6d7a |
method GenerateMouseEvent {
|
|
Packit |
8b6d7a |
int32 x;
|
|
Packit |
8b6d7a |
int32 y;
|
|
Packit |
8b6d7a |
string event_name;
|
|
Packit |
8b6d7a |
}
|
|
Packit |
8b6d7a |
}
|