X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=idl%2FRegistry.idl;h=2e56cf3420d544e068db9e45a0363b07b2149e56;hb=783e63cad5945ddb6df3ee129d20d5b53c6cce04;hp=3d519fff3e328322cab77e94e0be60adb4efade0;hpb=336746297d374424847b92b8109cd43d00dde230;p=platform%2Fcore%2Fuifw%2Fat-spi2-atk.git diff --git a/idl/Registry.idl b/idl/Registry.idl index 3d519ff..2e56cf3 100644 --- a/idl/Registry.idl +++ b/idl/Registry.idl @@ -157,6 +157,18 @@ module Accessibility { KEY_RELEASED }; + enum EventType { + KEY_PRESSED_EVENT, + KEY_RELEASED_EVENT + }; + + enum KeySynthType { + KEY_PRESS, + KEY_RELEASE, + KEY_PRESSRELEASE, + KEY_SYM + }; + enum ModifierType { MODIFIER_SHIFT, MODIFIER_ALT, @@ -176,10 +188,19 @@ module Accessibility { struct KeyStroke { long keyID; short keycode; + unsigned long timestamp; KeyEventType type; unsigned short modifiers; }; + struct DeviceEvent { + long eventID; + short hw_code; + unsigned long timestamp; + EventType type; + unsigned short modifiers; + }; + typedef sequence< long > KeySet; typedef sequence< KeyEventType > KeyEventTypeSeq; @@ -187,6 +208,10 @@ module Accessibility { boolean keyEvent (in KeyStroke key); }; + interface DeviceEventListener : Bonobo::Unknown { + boolean notifyEvent (in DeviceEvent event); + }; + interface DeviceEventController : Bonobo::Unknown { /** @@ -232,15 +257,28 @@ module Accessibility { in KeyEventTypeSeq type, in boolean is_synchronous); + boolean notifyListenersSync (in DeviceEventListener listener, + in DeviceEvent event); + + oneway void notifyListenersAsync (in DeviceEventListener listener, + in DeviceEvent event); + /** * generateKeyEvent: - * @keyEventID: a long integer indicating which keypress is synthesized. + * @keycode: a long integer indicating the keycode of + * the keypress to be synthesized. + * + * Note that this long may be truncated before being + * processed, as keycode length may be platform-dependent + * and keycode ranges are generally much smaller than + * CORBA_long. + * * Returns: void * * Synthesize a keypress event. * **/ - void generateKeyEvent (in long keyEventID); + void generateKeyEvent (in long keycode, in KeySynthType type); /** * generateMouseEvent: