2003-07-22 Padraig O'Briain <padraig.obriain@sun.com>
[platform/core/uifw/at-spi2-atk.git] / idl / Accessibility_Registry.idl
index 3d9d212..295d45d 100644 (file)
@@ -151,8 +151,13 @@ module Accessibility {
         */
        void unImplemented ();
        void unImplemented2 ();
+       void unImplemented3 ();
+       void unImplemented4 ();
+       void unImplemented5 ();
+       void unImplemented6 ();
     };
 
+  /* Deprecated, DO NOT USE! */
   enum KeyEventType {
     KEY_PRESSED,
     KEY_RELEASED
@@ -160,7 +165,9 @@ module Accessibility {
 
   enum EventType {
     KEY_PRESSED_EVENT,
-    KEY_RELEASED_EVENT
+    KEY_RELEASED_EVENT,
+    BUTTON_PRESSED_EVENT,
+    BUTTON_RELEASED_EVENT
   };
 
   enum KeySynthType {
@@ -200,11 +207,25 @@ module Accessibility {
     boolean is_text;
   };
 
-  typedef sequence< long > KeySet;
-  typedef sequence< KeyEventType > KeyEventTypeSeq;
+  struct KeyDefinition {
+    long keycode;
+    long keysym;
+    string keystring;
+    long unused;
+  };   
+
+  typedef sequence< KeyDefinition > KeySet;
+  typedef sequence< EventType > KeyEventTypeSeq;
+  typedef sequence< EventType > EventTypeSeq;
 
   interface DeviceEventListener : Bonobo::Unknown {
         boolean notifyEvent (in DeviceEvent event);
+        void    unImplemented__ ();
+        void    unImplemented_2_ ();
+        void    unImplemented_3_ ();
+        void    unImplemented_4_ ();
+        void    unImplemented_5_ ();
+        void    unImplemented_6_ ();
   };
 
   interface DeviceEventController : Bonobo::Unknown {
@@ -219,13 +240,13 @@ module Accessibility {
         *            receive the events synchronously, potentially consuming them,
         *            or just be notified asynchronously of those events that have
         *            been generated.
-        * Returns: void
+        * Returns: %true if successful, %false if not
          *
          * Register to intercept keyboard events, and either pass them on or
          * consume them. 
          *
         **/
-        void registerKeystrokeListener (in DeviceEventListener listener,
+        boolean registerKeystrokeListener (in DeviceEventListener listener,
                                        in KeySet keys,
                                        in ControllerEventMask mask,
                                        in KeyEventTypeSeq type,
@@ -248,6 +269,34 @@ module Accessibility {
                                          in ControllerEventMask mask,
                                          in KeyEventTypeSeq type);
     
+       /**
+         * registerDeviceEventListener:
+         * @listener: a @DeviceEventListener which will intercept events.
+        * @typeseq:  an @EventTypeSeq indicating which event types to listen for.
+        * Returns: %true if successful, %false if not
+         *
+         * Register to intercept events, and either pass them on or
+         * consume them. To listen to keyboard events use registerKeystrokeListener
+        * instead.
+         *
+        **/
+        boolean registerDeviceEventListener (in DeviceEventListener listener,
+                                            in EventTypeSeq typeseq);
+    
+       /**
+         * deregisterDeviceEventListener:
+         * @listener: a @DeviceEventListener which will intercept events.
+        * @typeseq:  an @EventTypeSeq indicating which event types to stop
+        *            listening for.
+        *
+        * Returns: void
+         *
+         * De-register a previously registered keyboard eventlistener.
+         *
+        **/
+        void deregisterDeviceEventListener (in DeviceEventListener listener,
+                                           in EventTypeSeq typeseq);
+    
         boolean notifyListenersSync (in DeviceEvent event);
 
         oneway void notifyListenersAsync (in DeviceEvent event);
@@ -299,6 +348,8 @@ module Accessibility {
          */
         void unImplemented ();
         void unImplemented2 ();
+        void unImplemented3 ();
+        void unImplemented4 ();
     }; 
 };