Restructured docs directory, added docs/reference/idl and docs/reference/cspi.
[platform/core/uifw/at-spi2-atk.git] / ChangeLog
index 649fd17..f7a6f58 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,689 @@
-<2001-09-30  Bill Haneman <bill.haneman@sun.com>
+2001-21-11  Bill Haneman  <bill.haneman@sun.com>
+
+       * configure.in:
+       * docs/Makefile.am:
+       * docs/reference:
+       * docs/reference:Makefile.am:
+       * docs/reference/cspi:
+       * docs/reference/cspi:Makefile.am:
+       * docs/reference/cspi:tmpl:
+       * docs/reference/cspi:tmpl:*.sgml:
+       * docs/reference/idl:
+       * docs/reference/idl:Makefile.am:
+       * docs/reference/idl:at-spi-idl-sections.txt:
+       * docs/reference/idl:at-spi-idl-docs.sgml:
+       * docs/reference/idl:tmpl:
+       * docs/reference/idl:tmpl:*.sgml:
+
+       Restructured docs directory to allow separate 'reference' docs
+       section, and forked idl and cspi docs.  Added the sgml template
+       files to CVS.  Added the first sections/structural sgml for the
+       IDL docs.
+
+2001-11-21  Laszlo Peter  <laca@ireland.sun.com>
+
+       * configure.in, libspi/Makefile.am: find libXtst.
+
+2001-11-21  Michael Meeks  <michael@ximian.com>
+
+       * test/accessx-gui.c: s/spi_value/value/ - doh.
+
+       * libspi/base.[ch]: add.
+
+2001-18-11  Bill Haneman <bill.haneman@sun.com>
+
+       * idl/Accessible.idl:
+       * idl/Application.idl:
+       * idl/Registry.idl:
+       * idl/Action.idl:
+       Started gtk-doc cleanup on IDL.
+
+       * libspi/deviceeventcontroller.c:
+       Added and connected non-preemptive key notification from the
+       toolkits (in addition to the pre-emptive support from XServer
+       which we had before, but which causes 'focus flashing').  Filters
+       are presently limited to key modifiers and global/non-global,
+       KeySets are presently ignored, as are KeyEvent masks.
+
+       Fixed naughtiness in dec_key_listener_new(), we copy the CORBA
+       structs into the persistant structure rather than just storing
+       pointers to things that might not persist across servant
+       invocations.
+
+       The XGrabKey call now does async keygrabs, because synchronous
+       ones were deadlocking with GDK_event code in a very nasty way.
+
+       Added boolean to internal method notify_keylisteners, to indicate
+       whether the event came from the 'toolkit source' or the 'global
+       (XServer) source' - this is used in the notification process to
+       determine which listeners to send the event to.
+
+       deviceeventcontroller.c is now warning-free.
+       
+       * libspi/registry.c:
+       Fixed regression in application de-registration.
+       Also fixed some really brain-dead weirdness having to do with
+       event dispatching - event structs are now duplicated before being
+       re-marshalled in the dispatch to listeners.  This also fixes a
+       Solaris build problem.
+       
        
