Added docs and C bindings for AccessibleStateSet and AccessibleRelationSet.
[platform/core/uifw/at-spi2-atk.git] / idl / Registry.idl
index 3d519ff..2e56cf3 100644 (file)
@@ -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: