X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=idl%2FAccessibility_Registry.idl;h=3d9d21294700ccba03c5fcae2e0fa260976694b4;hb=09b09daa2b88f6b54895ee49f59cd060b14a5acf;hp=96da28be05fac85e626ab8f6d7b3a3a137f85fe3;hpb=31dcfbfe1181a558e4e1b8381ca397943bb96a78;p=platform%2Fcore%2Fuifw%2Fat-spi2-atk.git diff --git a/idl/Accessibility_Registry.idl b/idl/Accessibility_Registry.idl index 96da28b..3d9d212 100644 --- a/idl/Accessibility_Registry.idl +++ b/idl/Accessibility_Registry.idl @@ -21,9 +21,9 @@ */ #include -#include -#include -#include +#include +#include +#include #ifndef _ACCESSIBILITY_REGISTRY_IDL_ #define _ACCESSIBILITY_REGISTRY_IDL_ @@ -39,7 +39,6 @@ module Accessibility { /** * registerApplication: * @application: a reference to the requesting @Application - * return values: void * * Register a new application with the accessibility broker. * @@ -50,8 +49,7 @@ module Accessibility { * deregisterApplication: * @application: a reference to the @Application * to be deregistered. - * return values: void - * + * * De-register an application previously registered with the broker. * **/ @@ -62,20 +60,18 @@ module Accessibility { * @listener: a reference to the requesting @EventListener. * @eventName: a string which indicates the type of events about * which the client desires notification. - * return values: void * * Register a client's interest in (all) application events of * a certain type. * **/ void registerGlobalEventListener (in EventListener listener, - in string eventName); + in string eventName); /** * deregisterGlobalEventListener: * @listener: the requesting @EventListener * @eventName: a string indicating the type of events - * return values: void * * Request that a previously registered client stop receiving * global notifications for events of a certain type. @@ -87,7 +83,6 @@ module Accessibility { * deregisterGlobalEventListener: * @listener: the requesting @EventListener * @eventName: a string indicating the type of events - * return values: void * * Request that a previously registered client stop receiving * global notifications for events of a certain type. @@ -115,41 +110,47 @@ module Accessibility { /** * getDesktopCount: - * return values: a short integer indicating the current number of - * @Desktops. * * Get the current number of desktops. - * + * Returns: a short integer indicating the current number of + * @Desktops. **/ short getDesktopCount (); /** * getDesktop: * @n: the index of the requested @Desktop. - * return values: a reference to the requested @Desktop. * * Get the nth accessible desktop. * + * Returns: a reference to the requested @Desktop. **/ Desktop getDesktop (in short n); /** * getDesktopList: - * return values: a sequence containing references to - * the @Desktops. * * Get a list of accessible desktops. * + * Returns: a sequence containing references to + * the @Desktops. **/ DesktopSeq getDesktopList (); /** * getDeviceEventController: - * return values: an object implementing DeviceEventController * + * Returns: an object implementing DeviceEventController **/ DeviceEventController getDeviceEventController (); + /** + * unImplemented: + * + * placeholders for future expansion. + */ + void unImplemented (); + void unImplemented2 (); }; enum KeyEventType { @@ -157,6 +158,19 @@ module Accessibility { KEY_RELEASED }; + enum EventType { + KEY_PRESSED_EVENT, + KEY_RELEASED_EVENT + }; + + enum KeySynthType { + KEY_PRESS, + KEY_RELEASE, + KEY_PRESSRELEASE, + KEY_SYM, + KEY_STRING + }; + enum ModifierType { MODIFIER_SHIFT, MODIFIER_ALT, @@ -168,29 +182,36 @@ module Accessibility { MODIFIER_NUMLOCK }; - struct ControllerEventMask { - unsigned long value; - unsigned short refcount; + struct EventListenerMode { + boolean synchronous; + boolean preemptive; + boolean global; }; - struct KeyStroke { - long keyID; - KeyEventType type; + typedef unsigned long ControllerEventMask; + + struct DeviceEvent { + EventType type; + long id; + short hw_code; unsigned short modifiers; + unsigned long timestamp; + string event_string; + boolean is_text; }; typedef sequence< long > KeySet; typedef sequence< KeyEventType > KeyEventTypeSeq; - interface KeystrokeListener { - boolean keyEvent (in KeyStroke key); + interface DeviceEventListener : Bonobo::Unknown { + boolean notifyEvent (in DeviceEvent event); }; interface DeviceEventController : Bonobo::Unknown { /** * registerKeystrokeListener: - * @listener: a @KeystrokeListener which will intercept key events. + * @listener: a @DeviceEventListener which will intercept key events. * @keys: a @KeySet indicating which keys to intercept, or KEYSET_ALL_KEYS. * @mask: a @ControllerEventMask filtering the intercepted key events. * @type: an @EventType mask that may created by ORing event types together. @@ -204,21 +225,60 @@ module Accessibility { * consume them. * **/ - void registerKeystrokeListener (in KeystrokeListener listener, + void registerKeystrokeListener (in DeviceEventListener listener, in KeySet keys, in ControllerEventMask mask, in KeyEventTypeSeq type, - in boolean is_synchronous); + in EventListenerMode mode); + /** + * deregisterKeystrokeListener: + * @listener: a @DeviceEventListener which will intercept key events. + * @keys: a @KeySet indicating which keys to intercept, or KEYSET_ALL_KEYS. + * @mask: a @ControllerEventMask filtering the intercepted key events. + * @type: an @EventType mask that may created by ORing event types together. + * + * Returns: void + * + * De-register a previously registered keyboard eventlistener. + * + **/ + void deregisterKeystrokeListener (in DeviceEventListener listener, + in KeySet keys, + in ControllerEventMask mask, + in KeyEventTypeSeq type); + + boolean notifyListenersSync (in DeviceEvent event); + + oneway void notifyListenersAsync (in DeviceEvent event); + /** - * generateKeyEvent: - * @keyEventID: a long integer indicating which keypress is synthesized. + * generateKeyboardEvent: + * @keycode: a long integer indicating the keycode of + * the keypress to be synthesized. + * @keystring: an optional UTF-8 string indicating a complex + * keyboard input event. + * @type: a #KeySynthType indicating the type of event(s) to be + * synthesized: a key press, release, press-release pair, + * or a complex input string (for instance from an + * internationalized or complex text input method, or + * a composed character). + * + * Note that @keycode may be truncated before being + * processed, as keycode length may be platform-dependent + * and keycode ranges are generally much smaller than + * CORBA_long. + * One or the other of @keycode or @keystring are generally NULL, + * (but not both), depending on the value of @type. + * * Returns: void * - * Synthesize a keypress event. + * Synthesize a keyboard event. * **/ - void generateKeyEvent (in long keyEventID); + void generateKeyboardEvent (in long keycode, + in string keystring, + in KeySynthType type); /** * generateMouseEvent: @@ -231,6 +291,14 @@ module Accessibility { * **/ void generateMouseEvent (in long x, in long y, in string eventName); + + /** + * unImplemented: + * + * placeholders for future expansion. + */ + void unImplemented (); + void unImplemented2 (); }; };