+2001-20-11  Michael Meeks  <michael@ximian.com>
+
+       * libspi/registry.c
+       (impl_accessibility_registry_deregister_global_event_listener): 
+       segv. protection.
+
+       * libspi/deviceeventcontroller.c
+       (spi_device_event_controller_check_key_event): return
+       FALSE on no virtual method.
+
+       * libspi/*..h: make includes work on a correctly pathed install.
+
+       * libspi/*.h: include glib/gmacros.h, use G_BEGIN / END _DECLS.
+
+       * libspi/application.h: kill unused ( and whacked out )
+       gboolean *spi_application_set_id (AtkObject *app, long id);
+
+2001-20-11  Michael Meeks  <michael@ximian.com>
+
+       * libspi/*.[ch]: further convert to bonobo's type func
+       macros, remove redundnant casts etc.
+
+       * libspi/text.c s/accessibility_text/spi_text/g,
+       re-order to de-cruft.
+
+       * libspi/hypertext.c: re-order to kill a huge slew
+       of redundant forward decls.
+
+       * libspi/relation.c: ditto.
+
+       * libspi/image.c: ditto.
+
+       * */.cvsignore: update
+       
+2001-20-11  Michael Meeks  <michael@ximian.com>
+
+       * libspi/deviceeventcontroller.c
+       (_controller_register_with_devices): use g_getenv,
+       kill stdlib.h include.
+
+       * libspi/keystrokelistener.c
+       (spi_keystroke_listener_get_type): kill
+       (spi_keystroke_listener_class_init),
+       (spi_keystroke_listener_init): rename to this.
+
+       * libspi/text.c (impl_getAttributes): fix warning / bug.
+
+       * libspi/*.[ch]: more headers, includes and over commenting.
+       
+2001-20-11  Michael Meeks  <michael@ximian.com>
+
+       * libspi/*.[ch]: fixup headers, includes and over commenting.
+
+       * libspi/image.c (impl__get_imageDescription): const
+       correctness warning fix. remove redundant casting.
+
+       * libspi/table.c (impl_getRowDescription): ditto.
+       (impl_getColumnDescription): ditto.
+
+       * libspi/libspi.h: add.
+
+2001-19-11  Michael Meeks  <michael@ximian.com>
+
+       * libspi/editabletext.c (impl_setAttributes): fix warnings.
+
+       * libspi/component.c (accessibility_component_get_type): 
+       rename to (spi_component_get_type): and macroify.
+       (accessibility_component_init): rename to
+       (spi_component_init): this
+       (accessibility_component_class_init): rename to
+       (spi_component_class_init): this
+
+       * libspi/action.c (spi_action_get_type): kill, use the macro.
+
+       * libspi/deviceeventcontroller.c (_compare_listeners): re-order
+       to avoid prototype.
+
+       * libspi/application.c (spi_application_object_event_listener),
+       (impl_accessibility_application_register_object_event_listener):
+       warning fixes / const understanding updates.
+
+       * libspi/accessible.c (impl_accessibility_accessible_get_relation_set):
+       warning fixes.
+
+2001-18-11  Bill Haneman <bill.haneman@sun.com>
+
+       * libspi/spi_accessible.c: Added docs and C bindings for
+       AccessibleStateSet. (No implementations yet).  Documentation
+       coverage for C bindings now 100%. Made docs for event listeners
+       more explicit.
+       
+       * idl/Registry.idl:
+       Added methods 
+            boolean notifyListenersSync (in DeviceEventListener listener,
+                                    in DeviceEvent event);
+
+            oneway void notifyListenersAsync (in DeviceEventListener listener,
+                                         in DeviceEvent event);
+
+       Added DeviceEventListener and DeviceEvent structs (may deprecate
+       KeyStroke and KeystrokeListener in favor of this generic
+       event/listener framework for devices).
+
+       * libspi/deviceeventcontroller.c:
+
+       Changed some key listener code to take masks, etc., and paved the
+       way for integration of toolkit/non-preemptive key events. Changed
+       signatures of some internal methods.
+
+       * at-bridge/bridge.c:
+        Fixed regression connecting to interface signals, apparently
+       caused by GTK+ changes.
+
+       Added an internal bridge_state_listener to deal with
+       property-change:accessible-state signals.
+
+       Changed the key_listeners GList to store structs (including masks,
+       etc.) instead of just CORBA_Objects (required for full
+       implementation of key listener API).
+
+       Connected the bridge to all currently supported Atk signals.
+       Events now supported: 
+           object:property-change
+            object:property-change:accessible-name
+            object:property-change:accessible-state
+            object:property-change:accessible-description
+            object:property-change:accessible-parent
+            object:property-change:accessible-value
+            object:property-change:accessible-role
+            object:property-change:accessible-table-caption
+            object:property-change:accessible-table-column-description
+            object:property-change:accessible-table-column-header
+            object:property-change:accessible-table-row-description
+            object:property-change:accessible-table-row-header
+            object:property-change:accessible-table-summary
+            object:children-changed
+            object:visible-data-changed
+            object:selection-changed
+            object:text-selection-changed
+            object:text-changed
+            object:text-caret-moved
+            object:row-inserted
+            object:row-reordered
+            object:row-deleted
+            object:column-inserted
+            object:column-reordered
+            object:column-deleted
+            object:model-changed        
+
+2001-16-11  Bill Haneman <bill.haneman@sun.com>
+
+       * libspi/hyperlink.c,h:
+       Fixed some broken stuff in hyperlink.
+       
+       * libspi/relation.h:
+       * libspi/relation.c:
+       * cspi/spi_accessible.c:
+       Initial implementations of AccessibleRelation methods, and docs.
+
+       * libspi/accessible.c:
+       Fixed a bug that caused SEGV  if an accessible
+       object's description is NULL, and a client
+       requests it.  An empty string is now returned.
+
+       * cspi/spi_editabletext.c:
+       * cspi/spi_hypertext.c:
+       * cspi/spi_image.c:
+       * cspi/spi_hyperlink.c:
+       * cspi/spi_table.c:
+       Added docs.  
+
+       Doc coverage now 95%.
+
+2001-16-11  Bill Haneman <bill.haneman@sun.com>
+
+       One last namespacing revision:
+       * libspi/accessibleeventlistener.[ch]:
+       Renamed SpiAccessibleEventListener to SpiEventListener,
+       (no need for two namespaces ;-)
+
+       And lots of documentation fixes:
+
+       * docs/at-spi-docs.sgml:
+       Fixed 'underscore vs. hyphen' bug that was preventing
+       the gtk-doc API docs from being automatically generated.
+
+       * cspi/spi-impl.h
+       * cspi/spi-listener.h
+       * cspi/spi.h
+       * cspi/spi_accessible.c
+       * cspi/spi_action.c
+       * cspi/spi_application.c
+       * cspi/spi_component.c
+       * cspi/spi_editabletext.c
+       * cspi/spi_event.c
+       * cspi/spi_hypertext.c
+       * cspi/spi_main.c
+       * cspi/spi_registry.c
+       * cspi/spi_selection.c
+       * cspi/spi_text.c
+       * cspi/spi_value.c
+       * docs/Makefile.am
+       * docs/at-spi-docs.sgml
+       * docs/at-spi-sections.txt
+       
+       Added and fixed up gtk-doc documentation in cspi.
+       
+       Interfaces now (fully) documented (subject to revision and enhancement):
+       SPI_main
+       Event Listener Support
+       Registry API
+       AccessibleApplication
+       Accessible
+       AccessibleAction
+       AccessibleComponent
+       AccessibleEditableText
+       AccessibleSelection
+       AccessibleText
+       AccessibleValue
+
+       still pending:
+       AccessibleStateSet
+       AccessibleRelationSet
+       AccessibleImage
+       AccessibleTable
+       AccessibleHyperlink
+       
+2001-14-11  Bill Haneman <bill.haneman@sun.com>
+
+       * at-bridge/bridge.c:
+       Initial work for toolkit-level key snooper connection by bridge.
+
+       * cspi/spi-impl.h:
+       * cspi/spi_*.h:
+       * cspi/spi_*.c:
+       New typedefs and fixes to support new namespacing, and cleaner
+       separation of cspi bindings from libspi bonobo implementation.  
+       Removed inconsistent and extraneous Spi* namespace prefix that
+       had crept into cspi headers.
+       Lots of comment fixes that sed had missed.
+
+       * cspi/spi-roletypes.h:
+       * cspi/spi-statetypes.h:
+       Added SPI_ prefix to Role and State typedefs, and changed all-caps ROLE type
+       to AccessibleRoleType.
+       
+       * libspi/accessibleeventlistener.h:
+       Fixed minor namespacing weirdness.
+
+       * libspi/deviceeventcontroller.c:
+        Reordered some internal API for device listeners.
+       Changed the key registry final boolean to 'is_system_global'
+       rather than 'is_synchronous', which is more descriptive of its 
+       actual meaning.
+       Added spi_device_event_controller_new().
+       Added  SpiRegistry backpointer to SpiDeviceEventControllerClass.
+        
+       * libspi/keystrokelistener.[ch]:
+       Namespaced KeystrokeListener to SpiKeystrokeListener.
+       Changed uses of keymasks to use SPI_ prefix, and did other
+       knock-on fixups.
+
+       * libspi/keymasks.h:
+       Namespaced keymask constants with SPI_ prefix.
+
+       * libspi/registry.c:
+       Some warning fixes, and knock-on fixes from namespace changes.
+
+       * test/Makefile.am:
+       Added rules for accessx-gui test program.
+
+       * test/accessx-gui.c:
+       Added a simple GUI program in GTK+-2.0 for the AccessX keyboard
+       utility.  It doesn't actually use at-spi, but it's still cool and
+       useful ;-)
+
+       * test/keysynth-demo.c:
+       * test/simple-at.c:
+       * test/at.c:
+       * test/app.c:
+       Fixes so that these test clients work properly with the namespaced
+       libraries. (Incompletely tested for technical reasons, fixes may follow)
+       
+
+2001-13-11  Michael Meeks  <michael@ximian.com>
+
+       * libspi/application.c
+       (impl_accessibility_application_get_version),
+       (impl_accessibility_application_get_toolkit_name):
+       warning fixes.
+       (impl_accessibility_application_set_id),
+       (impl_accessibility_application_get_id): remove
+       redundant casting code.
+
+       * libspi/action.c (impl_getDescription): fix warnings.
+
+       * libspi/accessible.c
+       (impl_accessibility_accessible_get_parent),
+       (impl_accessibility_accessible_get_child_at_index),
+       (impl_accessibility_accessible_get_state),
+       (impl_accessibility_accessible_get_relation_set):
+       warning fixes & include action.h
+
+2001-13-11  Michael Meeks  <michael@ximian.com>
+
+       * *.[ch] fix bits I screwed up:
+
+               s/([^ \tb(\*\&\?\",])spi_/\1/g;
+               s/([^ \tb(\*\&\?\",])Spi/\1/g;
+       
+2001-13-11  Michael Meeks  <michael@ximian.com>
+
+       * *.[ch] Namespace libspi into spi_ and Spi.
+
+2001-13-11  Michael Meeks  <michael@ximian.com>
+
+       * Makefile.am: dist & install at-spi-1.0.pc
+
+       * libspi/Makefile.am: install into at-spi-1.0
+
+       * idl/Makefile.am (idldir): install into at-spi-1.0
+
+       * at-spi-1.0.pc.in: add.
+
+       * configure.in: build it.
+
+2001-12-11  Bill Haneman <bill.haneman@sun.com>
+
+        * test/keysynth-demo.c:
+        Use a 'realize' signal-handler to set the WM properties for
+        the virtual keyboard, rather than making it a "POPUP" type
+        override-redirect window (thanks to anders carlsson for that
+        tip!)
+
+2001-11-11  Bill Haneman <bill.haneman@sun.com>
+
+       * test/Makefile.am:
+       * test/keysynth-demo.c:
+       Added new test of key synthesis, which creates a simple
+       (mouse-operated) onscreen keyboard.  It inserts key events into
+       the currently-focused window, thus it does not grab keyboard focus
+       itself.
+
+       * cspi/spi_registry.c:
+       Added C binding for AT-SPI generateKeyEvent.
+
+       * libspi/deviceeventcontroller.c:
+       Added call to XFilterEvent so that key listener works with XIM (we
+       hope).  Added event_synth_type to generateKeyEvent, so that we can
+       produce KEY_PRESS, KEY_RELEASE, KEY_PRESSRELEASE (pair), or
+       synthesize a press/release pair for KeySyms.    
+       
+2001-11-09  Bill Haneman <bill.haneman@sun.com>
+
+       * libspi/Makefile.am: 
+       * registryd/Makefile.am:
+       (temporary) hack to include libXtst in libspi and registryd.
+       (Needed for keystroke synthesis, see below).
+
+       * idl/Registry.idl:
+       Improved API for registerKeystrokeListener, in accordance with
+       discussions with Gnopernicus team and X server research.
+
+       * libspi/registry.c:
+       * libspi/deviceeventcontroller.c:
+       * libspi/accessible.c:
+       * libspi/keystrokelistener.c:
+       Changes and fixes to support keylisteners for potentially
+       consumed key events (that is, 'passive grabs').
+       Added implementation for generateKeyEvent() [untested].
+
+       * cspi/spi.h:
+       Changes to registerKeystrokeListener() API, as above.
+       Added deregisterGlobalEventListenerAll(), and 
+       deregisterKeystrokeListener(), which are needed for clean exit of
+       clients.
+       Added typedefs for KeyListenerSyncType, KeyEventMask, and KeySet,
+       and a macro ALL_KEYS which may be used in place of a KeySet pointer.
+       
+       * cspi/spi_registry.c:
+       Added implementations of function prototypes mentioned above.
+       
+       * registryd/registryd.c:
+       Added the key listener event source as a g_timeout(), to allow
+       receipt of key events that are not caught by GDK (since GDK
+       doesn't support passive keygrabs, this was necessary).
+
+       * test/simple-at.c:
+       Changed to attach a keylistener to 'Alt' keys, and
+       respond to the following keycommands: Alt-M (toggle magnifier);
+       Alt-F (toggle speech); Alt-Q (quit).
+       Added an exit routine to deregister the listeners, and a key
+       listener that prints some key info to the console when a key
+       matches the listener mask (and is thus received by the listener).
+       
+       * util/idl/Magnifier.idl:
+       Changes to magnifier API to support multiple zoom regions,
+       non-uniform scaling in x and y, markDirty, and a host of other
+       features that would be useful to magnification.
+
+       * util/mag_image.h:
+       * util/mag_client.c:
+       * util/mag_client.h:
+       * util/mag_control.c:
+       * util/magnifier.c:
+       Source code changes to support the above IDL changes.
+       
+       * util/mag_image.c:
+       As above, and also changes to use a (slower) generic conversion
+       path for colormap conversions, since the fast RGB conversions have been
+       reported to fail for 16-bit displays.
+
+2001-10-26  Michael Meeks  <michael@ximian.com>
+
+       * libspi/Makefile.am (orbittypelibdir): install in orbit-2.0
+
+<2001-10-26  Laszlo Peter <laca@ireland.sun.com>
+
+       * at-bridge/Makefile.am: fix LDFLAGS.
+
+<2001-10-09  Bill Haneman <bill.haneman@sun.com>
+
+       * at-bridge/bridge.c:
+       Re-worked listeners for toolkit events, now we have signal
+       and property listeners. Added a private method
+       register_atk_event_listeners(), which registers with the
+       various atk and gtk signals we need to monitor in order to emit
+       our at-spi events.
+       Added emission hook for AtkObject:property-change events, to
+       support the 'property listeners'.
+       Fixed some alloc()s of Accessibility_Event structs to use CORBA
+       allocation.
+
+       * cspi/spi-util.c: added methods spi_warn_ev and spi_check_ev,
+       which emit warnings and exit, respectively, if CORBA errors occur
+       during remote calls, and we now use these methods to check most of
+       our CORBA calls in the C bindings.
+
+       * cspi/spi_accessible.c:
+       Changed AccessibleSelection_refSelectedChild() to
+       AccessibleSelection_getSelectedChild(), since all our cspi 'gets'
+       now increment refcounts.
+
+       * cspi/spi_component.c:
+       Fixed some long pointer casts (dangerous!) to pass pointers to
+       CORBA_longs of the proper type to the CORBA stubs, and copy the
+       data into the longs that were passed into the C bindings code.
+       
+       * at-bridge/bridge.c:
+       
+       * libspi/accessible.c:
+       Removed ATK_IS_HYPERLINK() query, since AtkObjects are never
+       hyperlinks, AtkHyperlink is an object type.     
+
+       * libspi/application.c:
+       Added various conversions to and from "generic" event types and
+       atk-specific types; this is really part of the 'bridge'
+       implementation but is valid for all AtkObject-based accessibility 
+       implementations.
+
+       * libspi/editabletext.c:
+       Fixed nasty bug wherein editable text's finalize method was
+       unref'ing tha AtkObject reference that the text parent class was
+       about to unref _again_.  There was also a nasty inheritance bug
+       that meant that the AccessibleEditableText class was corrupt.
+
+       * libspi/selection.c:
+       Provided implementations for some selection API that was broken.
+       
+       * idl/Application.idl:
+       Added registerObjectEventListener () method.
+
+       * THROUGHOUT:
+       Fixed a number of return values that were Bonobo_Unknowns from
+       bonobo_object_corba_objref(), which I
+       forgot to dup before returning.  Changed instances of 
+       bonobo_object_corba_objref (bonobo_object(o)) to
+       BONOBO_OBJREF(o), for concision and clarity.
+       
+<2001-10-13  Louise Miller <louise.miller@sun.com>
+
+       * idl/Accessible.idl, idl/Application.idl, idl/Desktop.idl,
+       idl/Event.idl, idl/Registry.idl
+       Changed these files to include Bonobo_Unknown.idl instead
+       of Bonobo.idl
+
+<2001-09-10  Marc Mulcahy <marc.mulcahy@sun.com
+
+       * libspi/component.c libspi/component.h:
+               Fixed typo.  Added assertions for object checks in 
+       AccessibleComponent code.
+
+<2001-10-09  Bill Haneman <bill.haneman@sun.com>
+
+       * idl/Accessible.idl:
+               Added 'isEqual (Accessible *object)' 
+       method for Accessible. (Not Yet Implemented).
+       
+       * idl/Registry.idl:
+               Changed signature of registerKeystrokeListener() to
+       take a KeySet and KeyEventSeq so that specific keys and event
+       types could be requested for monitoring, and added a flag
+       is_synchronous so that either synchronous or asynchronous
+       notification could be requested.  (However this is not all
+       implemented yet). This also meant adding two new typedefs,
+       KeyEventSeq and KeySet.
+
+       * idl/Relation.idl: 
+               Added two new relations, RELATION_TOOLTIP_FOR and
+       RELATION_LEAFNODE_OF.
+
+       * idl/State.idl:
+               Added new state, STATE_HAS_TOOLTIP.
+       
+       * libspi/text.c, editabletext.c:
+               Added new assertions to all casts of bonobo-objects from
+       CORBA servants, to prevent Text API calls on non-text objects.
+               Changed suspect casts of int-pointer types, so that we
+       always send a valid CORBA_long pointer to the CORBA APIs that use
+       in/out long parameters.  We then have to copy from the CORBA_long
+       into the regular long or int for return to the C bindings, or
+       vice-versa when returning parameters from ATK calls to the bonobo wrappers.
+       
+       * cspi/spi_text.c:
+       * libspi/deviceeventcontroller.c:
+               Cleaned these sources up.
+       * idl/Text.idl:
+               Changed return type for getCharacterAtOffset to
+       CORBA_unsigned_long, to allow for 32-bit characters.
+       
+               
+<2001-10-08  Bill Haneman <bill.haneman@sun.com>
+
+       * util/Makefile.am:
+       * idl/Makefile.am:
+               Fixed 'make dist' so that distro compiles...
+       * libspi/keymasks.h:
+               new file.
+       * cspi/spi-listener.c:
+               KeystrokeListenerCB now returns a boolean.
+       * cspi/spi.h:
+               Added KeyEventType struct, and KeyStroke.
+               Also added createKeystrokeListener(),
+       KeystrokeListener_addCallback(),
+       KeystrokeListener_removeCallback(), and added a keymask to
+       registerKeystrokeListener().
+       * cspi/spi_accessible.c:
+               Changed numerous return types for interfaces from
+       AccessibleComponent to Accessible<InterfaceName>; this was
+       probably a cut-and-paste error.
+       * cspi/spi_event.c:
+               Implementations of new KeystrokeListener api (from spi.h,
+       above).
+       * idl/Registry.idl:
+               Changes to key modifier mapping.
+               Created ControllerEventMask struct.
+               Made DeviceEventController derive from Bonobo::Unknown.
+       * idl/Text.idl:
+               Removed TEXT_BOUNDARY_CURSOR_POS boundary type.
+       * libspi/deviceeventcontroller.c:
+               Added a number of new internal (private) methods.
+       * libspi/editabletext.c:
+       * libspi/editabletext.h:
+               Fixed a number of bugs related to the fact that
+       editabletext inherits from text.  Fixed the EditableText struct,
+       the init() call, and use correct casts when calling Text methods
+       from an EditableText object.  Removed (duplicate) atko from the
+       EditableText structure, we use the one in the parent Text
+       structure via the casts mentioned above.
+       * libspi/keystrokelistener.[ch]:
+       * libspi/registry.c:
+               Changes in support of keyboard handling (above).
+       
+       Keyboard handling, though partly functional, is still not
+       recommended for at-spi client use as there is considerable 
+       work yet to be done.
+
+       * libspi/text.c:
+               Changed some places where pointers to various int types
+       are cast to be pointers to CORBA_long types and vice-versa:
+       pointer casting is not safe so we pass pointers of the correct
+       types and then cast the result before putting it into the target
+       pointers.
+
+       * libspi/text.h: minor typos corrected.
+       * test/simple-at.c: 
+               We now speak not only the name of a Text element, but the
+       first sentence of its content, when it receives focus.
+               I also changed the text compression to 75% from 50%.
+       * util/Accessibility_Util.server.in:
+               Changed the default magnifier type to be a 3x vertical
+       splitscreen magnifier (was previously a 2x horizontal one).
+
+<2001-10-03  Bill Haneman <bill.haneman@sun.com>
+
+       * libspi/keystrokelistener.h:
+       * libspi/keystrokelistener.c:
+               Initial functional implementations of KeystrokeListener.
+       * idl/Registry.idl:
+       
+<2001-10-05  Marc Mulcahy <marc.mulcahy@sun.com>
+
+       Fixed string handling for NULL strings in libspi.
+       Added spi_freeString to free strings returned by C bindings.
+
+<2001-09-30  Bill Haneman <bill.haneman@sun.com>
+
+       * libspi/keystrokelistener.h:
+       * libspi/keystrokelistener.c:
+               Began (no-op) implementations of KeystrokeListener
+                       (see below).
+       * libspi/deviceeventcontroller.c:
+       * libspi/deviceeventcontroller.h:
+               Began creating implementations of DeviceEventController,
+                       to handle keystroke and mouse event listening and
+                       synthesis.
        * libspi/accessible.c:
                Stubbed-in the implementations for
                        Accessibility_Accessible_getState and