Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include <Accessibility_Event.idl>
00024 #include <Accessibility_Application.idl>
00025 #include <Accessibility_Desktop.idl>
00026
00027 #ifndef _ACCESSIBILITY_REGISTRY_IDL_
00028 #define _ACCESSIBILITY_REGISTRY_IDL_
00029
00030 module Accessibility {
00031
00032 typedef sequence<Desktop> DesktopSeq;
00033
00034 interface DeviceEventController;
00035
00073 interface Registry : EventListener {
00074
00079 oneway void registerApplication (in Application app);
00080
00087 void deregisterApplication (in Application app);
00088
00096 void registerGlobalEventListener (in EventListener listener,
00097 in string eventName);
00098
00107 void deregisterGlobalEventListenerAll (in EventListener listener);
00108
00118 void deregisterGlobalEventListener (in EventListener listener,
00119 in string eventName);
00144 short getDesktopCount ();
00145
00154 Desktop getDesktop (in short n);
00155
00162 DesktopSeq getDesktopList ();
00163
00169 DeviceEventController getDeviceEventController ();
00170
00176 void unImplemented ();
00177 void unImplemented2 ();
00178 void unImplemented3 ();
00179 void unImplemented4 ();
00180 void unImplemented5 ();
00181 void unImplemented6 ();
00183 };
00184
00186 enum KeyEventType {
00187 KEY_PRESSED,
00188 KEY_RELEASED
00189 };
00190
00195 enum EventType {
00196 KEY_PRESSED_EVENT,
00197 KEY_RELEASED_EVENT,
00198 BUTTON_PRESSED_EVENT,
00200 BUTTON_RELEASED_EVENT
00202 };
00203
00205 enum KeySynthType {
00206 KEY_PRESS,
00207 KEY_RELEASE,
00208 KEY_PRESSRELEASE,
00209 KEY_SYM,
00220 KEY_STRING
00226 };
00227
00228 enum ModifierType {
00229 MODIFIER_SHIFT,
00230 MODIFIER_SHIFTLOCK,
00231 MODIFIER_CONTROL,
00232 MODIFIER_ALT,
00233 MODIFIER_META,
00241 MODIFIER_META2,
00242 MODIFIER_META3,
00243 MODIFIER_NUMLOCK
00246 };
00247
00252 struct EventListenerMode {
00253 boolean synchronous;
00262 boolean preemptive;
00269 boolean global;
00279 };
00280
00290 typedef unsigned long ControllerEventMask;
00291
00293 struct DeviceEvent {
00294 EventType type;
00295 long id;
00298 short hw_code;
00311 unsigned short modifiers;
00321 unsigned long timestamp;
00327 string event_string;
00333 boolean is_text;
00338 };
00339
00367 struct KeyDefinition {
00368 long keycode;
00369 long keysym;
00370 string keystring;
00371 long unused;
00372 };
00373
00374 typedef sequence< KeyDefinition > KeySet;
00375 typedef sequence< EventType > KeyEventTypeSeq;
00376 typedef sequence< EventType > EventTypeSeq;
00377
00382 interface DeviceEventListener : Bonobo::Unknown {
00388 boolean notifyEvent (in DeviceEvent event);
00390 void unImplemented__ ();
00391 void unImplemented_2_ ();
00392 void unImplemented_3_ ();
00393 void unImplemented_4_ ();
00394 void unImplemented_5_ ();
00395 void unImplemented_6_ ();
00397 };
00398
00403 interface DeviceEventController : Bonobo::Unknown {
00404
00429 boolean registerKeystrokeListener (in DeviceEventListener listener,
00430 in KeySet keys,
00431 in ControllerEventMask mask,
00432 in KeyEventTypeSeq type,
00433 in EventListenerMode mode);
00434
00442 void deregisterKeystrokeListener (in DeviceEventListener listener,
00443 in KeySet keys,
00444 in ControllerEventMask mask,
00445 in KeyEventTypeSeq type);
00446
00455 boolean registerDeviceEventListener (in DeviceEventListener listener,
00456 in EventTypeSeq typeseq);
00457
00464 void deregisterDeviceEventListener (in DeviceEventListener listener,
00465 in EventTypeSeq typeseq);
00466
00482 boolean notifyListenersSync (in DeviceEvent event);
00483
00495 oneway void notifyListenersAsync (in DeviceEvent event);
00496
00517 void generateKeyboardEvent (in long keycode,
00518 in string keystring,
00519 in KeySynthType type);
00520
00527 void generateMouseEvent (in long x, in long y, in string eventName);
00528
00534 void unImplemented ();
00535 void unImplemented2 ();
00536 void unImplemented3 ();
00537 void unImplemented4 ();
00539 };
00540 };
00541
00542 #endif