3 #include <Application.idl>
8 typedef sequence<Desktop> DesktopSeq;
10 interface DeviceEventController;
12 interface Registry : EventListener {
15 * registerApplication:
16 * @application: a reference to the requesting @Application
19 * Register a new application with the accessibility broker.
22 void registerApplication (in Application application);
25 * deregisterApplication:
26 * @application: a reference to the @Application
30 * De-register an application previously registered with the broker.
33 void deregisterApplication (in Application application);
36 * registerGlobalEventListener:
37 * @listener: a reference to the requesting @EventListener.
38 * @eventName: a string which indicates the type of events about
39 * which the client desires notification.
42 * Register a client's interest in (all) application events of
46 void registerGlobalEventListener (in EventListener listener,
50 * deregisterGlobalEventListener:
51 * @listener: the requesting @EventListener
52 * @eventName: a string indicating the type of events
55 * Request that a previously registered client stop receiving
56 * global notifications for events of a certain type.
60 void deregisterGlobalEventListener (in EventListener listener);
62 * event types: "Window" "Desktop"
63 * "Window:Create" "Window:Destroy"
64 * "Window:Iconify" "Window:Restore"
65 * "Window:Fullscreen" "Window:Resize"
66 * "Desktop:Create" "Desktop:Destroy"
67 * "Desktop:Focus" "Desktop:Defocus"
71 * "GObject:notify:<propertyname>"
73 * ( not sure we should allow these last 2 forms,
74 * since they are toolkit-specific, but they're powerful )
80 * return values: a short integer indicating the current number of
83 * Get the current number of desktops.
86 short getDesktopCount ();
90 * @n: the index of the requested @Desktop.
91 * return values: a reference to the requested @Desktop.
93 * Get the nth accessible desktop.
96 Desktop getDesktop (in short n);
100 * return values: a sequence containing references to
103 * Get a list of accessible desktops.
106 DesktopSeq getDesktopList ();
109 * getDeviceEventController:
110 * return values: an object implementing DeviceEventController
113 DeviceEventController getDeviceEventController ();
131 typedef sequence<ModifierType> ModifierSeq;
136 ModifierSeq modifiers;
139 interface KeystrokeListener {
140 boolean keyEvent (in KeyStroke key);
143 interface DeviceEventController {
146 * registerKeystrokeListener:
147 * @listener: a @KeystrokeListener which will intercept key events.
150 * Register to intercept keyboard events, and either pass them on or
154 void registerKeystrokeListener (in KeystrokeListener listener);
158 * @keyEventID: a long integer indicating which keypress is synthesized.
161 * Synthesize a keypress event.
164 void generateKeyEvent (in long keyEventID);
167 * generateMouseEvent:
168 * @x: a long integer indicating the screen x coord for the mouse event.
169 * @y: a long integer indicating the screen y coord for the mouse event.
170 * @eventName: a string indicating the type of mouse event, e.g. "button1up"
173 * Synthesize a mouse event.
176 void generateMouseEvent (in long x, in long y, in string eventName);