2003-09-08  David Bolter <david.bolter@utoronto.ca>

	* configure.in: Version 0.8.0.

2003-09-08  Bill Haneman <bill.haneman@sun.com>

	* NEWS: updated for 0.8.0.

	* README: updated notes; added 'Input Device Configuration'
	section and updated the troubleshooting section.

2003-09-08  Laurent Dhima  <laurenti@alblinux.net>

	* configure.in: Added "sq" to ALL_LINGUAS.

2003-09-04  Bill Haneman <billh@gnome.org>

	* gok/gok-input.c:
	(gok_input_init):
	Pass NULL to gdk_window_add_filter instead of 'root', since GDK
	doesn't successfully handle window-specific XInput events unless
	it's compiled with explicit XInput support (see bugs #121471 and '#121477).
	
2003-08-29  Abel Cheung  <maddog@linux.org.hk>

	* configure.in: Added "mk" "zh_TW" to ALL_LINGUAS.

2003-08-28  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-spy.c: null the accessible text object when the current
	window goes defunct or inactive.
	
	Fixes bug #120914

2003-08-26  David Bolter <david.bolter@utoronto.ca>

	* configure.in: updated to version 0.7.14
	
	* NEWS: updates

	* gok/gok-spy.c: moved variable declaration for picky compilers (thanks
	  Damien Carbery)

2003-08-22  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-spy.c: gok_spy_has_child no longer searches descendants
	of nameless menus.  added some (commented out) code for exposing
	nameless menus as keys.
	
	Remainder of Fix for bug #119260, some improvement for bug #109187

2003-08-22  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-spy.c: modified gok_spy_worth_searching such that
	non-menu-like things must have state SPI_STATE_SHOWING.
	
	Fixes bug #119260.

2003-08-21  David Bolter <david.bolter@utoronto.ca>

	* gok/: gok-spy.c, gok-spy.h: Added gok_spy_get_active_frame
	function. Moved prototype definition into
	header file. 

	* gok/gok-keyboard.c: Fixed an wrongly typed unref, and other minor
	tidying.

	* gok/callbacks.c: moved check for sticky keys from here to main.c

	* gok/main.c: added call to gok_spy_get_active_frame function
	during startup to see if there is an active frame.  moved check for
	sticky keys here from callbacks.c

	* automatic-scanning.xam, direct-selection.xam,
	dwell-selection.xam, inverse-scanning.xam: These files are now
	generated.

	* text-operations.kbd: removed unimplemented spell key.
	
	Fixes bug #120303, #113136, (partial for 119260)

2003-08-21  Padraig O'Briain <padraig.obriain@sun.com>

	* gok/gok-word-complete.c (gok_wordcomplete_predict): Check that we
	have predicted words before working on them.

	This fixes bug #120305.

2003-08-18  David Bolter <david.bolter@utoronto.ca>

	* configure.in: updated gok version to 0.7.13

	* AUTHORS, NEWS, TRANSLATORS: minor updates

2003-08-16  Guntupalli Karunakar  <karunakar@freedomink.org>

	* configure.in: Added "hi" to ALL_LINGUAS.

2003-08-14  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-spy.c: improved gui search heuristic in
	gok_spy_worth_searching.

2003-08-12  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-scanner.c: Temporary workaround in
	gok_scanner_read_access_method to avoid an issue that appeared
	related to bug 90500

	* gok/gok-keyboard.c: Added untranslatable string to credits.

	* gok/main.c: fixed possible endless seg fault loop.

2003-08-12  Abel Cheung  <maddog@linux.org.hk>

	* configure.in, Makefile.am: Pushing intltool requirement
	to 0.27.1 since it has INTLTOOL_XAM_RULES. (Related to #90500)

2003-08-11  Dafydd Harries  <daf@parnassus.ath.cx>

	* configure.in: Added "cy" (Welsh) to ALL_LINGUAS.

2003-08-07  David Bolter <david.bolter@utoronto.ca>

	* gok/: gok-settings-dialog.c, main.c: Robustified
	gok-settings-dialog close and added check for xkb extension in
	gok-main open function, to address bug 118648.

2003-08-06  Metin Amiroff<metin@karegen.com>

	* configure.in: Added "az" (Azerbaijani) to ALL_LINGUAS

2003-08-06  Wang Jian  <lark@linux.net.cn>

	* configure.in: Added "zh_CN" to ALL_LINGUAS.

2003-08-06  David Bolter <david.bolter@utoronto.ca>

	* gok-1.0.pc.in: corrected cspi requirement

2003-08-06  Padraig O'Briain <padraig.obriain@sun.com>

	* gok/callbacks.c (gok_discard_focus_filter): Do not call 
	XSetInputFocus for PointerRoot. See bug #106248.

	This fixes bug #118865.

2003-07-30  Dmitry G. Mastrukov  <dmitry@taurussoft.org>

	* configure.in: Added Belarusian to ALL_LINGUAS.

2003-07-25  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-spy.c: Moved variable declaration for picky compilers.
	(bug 18596) Patch provided by Damien Carbery.

2003-07-24  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-spy.c: minor improvement to  gui search strategy (fixes
	bug 117560)

2003-07-23  David Bolter <david.bolter@utoronto.ca>

	* gok-with-references.schemas.in, gok-with-references.schemas.m4,
	gok/gok-gconf-keys.h, gok/gok-spy.c: added gconf keys:
	gui_search_depth and gui_search_breadth, for tweaking dynamic
	interrogation of GUI. (Relates to bugs 109187, 112281)

	* gok/gok-keyboard.c: removed old debug statement

2003-07-23  Hasbullah Bin Pit  <sebol@ikhlas.com>
                                                                                
        * configure.in: Added 'ms' (Malay) to ALL_LINGUAS.

2003-07-23  Padraig O'Briain <padraig.obriain@sun.com>

	* gok/callbacks.c (gok_discard_focus_filter): If number of mapped 
	toplevels is greater than 1 and none has focus call XSetInputFocus
	on one of them. This fixes bug #118105.

2003-07-23  Padraig O'Briain <padraig.obriain@sun.com>

	* gok/callbacks.c (gok_discard_focus_filter): Call XSetInputFocus
	only if the number of mapped toplevels is not greater than 1.

2003-07-22  Padraig O'Briain <padraig.obriain@sun.com>

	* gok/callbacks.c (gok_discard_focus_filter): Call XSetInputFocus
	for PointerRoot when WM_TAKE_FOCUS atom Client Message is received.
	This ensure that Atl+Tab and Ctrl+Alt+Tab continues to work after
	metacity tries to give focus to gok window.

	This addresses bug #106248.

2003-07-21  Artur Flinta  <aflinta@cvs.gnome.org>

	* configure.in: Added "pl" in ALL_LINGUAS.

2003-07-17  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-key.c: work related to using stock images.

	* gok/main.c: added program exit call to gok_close when
	implementating gok quit key.

	* gok/: gok-output.c, gok-output.h: added internal command output
	type. currently using for gok quit command.

	* Makefile.am, gok-controls.kbd: changes related to new keyboard
	for quitting gok

	* quit.kbd: adding new keyboard for quitting gok

2003-07-16  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-keyboard.c: added repeat key to xkb generated compose
	keyboard. (fix for bug 117602)

2003-07-16  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-spy.c: Added SPI_ROLE_FONT_CHOOSER role type to
	gok_spy_check_window.(fixes bug 117570)

2003-07-15  David Bolter <david.bolter@utoronto.ca>

	* automatic-scanning.xam, automatic-scanning.xml.in,
	direct-selection.xam, direct-selection.xml.in, dwell-selection.xam,
	dwell-selection.xml.in, inverse-scanning.xam,
	inverse-scanning.xml.in: Commented out some unused UI. Small
	changes to complete fix for bug 116903.

	* gok/: gok-scanner.c, gok-scanner.h: Added CALL_CHUNKER_CHUNK_NONE
	call type and hooked it up to new gok_chunker_chunk_none
	implementation.

	* gok/gok-chunker.c: Added gok_chunker_chunk_none implementation

2003-07-15  David Bolter <david.bolter@utoronto.ca>

	* gok/: main.c, main.h: Added check for accessiblity and related
	dialog. (partial fix for bug 116872)

	* gok/: gok-data.c, gok-data.h: added gconf client accessor

2003-07-08  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-keyboard.c: Added a malloc for the "text-operations"
	target string which is later g_free'd. Should help fix bug #116688

2003-07-08  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-spy.c: Improved gok_spy_stop (adding removal of
	additional event listeners).

2003-07-04  David Bolter <david.bolter@utoronto.ca>

	* gok/: gok-spy.c, gok-spy.h, main.c: Possible fix for solaris
	segmentation fault on gok main application close.  Added
	gok_spy_stop so that main can remove gok_spy's event listeners as
	soon as possible, in case as gok closes as it gets its own defunct
	events. (Possible fix for bug #116688)

	* dictionary.txt: Removed a non word.

	* inverse-scanning.xam, inverse-scanning.xml.in: Implemented repeat
	cycles.

2003-07-04  Padraig O'Briain <padraig.obriain@sun.com>

	* gok/gok-scanner.c:
	(gok_scanner_get_lang): Do not free return value from setlocale as it
	causes a crash on Solaris.
	Fix compiler warnings.
	
2003-07-02 Bill Haneman <bill.haneman@sun.com>

	* gok/gok-keyboard.c:
	(gok_keyboard_position_keys):
	Add padding to key positions when dock+expand are both true.
	(gok_keyboard_display):
	Allow for border pixels when dock+expand are both true.
	Fix for #114290 and #114053.
	
2003-07-02 Bill Haneman <bill.haneman@sun.com>

	* configure.in:
	Revved to 0.7.11.

	* Makefile.am: Temporarily removed makefile rule for *.xam files,
	since the make rule was still causing regressions due to intltool-merge
	bug #116529.

	* gok/main.c:
	Use gconf to turn on sticky keys - at request of Jody.
	This is in anticipation of having a warning dialog for when 
	StickyKeys is turned on via a non-gconf mechanism
	(see bug #105093);

	* gok/gok-key.c:
	(gok_key_status_image): 
	Fixed issue with image locations, was inconsistent between
	standard GOK images and key status icons.

	* gok/gok-scanner.c:
	(gok_scanner_get_lang): New method to get the current lang/locale for messages.
	(gok_scanner_find_node): New method, finds an element that suits the current locale.

2003-07-01 Bill Haneman <bill.haneman@sun.com>

	* configure.in: Revved to 0.7.10.
	
	* gok/gok-key.c:
	(gok_key_get_image_filename): 
	Fixed regression introduced by use of images without
	gnome_program_locate_file().

	* gok/main.c:
	(main): Set the GNOME_PARAM_APP_DATADIR to point to
	DATADIR"/gok".

	* po/README-TRANSLATORS: New file, contains notes to 
	GOK translators.

	* *.xam:
	Reinstated these files since an intltool-merge bug
	was causing regressions - until intltool-merge is fixed
	to properly merge translated attributes.

2003-06-30 Bill Haneman <bill.haneman@sun.com>

	* gok/gok-keyboard.c:
	(gok_keyboard_follow_link):
	Tweaks/improvements to hyperlink handling, works with gnome-help
	now (was blocking on gtkhtml2 bug).

	* gok/main.c:
	(gok_main_set_wm_dock):
	Hide the GOK window before docking/undocking, and show afterwards.
	Fixes glitch when floating GOK from docked state.
	
2003-06-30 Bill Haneman <bill.haneman@sun.com>

	* NEWS: updated.

	* direct-selection.xml.in: 
	* dwell-selection.xml.in: 
	* automatic-scanning.xml.in: 
	* inverse-scanning.xml.in: 
	Marked up the user-visible attribute strings
	for translation.
	
	* configure.in: Revved to 0.7.9, because of above fixes.

2003-06-30 Bill Haneman <bill.haneman@sun.com>

	* NEWS: updated.

	* configure.in: Revved to 0.7.8.

	* gok/gok-composer.c:
	(gok_composer_branch_textAction): 
	Worked around side-effect of selection, which
	moves the text insertion cursor in some implementations.
	We now make the selection in "reverse order", i.e.
	endSelection < startSelection, when selecting "backwards", 
	which preserves the existing text selection.  Fix for
	#114879.
	
2003-06-30 Bill Haneman <bill.haneman@sun.com>
	
	* Makefile.am:
	Added rule for intltool-merge of translations into
	*.xam (access method) files.

	* po/POTFILES.in:
	Added direct-selection.xml.in, dwell-selection.xml.in,
	automatic-scanning.xml.in, inverse-scanning.xml.in, and
	gok.desktop.in.

	* direct-selection.xam, dwell-selection.xam:
	* automatic-scanning.xam, inverse-scanning.xam:
	Replaced with *.xml.in, since we now merge translations into these files.
	Partially addresses bug #90500.
	
2003-06-28 Bill Haneman <bill.haneman@sun.com>

	* NE.png, NW.png, SE.png, SW.png:
	* North.png, South.png, East.png, West.png: New images for move-resize keyboard.

	* gok.png: Sample icon for apps menu.

	* Makefile.am: Include the above images in DATA.
	Include gok.desktop.in and install it.

	* gok.desktop.in:
	Revise desktop entry; fix for 115979.  "Accessibility" submenu still needs creation.
	
	* move-resize.kbd: Add images in place of unicode chars for arrows.
	Fixes #108120.
	Indicate the alignment when appropriate.
	Added "Taller, Shorter, Narrower, Wider" keys [partial fix for #98545]

	* gok/main.c:
	(gok_main_open):
	(gok_sig_handler): renamed from gok_segv_handler.
	Added signal handler for SIGTERM and SIGINT; this was necessary
	to keep from losing changes to the wordcompletion dictionary when
	stopped/killed from a console or the invoking terminal. 
	
	* gok/gok-settings-dialog.h:
	* gok/gok-settings-dialog.c:
	(gok_settingsdialog_lock): New method.
	(gok_settingsdialog_show): Desensitize Actions and Access Methods 
	dialog tabs when in "lockdown" mode.  Fix for #114740.
	
	* gok/gok-key.h:
	* gok/gok-key.c:
	(gok_key_initialize): Parse the 'align' attribute in Gok:Image.
	Don't desensitize the whole Settings button, only some
	notebook tabs, when in "lockdown" mode (Fixes #114740).
	
	* gok/gok-button.h:
	* gok/gok-button.c:
	(gok_button_new_with_label, gok_button_new_with_image):
	Take an additional parameter to indicate the desired image alignment,
	we can now left-align or right-align images.
	
	* gok/gok-keyboard.c:
	(gok_keyboard_display): Pass the image placement info to gok_button_new.

2003-06-27 Bill Haneman <bill.haneman@sun.com>

        * gok/gok.glade2:
	* gok/interface.c:
	Added labelled_by/label_for relations to
	Appearance spinbuttons.  Fixes #116192.
	
	* gok/gok-key.h:
	* gok/gok-key.c:
	Added KEYTYPE/KEYSTYLE_PAGESELECTION.

	* gok/gok-keyboard.c:
	(gok_keyboard_page_select): New method.
	Deal with KEYTYPE_PAGESELECTION;
	Fix for page tabs in UI Grab, so that page tab
	accessible objects are "activatable" by calling
	AccessibleSelection_selectChild () on their parent
	with the appropriate index.  
	(gok_keyboard_branch_byKey): Handle KEYTYPE_PAGESELECTION.
	(gok_keyboard_update_dynamic):
	Assign objects with SPI_ROLE_PAGE_TAB the gok key type
	KEYTYPE_PAGESELECTION
	
	* gok/gok-spy.c:
	(gok_spy_is_ui): Include page tabs.
	(gok_spy_find_children): Recurse into objects of type PAGE_TAB
	as well as adding them to the "ui elements" node list.
	(gok_spy_accessible_implicit_ref):
	Performance tweak; don't call getName on accessibles when not
	logging. This reduces API calls when traversing the
	accessible tree.
	
2003-06-26  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-page-actions.c: minor temporary change so the the gconf
	stored input device name is not stomped on.

2003-06-25  Padraig O'Briain <padraig.obriain@sun.com>

	* gok/gok-input.c: Use single static variable for devices so that 
	we have at most one XDeviceInfo list returned by XlistInputDevices 
	not freed. [Padraig: the device should be stored in the action struct.]
	(gok_input_get_device_list): Call XFreeDeviceList on previous
	return value from XListInputDevices.
	Call g-strdup on value being put into GokInput's name field.
	(find_device_info): Call XFreeDeviceList on previous
	return value from XListInputDevices.
	(gok_input_free): Add code to free name and GokInput structure.
	(gok_input_find_by_name): Use g_strdup instead of g_strndup
	(gok_input_get_current): Use static variable to store current GokInput
	and free variable if function is called again.
	
	* gok/gok-page-actions.c 
	(gok_page_actions_initialize): Call gok_input_free for GokInput data 
	structures after calling gtk_combo_set_popdown_strings for device
	strings. Save pDevice value so calling g_slist_free works correctly.
	(gok_page_actions_input_device_changed): Call gok_input_free on
	GokInput returned by gok_input_find_by_name after use.

	This fixes memory leaks reported in bug 115108.

2003-06-20  Padraig O'Briain <padraig.obriain@sun.com>

	* gok/gok-data.c; Change a set of variables to static instead
	of global. Change type of m_eDockType from g_boolean to
	GokDockType. Fix compilation problem. This fixes bug #115252.

2003-06-19  Guntupalli Karunakar  <karunakar@freedomink.org>

	* configure.in: Added "ml" in ALL_LINGUAS.

2003-06-16  Bill Haneman <bill.haneman@sun.com>

	Happy GUADEC to all!
	
	* gok.rc:
	Added (admittedly ugly) style for selections.
	
	* text-operations.kbd: New static keyboard for
	text operations.
	
	* Makefile.am:
	Added text-operations.kbd.

	* gok/main.c:
	(gok_main_keyboard_find_byname): New method.
	(gok_main_display_scan): Use new gok_main_keyboard_find_byname
	internally.
	
	* gok/gok-composer.h:
	* gok/gok-composer.c:
	(gok_composer_show): Removed, the compose keyboard is handled by
	gok_main_display_show now.
	Added enums for GokTextCommandType, GokTextChunkType, and a GokTextCommand
	struct.
	(gok_composer_validate): New method to sensitize the appropriate keys in
	the text operations keyboard.  Needs completing!
	(gok_compose_key_init): New, initialize a GokCommand struct based
	on the key's xml node, and attach it to the key's "pGeneral" storage.
	(gok_composer_branch_textAction): Revised based on above changes
	and those in gok-key.h.  Needs refactoring, as the method is now >200 
	lines long!

	* gok/gok-editor.c:
	Changed reference to KEYTYPE_BRANCHEDITTEXT to KEYTYPE_COMPOSE.
	
	* gok/gok-key.h:
	* gok/gok-key.c:
	(gok_key_initialize):
	KEYTYPE_BRANCHEDITTEXT -> KEYTYPE_BRANCHCOMPOSE.
	Handle xml strings for type "navigate", "edit", "select", and
	"select-toggle".
	Assign an RC style for KEYSTYLE_SELECT.
	
	* gok/gok-keyboard.c:
	KEYTYPE_BRANCHEDITTEXT -> KEYTYPE_BRANCHCOMPOSE.
        Put target "text-operations" in the editable text key 
	on the compose (i.e. "core") keyboard.
	(gok_keyboard_follow_link): Modified hack 
	[temporarily broken with gtkhtml2, fix in progress.]
	(gok_keyboard_branch_editableTextAction):
	Assign gok_spy_get_accessibleWithText() return value to
	pKeyboard->pAccessible.
	Removed KEYTYPE_ACCESSIBLETEXT and KEYTYPE_EDITABLETEXT type usage.

	* gok/gok-spy.c:
	(gok_spy_get_accessibleWithEditableText): Changed to
	gok_spy_get_accessibleWithText since we currently use this only for 
	the text operations keyboard, which can operate with only
	AccessibleText and not only AccessibleEditableText.
	
2003-06-13  Bill Haneman <bill.haneman@sun.com>

	* configure.in: 0.7.7
	* NEWS: updated.
	* gok-keyboard.c:
	(gok_keyboard_add_keys_from_xkb_geom): Fixed
	uninitialized variable 'rightmost'.

2003-06-13  Padraig O'Briain <padraig.obriain@sun.com>

	* gok/gok-input.c (find_device_info): Add extended_only argument	
	in order to find correct extension device.
	(gok_get_input_device): Remove unused function.
	(gok_input_find_by_name): pass entenxed_only value to find_device_info. 

	* gok/interface.c (create_dialogSettings): Remove redundant calls to
	gtk_widget_show for entry field of GtkCombo.
	
2003-06-12  Bill Haneman <bill.haneman@sun.com>
	
	* gok/gok-output.h:
	Changed OUTPUT_KEYSYM, etc. from #defines to an enum,
	GokOutputType.  Added OUTPUT_KEYSTRING.

	* gok/gok-output.c:
	(gok_output_send_to_system): Handle new "KEYSTRING" output type,
	using at-spi keystring synthesis API.
	(gok_output_new): Create new output type.
	
	* gok/gok-word-complete.h:
	(gok_wordcomplete_predict): 
	Changed to take a const gunichar instead of a const gchar.
	
	* gok/gok-word-complete.c:
	m_pWordPart: delete fixed array, use pointer word_part instead.
	Correct spelling of 'separators'. 
	(gok_wordcomplete_predict): 
	Use UTF-8 concatenation of word_part when adding letters amd use
	g_utf8_strlen when deciding its length.
	Change lengthWordPart to length,
	initialize statusPrediction to 0.
	Only predict if word_part != NULL.
	Check for backspace/rubout characters and trim word_predict
	accordingly [Fix for #109183.]
	Reset the word_predict (and call end_word) if the 
	character input is neither backspace nor 'printable', i.e.
	it isn't alphanumeric at all.  We make exception for the
	'non break space' character so that we can word-complete
	tokens that contain non-breaking-space.  (May need to revisit
	this if we do spell-checking per-se on documents that include
	NBS in them for purely visual reasons).
	(gok_wordcomplete_get_output): Make UTF-8 safe; use KEYSTRING output type.
	(gok_wordcomplete_endWord): free and NULL word_part.

2003-06-11  Padraig O'Briain <padraig.obriain@sun.com>

	* configure.in: Correct checking for HAVE_XINPUT. This should fix
	bug #110268.

2003-06-10  David Bolter <david.bolter@utoronto.ca>

	* gok/: gok-composer.c, gok-key.h, gok-keyboard.c: Added selection
	features to gok text manipulation.

2003-06-09  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-spy.c: Fixed a minor bug with major consequence. 
	gok_spy_append_node was allowing objects with no name through,
	breaking many dynamic keyboards. Also fixed a build warning by
	adding a function prototype for gok_spy_is_menu_role.

2003-06-09  Bill Haneman <bill.haneman@sun.com>

	* gok/callbacks.c:
	(on_window1_realize): Disable the minimize, maximize, and close
	window manager buttons, since we don't want to do those things
	with GOK (i.e. doing them will cause problems for the user).
	Fixes #107917.
	
        * gok/main.c:
	(gok_main_check_sticky_keys):
	Fixed overly-aggressive warning dialog :-)
	
	* gok/gok-composer.c: 
	(gok_composer_branch_textAction): 
	Added implementations of char, word, sentence left and right.

2003-06-09  Bill Haneman <bill.haneman@sun.com>

        Fixes for #114726 and #109188.

	* configure.in: Revved to 0.7.7.
	
	* gok/main.c:
	(gok_main_check_sticky_keys):
	New method, checks for presence of XKB and StickyKeys
	feature.  Warns user and exits if XKB is not found;
	Turns on StickyKeys, warns, and continues if StickyKeys
	was not enabled at startup time.

	* gok/callbacks.c:
	(on_window1_realize): Add call to gok_main_check_sticky_keys ().
	
	* Makefile.am: Added mouse.kbd.

	* mouse.kbd: New file, mouse-control keyboard.
	Allows not only pointer latching, but mouse movement and
	clicks from GOK.

	* gok/gok-mousecontrol.h:
	* gok/gok-mousecontrol.c:
	(gok_mouse_control_init):  Initialize the commands for
	a mouse control key from the XML node.
	(gok_mouse_control): New method, execute mouse control
	commands via AT-SPI.

	* gok/gok-key.c:
	Add #include gok-mousecontrol.h.
	(gok_key_initialize): Changed xml string that controls 
	pointer latching to "pointer" from "mouse".
	Parse "mouse" and "mousebutton" for mouse control 
	commands.
	Set mousebutton keys to "insensitive" if we are using a 
	corepointer-based action in our access method.
	(gok_key_set_button_name):
	Move POINTERCONTROL style to share GtkStyle with 
	WordComplete instead of Normal, so that it can be
	easily distinguished from other keys.

	* gok/gok-key.h:
	Added KEYTYPE_MOUSE, KEYTYPE_MOUSEBUTTON,
	and corresponding KEYSTYLES.
	
	* gok/gok-keyboard.c:
	Changed GOK_SPY_SEARCH_ROLE call in 
	KEYTYPE_BRANCHMENUITEMS case to GOK_SPY_SEARCH_MENU.
	Similar change for SPI_ROLE_MENU.
	Handle KEYTYPE_MOUSE and KEYTYPE_MOUSEBUTTON,
	e.g. call gok_mouse_control ().

	* gok/gok-scanner.c: 
	(gok_scanner_current_state_uses_corepointer):
	New method (incomplete).
	
	* gok/gok-spy.c: 
	(gok_spy_had_child_aux): Handle GOK_SPY_SEARCH_MENU case; 
	different fix for child finding.
	(gok_spy_insert_node): changed to
	(gok_spy_add_node): Fixes reordering of UI elements in
	UI Grab.
	(gok_spy_has_child_aux): Added sanity check for non-zero 
	name when doing a SEARCH_MENU, to avoid adding separators.
	(gok_spy_append_node): Don't append a Text node with
	no name, no label, no content, if it's also not
	editable.
	
  
2003-06-09  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-spy.c: fixed children finding.
  
2003-06-09   Bill Haneman <bill.haneman@sun.com>

	Improvements for #108091 (now closed).

	* Makefile.am: Added small-empty.png.
	
	* small-empty.png: New, used as placeholder for modifier-shift status.

	* gok/gok-button.c:
	(gok_button_expose):
	Handle the "shift" modifier expose slightly differently, by drawing an arrow
	as a polyline.  Currently we always draw the arrow for modifiers, but fill it with
	PRELIGHT only when the modifier is active.

	* gok/gok-key.c:
	(gok_key_from_xkb_key): Set the button's indicator type to "shift" and
	set has_image to TRUE if the key is a modifier.
	(gok_key_initialize): Set keyimage and keyimage type for .kbd-file modifier keys.
	(gok_key_status_image): #ifdef'd out the status images for now, since we're using gtkstyle 
	drawing primitives for the status indication at the moment.

	* gok/gok-keyboard.c:
	(gok_keyboard_display): Initialize indicator type for modifier keys.

	* gok/gok-modifier.c:
	(gok_modifier_update_modifier_keys): Set the latched and locked states on 
	modifier keys.  Don't append the "+" to keystrings anymore since that's 
	now redundant with the indicator graphics.
	
2003-06-09   Bill Haneman <bill.haneman@sun.com>

        Fix/feature for RFE #108091.

	* gok/gok/main.h:
	* gok/gok/main.c:
	(gok_main_get_login): New method.
	
	* Makefile.am:
	* gok/empty.png: New image
	* gok/gok-button.c:
	(gok_button_expose): New method, intercept the expose event and draw 
	indicators if appropriate.
	(gok_button_class_init): Add expose to our virtual method table.
	(gok_button_init): Initialize the indicator_type to "checkbutton".

	* gok/gok-button.h: Adde indicator_type field.

	* gok/gok-key.c:
	(gok_key_status_image): Return an image which may display status
	information (for states that don't use checkboxes/radiobuttons),
	or an empty image into which we draw indicators.
	(gok_key_create_image_widget): Handle IMAGE_TYPE_INDICATOR case.
	(gok_key_update_toggle_state): Set indicator_type to "radiobutton" if
	key->ComponentState.radio is TRUE.

	* gok/gok-key.h:
	Add latched/locked bits to GokUIState.
	Add IMAGE_TYPE_INDICATOR to image types.
	Add some padding to our bitfields in case some compilers prefer it.
	
	* gok/gok-keyboard.c:
	(gok_keyboard_update_dynamic):
	Added SPI_ROLE_TOGGLE_BUTTON and SPI_ROLE_TOGGLE_MENU_ITEM.
	to the BRANCHGUIACTIONS case.  Set has_image to TRUE for these
	components, and add INDICATOR keyimages to them.  Set
	key->ComponentState.active flag based on whether they 
	have SPI_STATE_CHECKED.


2003-06-08  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-key.c: now sets settings keys to insensitive when --login
	is used.

2003-06-08  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-key.c: now sets keys which bring up the preferences
	dialog insensitive if prefs_locked gconf key is true. (Fixes bug#109182)

	* gok/gok-gconf-keys.h: added GOK_GCONF_PREFS_LOCKED def.

	* gok-with-references.schemas.in, gok-with-references.schemas.m4:
	added prefs_locked boolean key.

	* gok/gok-keyboard.c: fixed my recently introduced bug making
	gok_modifier_press recurse infinitely.

2003-06-08  David Bolter <david.bolter@utoronto.ca>

	* gok/: gok-keyboard.c, gok-composer.c, gok-key.h: Further work on
	108323 (editable text keyboard).

	* gok/: gok-repeat.c, gok-repeat.h: Fixed compiler warnings and
	removed an unused enum.

	* gok/gok-scanner.c: Added output to stderr when access method name
	is not recognized.

	* gok/gok-data.c: Added check for overriden access method name
	(which can now be done via a command line argument).

	* gok/gok-spy.c: removed some obsolete debug logging..

	* gok/: main.c, main.h: Added command line arguments
	--access-method, --input-device (not used yet), --keyboard
	(overrides main keyboard). Added accessors. Towards a fix for bug
	108319

2003-06-07  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-key.c: Fix for bug#114654 (bug summary:some labels not
	displayed)

2003-06-07  David Bolter <david.bolter@utoronto.ca>

	* configure.in: Revved micro version to 6.  New feature: repeat
	mode.

	* move-resize.kbd: Added a repeat (toggle) key. Needs decoration to
	describe toggle status.


	* automatic-scanning.xam, direct-selection.xam, directed.xam,
	dwell-selection.xam, inverse-scanning.xam: Added state "repeat" to
	describe how this access method works when gok is in repeat mode.
	(exception: directed.xam, which is currently not used)

	* gok/gok-modifier.c: Changed call from gok_keyboard_output to
	newly named gok_keyboard_output_key.

	* gok/: gok-keyboard.c, gok-keyboard.h: Some code coalescence and
	minor gok internal API changes related to gok key repeat work.

	* gok/: gok-key.c, gok-key.h: Added is_repeatable boolean property
	and a convenience method for checking if a key is repeatable:
	gok_key_isRepeatable(GokKey*).

	* gok/: gok-data.c, gok-data.h: Added skeletal get and set for
	repeat rate settings.

	* gok/gok-chunker.c: Reset gok repeat mode in
	gok_chunker_state_restart.

	* gok/: gok-scanner.c, gok-scanner.h: Added access method call case
	CALL_SCANNER_REPEAT_ON to put the current access method in it's
	"repeat state", the handlers for this state are specified in the
	.xam (access method XML files) files.  Added gok_scanner_repeat_on
	utility function.

	* gok/: Makefile.am, gok-repeat.c, gok-repeat.h: First commit of
	repeat.c repeat.h


2003-06-05      Bill Haneman <bill.haneman@sun.com>

	* Makefile.am: Added hide.kbd.

	* hide.kbd: New mini-keyboard with one button ("Show), for "hiding" GOK.

	* move-resize.kbd: Added a "Hide" button.

	* gok/gok-keyboard.h
	Add "expand" and GokKeyboardExpandPolicy enum.
	Add "expand" attribute to <GOK:keyboard> xml element.
	
	* gok/gok-keyboard.c:
	(gok_keyboard_add_keys):
	Set the "expand" attribute of keyboards. Default is "sometimes", i.e.
	depending on the gconf key.  Other values are "never" and "always".

	* gok/main.h:
	* gok/main.c:
	(gok_main_resize_window): Added pKeyboard param, and only
	set struts to non-zero if the keyboard is a docking keyboard.
	Also, check the keyboard's expand policy when calculating width, as well
	as checking the gconf key.
	(gok_main_ds): Raise the keyboard as a precaution.
	
2003-06-05      Bill Haneman <bill.haneman@sun.com>

	* Makefile.am: Add gok-controls.kbd and goklogo.png to dist.
	
	* gok-controls.kbd: New keyboard which branches to
	various GOK controls, i.e. Window, Preferences, Help, and About.
	Note that "Window" is still retained on main.kbd for the moment, but
	it is expected to migrate.

	* gok-main.kbd: Replace "Preferences" with "GOK", and
	reorder so that most-frequently-used commands are upper-left.

	* move-resize.kbd: Added dock buttons, float button.  Changed widths, 
	moved "back" to its usual place at the beginning of the branched kbd.
	
	* goklogo.png: New file, icon for 'About'.

	* gok/callbacks.c: call gok_main_set_wm_dock() for better
	code reuse.

	* gok/main.c:
	(gok_main_set_wm_dock): New method, migrated from callbacks.c.
	(gok_main_update_struts): Fix in dock-type case statement.

	* gok/main.h: 
	(gok_main_set_wm_dock): New.

	* gok/gok-data.c:
	(gok_data_set_dock_type): Fixed this method, it was mistakenly named before.

	* gok/gok-key.c:
	(gok_key_initialize): Handle "branchSettings", "dock", "help", 
	and "about" types in XML/kbd files.

	* gok/gok-key.h:
	Added KEYTYPE/KEYSTYLE ABOUT and DOCK.

	* gok/gok-keyboard.c:
	(gok_keyboard_help): New, displays help.
	(gok_keyboard_about): New, shows the 'About' dialog.
	(gok_keyboard_dock): New, invokes a dock/undock (aka "float") action.
	(gok_keyboard_output_selectedkey): Deal with DOCK, HELP, and ABOUT keytypes.

2003-06-05      Bill Haneman <bill.haneman@sun.com>

	* configure.in: Revved micro version to 0.7.5.
	
	* gok/gok-keyboard.c:
	(gok_keyboard_update_dynamic): Make editable text fields insensitive 
	if they don't include state EDITABLE.
	* gok/gok-spy.c:
	(gok_spy_append_node, gok_spy_free):
	Changed pName from an SPI string to a gchar*, i.e. we
	g_strdup() the SPI string and SPI_freeString() on-the-spot,
	then g_free the pName in gok_spy_free.  This is because we
	need to do some manipulation/concatenation of pName
	sometimes (if the accessible's name was empty, for instance).
	(gok_spy_append_node):
	Cope with "nameless" text entry fields by using the first
	three words of their content as a name, or else just labelling them
	as empty text widgets.

2003-06-04      Bill Haneman <bill.haneman@sun.com>
	* gok/gok-key.h:
	Added KEYSTYLE_HYPERLINK and KEYTYPE_HYPERLINK, and
	KEYSTYLE_BRANCHTEXT and KEYTYPE_BRANCHTEXT,
	KEYSTYLE_HELP and KEYTYPE_HELP.
	
	* gok/gok-key.c:
	(gok_key_set_button_name):
	Added case for KEYSTYLE_HYPERLINK, so appropriate GtkStyle is applied.
	Fixed mismatch between text and button styled for 
	BRANCHTEXT and BRANCHALPHABET - at the moment neither is defined in
	gok.rc however.  David?	
	
	* gok/gok-spy.c:
	(gok_spy_insert_node): New method.
	(gok_spy_append_node): Special-case
	hypertext nodes; we add one node per hypertext link
	when adding nodes in the UI Grab keyboard.
	Each such button uses the Hypertext's link-text
	as its label.
	Refactored to use gok_spy_insert_node, for better
	code reuse.
	(gok_spy_worth_searching): Removed test of
	"enabled" since some modes worth searching don't 
	expose the "enabled" state.

	* gok/gok-keyboard.c:
	Added #include of <X11/keysymdef>, required by method
	(gok_keyboard_focus_object): new method, used for hypertext and 
	editable text.
	(gok_keyboard_follow_link): new method; workaround for
	a current limitation of gtkhtml2's hyperlink objects.
	Should be removed when gtkhtml2 gets fixed.
	(gok_style_if_enabled): Convenience method which applies a style
	conditionally if an object is enabled, otherwise applies style
	KEYSTYLE_INSENSITIVE.
	(gok_keyboard_update_dynamic): 
	Handle case of key whose accessible 
	implements AccessibleHypertext; this case isn't currently exercised and
	might be removed in favor of the "one key per link" model.
	Use convenience method above.
	Handle case of a 'text' key which is a hyperlink key in case statement.
	Initialize text-entry fields to type BRANCHTEXT.
	(gok_keyboard_output):
	Refresh the dynamic keyboard after doing a "gui action" if a branch
	did not result - because the action may have altered the UI state.
	(gok_keyboard_output_selectedkey):
	Handle HYPERLINK case: this too is a workaround for the gtkhtml2
	limitation, but should work for other hypertext objects like mozilla
	content too.
	Also handle BRANCHTEXT case, focussing the text object before
	branching to the compose keyboard.
	
	* gok/gok-spy-priv.h:
	Added two fields to AccessibleNode; a one-bit is_link field, and
	a 7-bit 'link' field.  This probably should be extended and 
	generalized.
	

2003-06-04      Bill Haneman <bill.haneman@sun.com>

	* gok/gok-keyboard.c:
	(gok_keyboard_output_selectedkey): 
	Handle KEYTYPE_BRANCHHYPERTEXT case.
	Reformat switch statement to linux indenting rules.
	(gok_keyboard_branch_byKey): Added KEYTYPE_BRANCHHYPERTEXT case.
	(gok_keyboard_update_dynamic): 
	Renamed pNodeAccessibleCount to pNodeAccessibleNext, since it's an
	iterator and I was confused by the old name ;-).
	Changed a commented-out block regarding ROLE_APPLICATION to 
	an #if-0'd out block.
	Removed a special-case block ("cruft") for SPI_ROLE_PUSH_BUTTON since
	we no longer need it (due to yesterday's changed to gok_spy_get_list).
	Changed a log message to call Accessible_getRoleName().
	Handle SPI_ROLE_TEXT and SPI_ROLE_HTML_CONTAINER in our case statement.
	We'll probably want to change this to an interface query eventually.
	Set pKey->Type and Style to BRANCHALPHABET for SPI_ROLE_TEXT ui components.
	Set pKey->Type to KEYTYPE_BRAHCNHYPERTEXT for SPI_ROLE_HTML_CONTAINER components.
	(gok_keyboard_branch_gui):
	Removed unneeded test for GOKSPY_ROLE_APPLICATION.
	Changed case statement to switch on search_type primarily, and
	role only secondarily (if search type == GOK_SPY_SEARCH_ROLE).
	Note that this is where the 'APPLICATION' case now lives; it's 
	a GOK_SPY_SEARCH type, GOK_SPY_SEARCH_APPLICATION.  Still currently unused.
	Pass new argument to gok_spy_has_child in all cases.
	
	* gok/gok-spy.h:
	* gok/gok-spy.c:
	(gok_spy_has_child, gok_spy_has_child_aux): Now we pass a 
	GokSpySearchType parameter as well as an AccessibleRole, so
	that we can do different kinds of search logic.
	
	
2003-06-03      Bill Haneman <bill.haneman@sun.com>

	* gok/gok-key.h:
	(GokKeyActionType): Renamed from KeyTypes, and
	added KEYTYPE_BRANCHHYPERTEXT.
	(GokKey): Changed Type from gint to GokKeyActionType.

	* gok/gok-keyboard.h:
	(GokKeyboard): Changed Role to search_role.
	Added GokKeyboard->search_type.

	* gok/gok-keyboard.c:
	(gok_keyboard_branch_byKey): 
	Pass GokSpySearchType to gok_keyboard_branch_gui() as
	second parameter; different types depending on the KEYTYPE.
	(gok_keyboard_update_dynamic): Pass new GokSpySearchType parameter
	to gok_spy_get_list.
	(gok_keyboard_branch_gui): Add search type parameter.

	* gok/gok-spy.h:
	(GokSpySearchType): New enum.
	
	* gok/gok-spy.c:
	(gok_spy_find_children, gok_spy_create_list): Added search param.
	(gok_spy_accessible_is_okay): Added a check for dead objects,
	not ideal but functional and works around some segfaults.
	Removed a previous sanity check that was malfunctioning.
	(gok_spy_worth_searching): Don't search "inactive" containers.
	(gok_spy_is_visible): New, checks VISIBLE and SHOWING states.
	(gok_spy_is_ui): New, used to select UI items for display in
	the UI Grab keyboard.
	(gok_spy_find_children): Change the test logic to account for
	different search types.

2003-05-30      Bill Haneman <bill.haneman@sun.com>

	Implements RFE #109325.  (No UI exposure yet, only gconf keys)
	
	* gok/gok-gconf-data.h:
	Added two new keys, 
	"/apps/gok/dock_type" and "/apps/gok/expand"
	
	* gok/gok-data.h:
	Added GokDockType enum, and declarations for methods below.
	
	* gok/gok-data.c:
	(gok_data_initialize): Init the new properties (expand is true, dock is none).
	(gok_data_set_dock_type): New.
	(gok_data_get_dock_type): New.
	(gok_data_set_expand): New.
	(gok_data_get_expand): New.
	(gok_data_dock_type_from_string): Convenience method for
	convering from gconf string to enum.

	* gok/gok-keyboard.c:
	(gok_keyboard_display):
	If the 'expand' gconf key is true, always resize to fill
	the screen width.

	* gok/main.h:
	(gok_main_update_struts): New declaration.
	* gok/main.c:
	Add #include XAtom.h.
	(gok_main_update_struts):
	(gok_main_create_window):  Add boolean to indicate if
	the created window should be a dock.
	Pass the boolean to the "realize" signal handler.
	(gok_main_resize_window):
	Don't tell GOK to ignore the resize if we're a dock.
	Set top and left appropriately if we're a dock, so that
	we're packed to either the top or bottom of the screen.
	Similarly, tweak the "Width" if we're an expanding dock.
	Call gok_main_update_struts() when we resize, so the window
	manager knows we're occupying a different space.
	Don't subtract the frame size if we're a dock, since we have 
	no decorations.
	(gok_main_update_struts):
	New method to set the strut allocations with the X server.

	* gok/callbacks.c:
	(on_window1_realize): Set window type to _WM_TYPE_DOCK if 
	gok's docktype is not GOK_DOCK_NONE.

	* gok-with-references.schemas.m4:
	Added the 'expand' and 'dock_type' schema rules.
		
2003-06-02  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-spy.c: Improvements include smarter interrogation based
	on role.

2003-05-30  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-button.c: fixed build error when using flag
	--enable-logging-exceptional.

2003-05-30  Calum Benson  <calum.benson@sun.com>

	* gok.glade2:
	* gok/interface.c: (create_dialogSettings), (create_windowEditor):

	Fixed button spacing in Preferences dialog, as per HIG.
	Fixes #113836.

2003-05-30      Bill Haneman <bill.haneman@sun.com>

	* gok/gok-button.h:
	* gok/gok-button.c:
	(gok_button_new_with_image): Changed prototype to 
	take a GtkWidget instead of a filename - allows
	creating of different kinds of images (icons, pixmaps, etc.)
	Removed unneeded prefix padding of image, of 2 pixels.

	* gok/gok-key.c:
	Change the "filename" of a key image from being content to
	the "source" attribute.  Allow another attribute, "type", 
	to be "stock" | "fixed" | "fit" | "fill".
	Support specification of image size, via
	'type="fixed:x,y"' (where x and y are integer sizes).
	(gok_keyimage_set_size_from_spec):
	New method, initialized size from the "type" 
	attribute as above.
	(gok_key_initialize): Read the new attributes on the <image> element.
	(gok_key_get_image): Return a GokKeyImage*.
	(gok_key_create_image_widget): Create a GtkImage widget for
	a GokKeyImage, setting the size if appropriate.
	(gok_keyimage_new): Initialize the w and h fields to "-1" for
	"unspecified".

	* gok/gok-key.h:
	New enums, GokImageType and GokImagePlacementPolicy.
	New members in the GokKeyImage struct for size,
	stock_size (i.e. GtkIconSize), width and height.
	New prototypes as above.

	* gok/gok-keyboard.c:
	Use gok_key_create_image_widget() in place of 
	gok_key_get_image_filename(), when parsing a .kbd file.
	
2003-05-29      Bill Haneman <bill.haneman@sun.com>

	* gok/configure.in:
	Incremented the binary age and interface ages so that the libtool versioning
	works out compatibly with the earlier version.

	* gok/dictionary.txt:
	Added helpful words like "hello", "linux", "dear", corrected "numerous".

	* gok/gok-button.h:
	Added GtkBox child to GokButton, add GtkBox and GtkImage members.
	Added new declarations (see gok-button.c).
	* gok/gok-button.c:
	(gok_button_init):
	Changed allocation to use g_object_new().  Add a new GtkBox on init,
	and show it.  Init the pImage member to NULL.
	(gok_button_new_with_label):
	Init pNewButton to NULL, refactor.  We now add the label to the
	GtkHBox and pack it to the end.
	(gok_button_new_with_image):
	Init pNewButton to NULL, refactor.  Add the image to the GtkHBox and pack.
	(gok_button_set_image): New method.
	(gok_button_set_label): New method.

	* gok/gok-data.h:
	* gok/gok-data.c:
	(gok_data_get_valuator_sensitivity, gok_data_set_valuator_sensitivity):
	New methods for calibrating the valuator sensitivity for XInput devices.
	
	* gok/gok-key.h:
	Replaced the KEYDISPLAY #defines and ImageCode field with two 
	boolean bitfields, have_image and have_text.  New declarations
	(see below).
	
	* gok/gok-key.c:
	(gok_key_modifier_for_keycode): Exposed this method, no longer static.
	(gok_key_initialize): Init the new fields (above). Allow both text and images
	in XML key definitions.
	(gok_key_new) : Ditto.
	Changed a lot of asserts (pLabel != NULL) to ifs.
	(gok_key_get_image): New method, gets the GtkImage for a new GOK key.

	* gok/gok-keyboard.c:
	(gok_keyboard_display): Now allow both images and text.  Removed some unused
	and commented-out code for images which was not being used.

	* gok/gok-output.c:
	(gok_output_send_to_system): Make smarter about case and modifiers!

	* gok/gok-scanner.c:
	(gok_scanner_input_motion):
	Account for valuator sensitivity.

	* gok/gok-spy.[hc]:
	(gok_spy_get_modmask): New method.

	* gok/gok-word-complete.c:
	(gok_wordcomplete_add_new_word): Skeleton of future method.

	* gok/main.c:
	(gok_main_motion_listener):
	Account for valuator sensitivity.
	* gok/word-complete.c:
	Added enum for WORD_CASE, so that we can tell how to 
	capitalize words for display and input.  Due to a bug in at-spi,
	we still cannot reliably input words in ALLCAPS however.
	(DetermineCase, WordCompleteApplyCase): New methods.


2003-05-29	David Bolter <david.bolter@utoronto.ca>

	* gok/: gok-button.c, gok-key.c, gok-key.h, gok-keyboard.c: Added
	image display capability.
	* configure.in: Increased the micro version.
	* gok-1.0.pc.in: Increased the cspi requirement.
	
	GOK can now display images on keys. This work is derived from work done by 
	Steven Baker (srbaker@pobox.com) and so most of the blame for this commit
	goes to him.

2003-05-28  Alessio Frusciante  <algol@firenze.linux.it>

	* configure.in (ALL_LINGUAS): Added "it" (Italian) 

2003-05-28  Danilo Šegan  <dsegan@gmx.net>

	* configure.in: Added "sr" and "sr@Latn" to ALL_LINGUAS.

2003-05-14	David Bolter <david.bolter@utoronto.ca>

	* gok/gok-spy.c: Reintroduced defunct listener to improve GOK awareness
	of application closes.

003-05-13  Calum Benson  <calum.benson@sun.com>

	* gok.glade2:
	* gok/callbacks.c:
	* gok/callbacks.h:
	* gok/gok-settings-dialog.c: (gok_settingsdialog_open):
	* gok/interface.c: (create_dialogSettings), (create_windowEditor):
	* gok/support.c: (lookup_widget):
	* main.kbd:

	HIG-ification of settings dialog, fixes #112851 and #112852.
	(Mostly, there's still some work to do on the Access Methods tab
	that can't be done in the Glade file).

2003-05-09  Bill Haneman <bill.haneman@sun.com>

	* gok.rc:
	Completed fix of bug 105798: removed font-size and font-face specification.
	(previously applied patch was not complete).


2003-05-06  David Bolter <david.bolter@utoronto.ca>

	* gok/word-complete.c: removed unecessary malloc.h import so that
	gok builds on FreeBSD without issue.

2003-05-05  KAMAGASAKO Masatoshi  <emerald@gnome.gr.jp>

	* configure.in: Added "ja" to ALL_LINGUAS.

2003-04-24  Abel Cheung  <maddog@linux.org.hk>

	* configure.in: Added "da" to ALL_LINGUAS.

2003-04-21  David Bolter <david.bolter@utoronto.ca>

	* gok/: gok-composer.c, gok-keyboard.c, gok-keyslotter.c, main.c,
	main.h: Added an "--extras" command line argument for using
	possibly unstable features.  Added some editable text functionality
	which can be branched to from the compose keyboard.  Removed some
	old text navigation features that were broken by the new modifier
	work.

2003-04-09  Bill Haneman <bill.haneman@sun.com>

	* configure.in: Increased version to 0.7.1
	
	* gok.glade2 : Major changes to Settings dialog,
	in particular the Actions dialog page.  These changes
	rationalize the UI with respect to input device types
	(corepointer, xinput-device, joystick) and gesture
	types (on-enter, on-dwell, etc.).
	Fixes bugs 101141, 105798 (along with change to gokrc),
	improvements to 92670.

	* gok/Makefile.am: Added keyboard-geometry test.
	
	* gok/keyboard-geometry.c: New file, tests/diagnoses
	issues with XkbGeometry.  Useful to GOK debuggers and
	developers.

	* gok/callbacks.h:
	* gok/callbacks.c:
	Changes to support new settings dialog.
	(on_radiobuttonTypeValuator_toggled): added.
	(on_radiobuttonDoubleClick_toggled): removed.
	(on_action_type_notebook_change_current_page): moved.
	(on_2d_valuator_radiobutton_toggled, on_1d_radiobutton_toggled): Added.
	(on_activate_on_enter_button_toggled):
	(on_activate_on_dwell_button_toggled):
	(on_pointer_delay_spinbutton_changed):
	(on_key_averaging_button_toggled):
	(on_xinput_device_button_toggled):
	(on_core_pointer_button_toggled):
	(on_joystick_button_toggled):
	Added.

	* gok/gok-action.h:
	(ACTION_TYPE_VALUECHANGE): New action type (currently unused).

	* gok/gok-page-actions.c:
	(gok_page_actions_initialize): Always call
	gok_page_actions_update_controls.
	(gok_page_actions_toggle_type_switch):
	Update the notebook page when type toggles,
	so that the correct UI components are shown.
	(gok_page_actions_toggle_type_valuator): New.
	(gok_page_actions_update_controls):
	Major revision to handle new controls and action types.
	(gok_page_actions_toggle_type_mousebutton):
	(gok_page_actions_toggle_type_dwell):
	(gok_page_actions_toggle_type_mousepointer):
	Removed.
	(gok_page_actions_toggle_source_corepointer):
	(gok_page_actions_toggle_source_joystick):
	(gok_page_actions_toggle_source_input):
	(gok_page_actions_toggle_type_valuator):
	Added.
	
2003-04-04  Simon Bates <simon.bates@utoronto.ca>

	* configure.in: Increased version to 0.7.0

	* README: Added a paragraph explaining that this is an unstable
	release of GOK and that it might crash or behave unexpectedly.
	Added a section explaining how to report bugs.

2003-04-04  David Bolter <david.bolter@utoronto.ca>
            Simon Bates <simon.bates@utoronto.ca>

	* gok/gok-spy.c:
		Added window activate and deactivate listeners.  Improved 
		queue processing.  Some added implementation commented out
		until further testing.

	* gok/gok-spy-priv.h:
		Added window activate and deactivate event types.

2003-03-27  Padraig O'Briain <padraig.obriain@sun.com>

	* gok/gok-spy.c (gok_spy_process_accessible): Remove unnecessary 
	comment.

2003-03-24  Padraig O'Briain <padraig.obriain@sun.com>

	* gok/callbacks.c gok/gok-scanner.c gok/gok-spy.c
	gok/switchapi.c gok/word-complete.c: Remove C++ style comments.

2003-03-12  Bill Haneman <bill.haneman@sun.com>

	* gok/gok-scanner.c:
	(gok_pointer_clip_to_window):
	Add a 'buffer' around constraint window, to give
	someplace for the dwell pointer to idle.
	Fix for #108319.
	(gok_scanner_get_slop): New method.
	
2003-03-12  Bill Haneman <bill.haneman@sun.com>

	Fixes for bugzilla #97834, #106955, #107275, #108091, #108117.
	
	* gok/gok-key.c:
	Now #include gok-modifier-keymasks.h.
	(gok_key_lookup_shorter_label): Added some more
	cases for shifted keys.
	(gok_key_label_from_keysym_string): Improved
	definition formatting, removed "FIXME" comment.
	(gok_key_get_numlock_mask): Moved static out of method.
	(gok_key_from_xkb_key):
	Use 'numlock' lookups to avoid having to assign strings for 
	both 'mod2' and 'mod3'.
	(gok_key_get_label_length): 
	(gok_key_get_label_height): 
	Moved these methods to silence compiler.
	(gok_key_update_label):
	Test label length to make sure it still fits on the key
	since it might have changed due to the shift state.
	Reset the font size if necessary.
	
	* gok/gok-keyboard.c
	(gok_keyboard_update_dynamic):
	Reformatted switch statement to Linux/GNOME standards.	
	Add implementation/support for checkbutton/radiobutton
	UI components.  Added Style specification for 
	components so that the BRANCHGUIACTIONS style is used for
	GUIACTIONS buttons.
	(gok_keyboard_branch_gui_actions):
	Set the 'active' member of pKey after taking action
	if the UI component has toggled between checked/unchecked.
	(gok_keyboard_output_selectedkey):
	Add 'void' to definition/prototype.
	
	* gok/gok-modifier.c:
	(gok_modifier_first_name_from_mask):
	We now return 'numlock' if the mask matches the server's
	idea of the 'numlock' state.
	
	
2003-03-11  Bill Haneman <bill.haneman@sun.com>

	* gok/gok-key.h:
	Added KEYTYPE_MOVERESIZE.

	* gok/gok-key.c:
	(gok_key_initialize): 
	Handle "move-resize" keys in .kbd.

	* gok/gok-keyboard.h:
	(GokKeyboardDirection): New enum.
	(gok_keyboard_parse_direction): New method.
	* gok/gok-keyboard.c:
	(gok_keyboard_output_selectedkey): 
	Handle MOVERESIZE case.
	[Fixes 106075]

	* gok/gok-output.c:
	(gok_output_send_to_system):
	Perform keycode-to-keysym conversion for
	OUTPUT_KEYCODE keys, and pass to word completion.
	[Fixes 107198]
	
	* gok/gok-spy.c:
	(gok_spy_button_is_switch_trigger):
	Return FALSE if accessmode is 'directselection' 
	and corepointer is outside of any window known to GOK.
	[Fixes 106533]

	* gok/gok-scanner.c:
	(gok_scanner_current_state_uses_core_mouse_button): 
	Stylistic change to function definition.
	
	* gok/main.h:
	* gok/main.c:
	(gok_main_display): New method.
	(gok_main_window_contains_pointer): New method.
	
2003-03-10  Bill Haneman <bill.haneman@sun.com>

	* gok.glade2:
	* gok/interface.c:
	Changed name of widget from "radiobutton1SwitchRelease" to
	"radiobuttonSwitchRelease" (typo in glade).
	
2003-03-10  Bill Haneman <bill.haneman@sun.com>

	* gok/gok-button.c:
	(gok_button_leave_notify):
	Remove m_bKeyEntered flag. 
	Ignore 'leave_notify' events that occur within the
	key's event window (they are from context switches
	or XGrabButton events).
	Fixes #105142.
	

2003-03-08  Evandro Fernandes Giovanini <evandrofg@ig.com.br>

	* configure.in(ALL_LINGUAS): Added "pt_BR".

2003-03-06  Duarte Loreto <happyguy_pt@hotmail.com>

        * configure.in: Added "pt" to ALL_LINGUAS.

2003-03-05 Bill Haneman <bill.haneman@sun.com>

	* gok/main.c:
	(gok_main_display_scan_previous):
	Cleaned up use of "//" comment.

	* gok/gok-button.h:
	Add conventional macros for GOK_IS_BUTTON, 
	GOK_BUTTON, etc.
	
	* gok/gok-button.c:
	(gok_button_state_changed):
	Check to make sure the state-change widget is
	a GokButton before calling gok_button_find_key, etc.

	* gok/gok-scanner.c:
	(gok_scanner_on_key_leave):
	Added call to gok_feedback_set_selected_key (NULL)
	(gok_scanner_stop):
	Call gok_feedback_set_selected_key (NULL).

	* gok/callbacks.c:
	(on_window1_leave_notify_event): 
	Removed call to gok_scanner_on_key_leave(), since
	it's redundant with button_leave events and conflicts with
	'button-grab' leave/enter event pairs cause by XGrabButton.

2003-02-28 Padraig O'Briain <padraig.obriain@sun.com>

	* gok/callbacks.c:
	Add include of gok-spy.h and gok-data.h
	(gok_xkb_filter): Add cast to function argument.

	* gok/command-vertex-data.c: 
	Add include of strings.h.

	* gok/command-vertex.c (command_edge_weight_sort):  Correct typo in
	comparison.

	* gok/gok-data.h:
	Correct typo in name of gok_data_get_use_xkb_kbd.

	* gok/gok-input.c:
	Add include of gconf/gconf-client.h and gok-gconf.h
	Add FIXME in gok_input_free.

	* gok/gok-input.h:
	Add gok_input_free.

	* gok/gok-key.c:
	* gok/gok-keyboard.c: 
	* gok/gok-output.c: 
	* gok/gok-scanner.c:
	* gok/test-gok-bounds.c:
	Add casts in various function calls.

	* gok/gok-key.h:
	Add gok_key_set_effective_group and gok_key_get_effective_group.

	* gok/gok-page-accessmethod.c (gok_page_accessmethod_fill_combos):
	Specify type of parameter as gboolean

	* gok/gok-page-actions.c (gok_page_actions_set_numvber): Remove code
	after return statement.

	* gok/gok-page-actions.h:
	Add gok_page_actions_input_device_changed.

	* gok/gok-word-complete.h:
	* gok/word-complete.h:
	Run dos2unix on file.

	gok/main.c:
	Move parameter handling variables out of main functions.
	Add casts in various function calls.

	These changes fix bug #106430.
	
2003-02-28  Pablo Gonzalo del Campo  <pablodc@bigfoot.com>

	* configure.in: Added "es" (Spanish) to ALL_LINGUAS.

2003-02-26 Bill Haneman <bill.haneman@sun.com>

	* gok/gok-key.c:
	(gok_key_level_for_type): Changed function prototype and reworked to use
	Xkb's XkbType record in order to convert from a modifier
	mask to a key level.  This approach is technically more
	correct than the previous approach, which implemented the "default" 
	behavior for the canonical key types only.

2003-02-24 Simon Bates <simon.bates@utoronto.ca>

	* gok-with-references.schemas.in, gok-with-references.schemas.m4,
	gok.glade2, gok/interface.c: Removed spaces before punctuation to
	address bug 103670,
	http://bugzilla.gnome.org/show_bug.cgi?id=103670.

2003-02-24 Simon Bates <simon.bates@utoronto.ca>

	* gok/gok-modifier.c (gok_modifier_get_state): Output (gok_log_x)
	the name of the modifier in the case that the modifier requested
	cannot be found.

2003-02-19 Simon Bates <simon.bates@utoronto.ca>

	* gok/gok-scanner.c (gok_scanner_handler_uses_button): Clearer
	comment.
	(gok_scanner_handler_uses_core_mouse_button): Do not call
	gok_scanner_handler_uses_button because a handler does not have to
	contain a state.  If a state exists then it overrides the
	associated action but it does not have to be there.
	(gok_scanner_current_state_uses_core_mouse_button): _considerably_
	more efficient implementation.  Makes use of the fact that the
	scanner has already processed the access method and actions and
	determined which inputs have handlers associated with them.

	* gok/gok-spy.c (gok_spy_button_is_switch_trigger): log value of
	gok_data_get_drive_corepointer().

2003-02-19  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-key.c: removed some naughty in-place variable
	declarations recently introduced.

2003-02-18  Bill Haneman <bill.haneman@sun.com>

	* gok/gok-key.c:
	(gok_key_label_from_keycode):
	Workaround for an XSun bug which causes XkbTranslateKeySym to
	return an unreasonable and incorrect 'nbytes' return value.

2003-02-18  Bill Haneman <bill.haneman@sun.com>

	* gok/gok-key.c:
	(gok_key_lookup_shorter_label):
	Complete fix for bugzilla #106104.

2003-02-17 Simon Bates <simon.bates@utoronto.ca>

	* gok/gok-spy.c:
	(gok_spy_button_is_switch_trigger): If
	gok_data_get_drive_corepointer is FALSE then use
	gok_scanner_current_state_uses_core_mouse_button.

	* gok/: gok-scanner.c, gok-scanner.h:
	(gok_scanner_handler_uses_button): Return TRUE if the state of the
	specified GokScannerHandler uses a mouse button and FALSE
	otherwise.
	(gok_scanner_handler_uses_core_mouse_button): Return TRUE if the
	specified GokScannerHandler in the specified access method is
	currently configured to use an action that uses the core mouse
	button button and FALSE otherwise.
	(gok_scanner_current_state_uses_core_mouse_button): Return TRUE if
	the current scanner state has a handler that is configured to use
	an action that uses the specified core mouse button and FALSE
	otherwise.

2003-02-17  Bill Haneman <bill.haneman@sun.com>

	* gok/gok-key.c:
	(gok_key_lookup_shorter_label):
	Convert MixedCase labels to multi-line format.	
	Fix for bugzilla #106104, and generally useful for
	keeping labels short.
	
2003-02-17 Padraig O'Briain <padraig.obriain@sun.com>

	* gok/gok-page-actions.c (gok_page_actions_initialize): Check
	that we have devices to avoid warning messages on startup.
	Bug #106084.
	
2003-02-14  Bill Haneman <bill.haneman@sun.com>

	* configure.in: Revved to 0.2.0.

	* Makefile.am: create and install Keyboard.kbd.

	* gok-with-references.schemas.in:
	Added schema data for use_xkb_geom boolean (true by default).

	* gok-with-references-schemas.m4:
	Added mkschema rule for use_xkb_geom.

	* main.kbd:
	Changed size so that most keys span two column cells;
	allows bigger fonts to be used.
	[Part of fix for 95416]
	Changed compose keyboard name from "qwerty" to "Keyboard".
	Added 'Window' and 'Pointer' keys.
	Rearranged other keys, removed nonfunctioning 'back' key.

	* gok/callbacks.c:
	#include <X11/Xatom.h> added.
	(gok_xkb_filter): New method for intercepting Xkb 
	notifications (for instance, group status changes, etc.)
	(gok_input_extension_filter): Reformatted to 'linux' standard.
	(on_window1_realize): Added call to gtk_window_stick().
	[Fixes 106069]
	(on_window1_realize): Add gok_xkb_filter, select for xkb events.
	(on_window1_button_release_event): New.
	(on_window1_button_toggle_event): New, needed to check and toggle
	state of modifier keys in GOK.
	(on_window1_enter_notify_event): New, used to control cursor
	visuals and also in unlatching the core pointer after a "Pointer"
	request from the user.

	* gok/callbacks.h:
	(on_window1_button_toggle_event, on_window1_enter_notify_event,
	on_window1_leave_notify_event) : 
	New public declarations from callbacks.c

	* gok/gok-button.c:
	(gok_button_get_type): Changed g_type_unique call to use
	type macro instead of foo_get_type() call; changed button type to
	inherit from GtkToggleButton.

	* gok/gok-button.h:
	#include <gtk/gtkbutton.h> added.
	Changed GokButton to inherit from GtkToggleButton, allows
	better visuals for latched GOK keys.

	* gok/gok-composer.c:
	(gok_composer_show):
	Changed gok_main_display_scan calls to use KEYBOARD_TYPE param.

	* gok/gok-data.c:
	(m_bDriveCorePointer): initialize to FALSE, 
	don't get this from gconf anymore.
	(m_bUseXkbKbd) : added.
	(gok_data_read_setting): Don't get bDriveCorePointer from gconf,
	get m_bUseXkbKbd from gconf.
	(gok_data_get_use_xkb_kbd) : New.
	(gok_data_set_use_xkb_kbd) : New.
	(gok_data_set_drive_corepointer): Don't set the gconf key.
	
	* gok/gok-data.h:
	(gok_data_get_use_xkb_kbd) : New.
	(gok_data_set_use_xkb_kbd) : New.
	
	* gok/gok-gconf-keys.h:
	#define GOK_GCONF_USE_XKB_KBD : New.
	
	* gok/gok-key.c:
	[Fixes for 100880 and 93428]
	#include <string.h> added.
	(gok_key_lookup_shorter_label):	New, allows string substitution
	and use of multi-line labels for some keys.
	(gok_key_label_from_keysym_string): New.
	(gok_key_get_numlock_mask) : New.
	(gok_key_get_xkb_type_index) : New, gets the 'type' index for 
	a given keycode/group combo.  See Xkb spec.
	(gok_key_level_for_type): New, Returns the level for a modmask and type.
	(gok_key_label_from_keycode) : New, used to create dynamic compose kbds.
	(gok_key_keycode_from_xkb_key): New.
	(gok_key_get_default_border_height, gok_key_get_default_border_width): 
	New, [Fixes 106073]
	(gok_key_get_default_font_size): New, returns the default app font size.
	(gok_key_modifier_for_keycode): Determines the key modifier, if any, 
	associated with a keycode.  New.
	(gok_key_get_effective_group, gok_key_set_effective_group): New. 	
	(gok_key_from_xkb_key) : New.
	(gok_key_new): Changed to handle 'branchModal' types.
	[In support of 106075]
	Added support for 'PointerControl' key [Fixes 106077].	
	Support for FONT_SIZE_GROUP_GLYPH added [improves 92670].
	(gok_key_get_label): Added support for 'groups', improves
	international keyboards.
	(gok_key_update_toggle_state): New.
	(gok_key_get_label_length, gok_key_get_label_height): New. 
	(gok_key_calculate_font_size) : Fixes for some brokenness in
	algorithms, and also place a ceiling on the font size
	of 'application font size' for multi-glyph labels, and
	'application font size * 150%' for glyph keys.
	(gok_key_get_label_lengthpercall, gok_key_get_label_heightpercell):
	Fixes.
	* gok/gok-key.h:
	#define XK_MISCELLANY
	#include <X11/Xlib.h>
	#include <X11/keysymdef.h>
	#include <X11/XKBlib.h?
	#include <X11/extensions/XKBgeom.h>
	Added.
	Keytypes: added KEYTYPE_POINTERCONTROL and KEYTYPE_BRANCHMODAL
	Keystyles: added KEYSTYLE_POINTERCONTROL and KEYSTYLE_BRANCHMODAL
	Added FONT_SIZE_GROUP_GLYPH definition.
	Added GOK_MODMASK_CURRENT definition. (?CHECK THIS?)
	GokKey struct: added gint Section member; keyboards can now
	have sections as well as rows and columns.
	(gok_key_update_toggle_state): new public method.
	
	* gok/gok-keyboard.c:
	#include <X11/Xlib.h>
	#incluee <X11/Xutil.h> added.
	added GOK_KEYBOARD_MAX_ROWS, set to 24.
	Added static data for Xkb keyboard description tracking.
	NOTE: some of the methods below should probably be moved to
	their own source file in the future.
	(gok_keyboard_get_xkb_desc) : New, [for 100880, etc.].
	(gok_keyboard_xkb_select): New.
	(gok_keyboard_notify_xkb_event) : New.
	(gok_keyboard_get_section_row): New.
	(gok_keyboard_section_row_columns) : New.
	(gok_keyboard_get_section_column) : New.
	(gok_keyboard_xkb_geom_sections_init) : New.
	(gok_keyboard_add_keys_from_xkb_geom) : New.
	(gok_keyboard_get_display) : New.
	(gok_keyboard_get_core) : New, returns a GokKeyboard describing
	the core system keyboard, via Xkb.
	(gok_keyboard_read) :
	bug fixes to line drawing.
	(gok_keyboard_display) : Remove C++-style comments (!).
	Also changes to support KEYBOARD_LAYOUT_FITWINDOW layout type, 
	some keyboards aren't supposed to resize the GOK window.
	Fixes to help make sure GOK key labels always et resized as they should.
	(gok_keyboard_branch_byKey) :
	Changed to support the new branch types.
	(gok_keyboard_modifier_is_set) : New.

	* gok/gok-keyboard.h:
	Add #includes to XKBlib.h and XKBgeom.h.
	Add KEYBOARD_LAYOUT_FITWINDOW definition 
	(used, for instance, by the 'move-resize' keyboard)
	(KeyboardTypes): Added UNSPECIFIED and MODAL types.
	gok_xkb_base_event_type : 
	Added this extern. Perhaps this should be refactored so
	as not to be exported...
	(gok_keyboard_get_display, gok_key_from_xkb_key): New.
	(gok_keboard_get_xkb_desc, gok_keyboard_notify_xkb_event): New.

	* gok/gok_modifier-keymasks.c:
	Added 'mod2, mod3, mod4' keymasks.

	* gok/gok-modifier.c:
	(gok_modifier_update_modifier_keys): 
	Update the toggle state of the keyboard when modifier state changes.
	(gok_modifier_first_name_from_mask):
	Necessary evil for the moment, to bridge between X modifier state
	and GOK's modifier definitions.

	* gok/gok-modifier.h:
	(gok_modifier_first_name_from_mask): See above.

	* gok/gok-output.c:
	(gok_output_send_to_system):
	Handle the OUTPUT_KEYCODE output type.

	* gok/gok-scanner.c:
	(gok_scanner_input_motion): 
	Return motion_data after clipping to window.
	Fixes to enter/exit pointer selection behavior, keeps GOK from
	outputting a key that doesn't look selected.

	* gok/gok-spy.c:
	(gok_spy_button_is_switch_trigger):
	Changed to return FALSE if the gok_data_get_drive_corepointer
	flag is TRUE, i.e. if GOK is currently in the
	a corepointer-latch state.
	
	* gok/gok-windowlister.c:
	(gok_windowlister_show):
	Pass the new TYPE param to gok_main_display_scan.

	* gok/main.c:
	(gok_main_display_scan_main):
	Pass the new TYPE param to gok_main_display_scan.
	(gok_main_display_scan): Add a TYPE parameter.
	(cursor_bits): New static data used to display 'invisible' cursor.
	(gok_main_set_cursor): New.
	(gok_main_motion_listener): Warp the core pointer along with 
	XInput valuator events when GOK is in the 'drive corepointer' state.
	[Fixes 106077]
	(gok_main_create_window): Add listener for 'enter_notify_event' signal.
	(gok_main_read_keyboards_from_dir):
	Support the UseXkbKbd flag, and build a compose keyboard that way
	if the flag is TRUE. [100800, etc.]
	We only read keyboards named "Keyboard.kbd" if this flag is not
	turned on...

	* gok/main.h:
	(gok_main_display_scan): Changed prototype.
	
2003-02-10  Christophe Merlet  <redfox@redfoxcenter.org>

	* configure.ac: Added "fr" (French) to ALL_LINGUAS.

2003-02-03  Daniel Yacob  <locales@geez.org>

	* configure.ac: Added "am" (Amharic) to ALL_LINGUAS.

2003-01-29  Abel Cheung  <maddog@linux.org.hk>

	* configure.in: Removed traditional Chinese (zh_TW) from ALL_LINGUAS,
	  and added German (de).

2003-01-28 Simon Bates <simon.bates@utoronto.ca>

	* Makefile.am: Rule 'webdoc' generates a file gokwebdoc.tar.gz
	containing documentation to place on the gok web site.  README,
	INSTALL and an html version of help/gok/C/gok.xml are included.

2003-01-22  David Bolter <david.bolter@utoronto.ca>

    Possibly fixes bug 103478 (need confirmation)

	* gok/gok-spy.c: improved ui tree search by checking object state
	before looking at children.

2003-01-16 Bill Haneman <bill.haneman@sun.com>

	Fix for nasty problem with Direct Selection using 
	core pointer mouse buttons.
	
	* gok/main.c:
	(gok_main_window_create):
	Added listener for gtk's GdkCrossing events
	"leave_notify_event".

	* gok/callbacks.h:
	* gok/callbacks.c:
	(on_window1_leave_notify):
	New method which calls gok_scanner_on_key_leave to 
	explicitly deselect the last key selected by a corepointer
	motion event.

	* gok/gok-spy.c:
	(gok_spy_button_is_switch_trigger):
	Refined test to detect use of corepointer buttons by 
	DirectSelection access methods.
	
2003-01-15 Bill Haneman <bill.haneman@sun.com>

	* gok/gok-spy.c:
	(gok_spy_add_idle_handler):
	Changed call to gtk_idle_add to g_idle_add, silences 
	warning.
	(gok_spy_idle_handler):
	Added gpointer param, to silence warning.
	(gok_spy_button_is_switch_trigger):
	Fixed to correctly detect switch trigger button actions, if
	a scanning method is using corepointer buttons as its trigger actions.

2003-01-14 Bill Haneman <bill.haneman@sun.com>

	Changes to support use of XInput devices for
	switches and valuators; used by all GOK access modes.
	
	* configure.in:
	Added tests for the XInput extension, and we define 
	HAVE_XINPUT.
	Revved version to 0.1.1.

	* gok-with-references.schemas.m4
	New gconf keys, "/apps/gok/input_device", string,
	default empty; "/apps/gok/drive_corepointer", bool,
	default false.
	
	* gok-with-references.schemas.in:
	New gconf keys for /apps/gok/input_device and
	/apps/gok/drive_corepointer.

	* gok.glade2:
	Reduced some border sizes to fit dialog on 800x600 display.
	Added combobox for 'InputDevice' to 'switch' group.

	* gok/Makefile.am:
	Added gok-input.c and gok-input.h to gok sources.

	* gok/callbacks.c:
	#include <gdk/gdkx.h>, <gok-input.h>, and <gok-gconf-keys.h>.
	(gok_input_extension_filter): New filter function for 
	XInput extension events on the root window.
	(on_window1_destroy): Changed for rename of gok_main_button_listener.
	(gok_discard_take_focus_filter): Renamed gok_discard_focus_filter.
	(on_window1_realize): Call gok_input_init().
	(on_window1_button_event): Changed to call gok_feedback_set_selected_key()
	and gok_keyboard_output_selectedkey(); this means that direct selection 
	with the core pointer device always works when core pointer events are not
	consumed.
	(on_entry_input_device_changed): New method, signal handler for
	signals from the new input device combobox on the settings->actions
	page.

	* gok/callbacks.h:
	Added on_entry_input_device_changed.

	* gok/gok-action.c:
	* gok/gok-action.h:
	Added code to handle ACTION_TYPE_KEY. (For XInput keyboard-type
	devices).  (Not really connected to the UI yet.)

	* gok/gok-chunker.h:
	Removed unused function gok_chunker_set_selected_key().

	* gok/gok-data.c:
	(m_bDriveCorePointer): Added new static.
	(gok_data_read_settings): Read the 'drive_corepointer' key.
	(gok_data_get_drive_corepointer): New method.
	(gok_data_set_drive_corepointer): New method.

	* gok/gok-data.h:
	(gok_data_set_drive_corepointer, gok_data_get_drive_corepointer): New.

	* gok/gok-gconf-keys.h:
	#define GOK_GCONF_DRIVE_COREPOINTER.
	#define GOK_GCONF_ACTION_TYPE_BUTTON	
	#define GOK_GCONF_INPUT_DEVICE

	* gok/gok-key.h:
	* gok/gok-key.c:
	(gok_key_contains_point): New method.

	* gok/gok-keyboard.h:
	(gok_keyboard_paint_pointer, gok_keyboard_unpaint_pointer):
	(gok_keyboard_find_key_at):
	New methods.
	
	* gok/gok-keyboard.c:
	m_oldPointerX, m_oldPointerY: state vars. 
	[should really think about moving to private structs]
	(gok_keyboard_paint_pointer): New method to paint a gok-specific
	pointer in a keyboard window.
	(gok_keyboard_unpaint_pointer): Clears the gok pointer.
	(gok_keyboard_display): Pass the GokKey struct to the signal handler 
	for button_press_events, so that the event handler can directly 
	activate the GokKey in the 'corepointer direct selection' case.
	(gok_keyboard_find_key_at): New method.
	
	* gok/gok-page-actions.c:
	#include "gok-input.h".
	(GSList * pDevice): new static.
	(gok_page_actions_initialize):
	Initialize the Input Device combobox.
	(gok_page_actions_input_device_changed):
	New handler for input device combobox change events.
	(gok_page_actions_update_controls):
	Added calls to gok_page_actions_enable_input_controls ();
	(gok_page_actions_enable_input_controls): New method to
	enable/disable the input device combobox.

	* gok/gok-page-actions.h:
	(gok_page_actions_enable_input_controls): New method.

	* gok/gok-scanner.c:
	#include gok-keyboard.h and main.h.
	(m_pContainingKey, m_OffsetX, m_OffsetY): 
	New state variables [should consider moving to struct].
	(gok_pointer_clip_to_window): New method which confines
	a pointer/valuator's coordinates to a window.
	(gok_scanner_input_motion): New handler for motion
	changes from input device valuators.

	* gok/gok-scanner.h:
	(gok_scanner_input_motion): New.

	* gok/gok-spy.c:
	(gok_spy_button_is_switch_trigger):
	Now return FALSE always, since the previous heuristics
	don't work (and aren't necessary) for XInput devices.

	* gok/gok-interface.c: GLADE-GENERATED FILE. See gok.glade2.

	* gok/main.c:
	#include <gdk/gdkx.h>.
	(main): pass gok_main_mousebutton_listener to gok_spy_register_mousebuttonlistener.
	(gok_main_motion_listener): New method, deals with xinput valuator
	and non-core-pointer motion events.
	(gok_main_button_listener): 
	Renamed from gok_main_mousebutton_listener; listens to xinput button
	events and is called for other button events under some conditions
	(for instance, when corepointer events are associated with gok
	actions).
	(gok_main_mousebutton_listener):
	Called when core pointer button events occur.

	* gok/main.h:
	(gok_main_motion_listneer, gok_main_button_listener) :New, for
	input device events.

	* gok/support.c: GLADE-GENERATED: see gok.glade2.
	
2003-01-14 Simon Bates <simon.bates@utoronto.ca>

	* gok/: gok-modifier-keymasks.c, gok-modifier-keymasks.h: Relates
	the modifier names used in gok keyboard XML files to libspi
	keymasks by defining an array, gok_modifier_keymasks, of (modifier
	name, libspi keymask) pairs.

	* gok/Makefile.am: Added gok-modifier-keymasks.c and
	gok-modifier-keymasks.h

	* gok/gok-spy.c (gok_spy_modifier_listener): Loop through
	gok_modifier_keymasks to process the modifier bit array instead of
	one if/else pair for each modifier.

	* docs/notification-of-change-in-modifier-state: Documents the
	notification of change in modifier state in GOK.

2003-01-14 Simon Bates <simon.bates@utoronto.ca>

	* gok/gok-action.c (gok_action_close): Moved the code for storing
	the actions in GConf to its own function,
	gok_action_store_actions_in_gconf().

	* gok/main.c (gok_main_open): Check the return value of
	gok_feedback_open() and exit if FALSE.

2003-01-08 Simon Bates <simon.bates@utoronto.ca>

	* README: Added a section about the gok keyboard editor and
	removed the explicit reference to "yelp".

2003-01-07 Simon Bates <simon.bates@utoronto.ca>

	* gok/gok-spy.c: Initialised spy_handler_id to 0.

2003-01-07  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in (ALL_LINGUAS): Added "no".
	
2003-01-07  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-spy.c: added clean up of internal event queue on close.

2002-12-20 Simon Bates <simon.bates@utoronto.ca>

	* gok/main.c: Define gok error exit codes as macros. 
	(gok_main_open): Use new error exit code macros, test the return
	value of gok_action_open.

	* gok/gok-action.c: gok_action_open nows returns with FALSE if
	GConf problems occur.

2002-12-19 David Bolter <david.bolter@utoronto.ca>

	* gok/: gok-spy.c, gok-spy.h, gok-spy-priv.h: robustified internal
	event queue.  we now listen to defunct events and add to internal
	queue if appropriate (fixes bug #90673).  attempts to check
	accessible* validity were added and commented out.  other misc.
	changes.

	* gok/: gok-keyboard.c, main.c: minor changes.

2002-12-16 Simon Bates <simon.bates@utoronto.ca>

	* README: Added an Overview section with contents:
	`help/gok/C/extract_overview help/gok/C/gok.xml`

	* help/gok/C/gok.xml: Rewrote the Overview section.

2002-12-13 Simon Bates <simon.bates@utoronto.ca>

	* configure.in: Increased the versions of cspi and libspi that we
	are dependent on from 1.1.6 to 1.1.7

2002-12-12 Simon Bates <simon.bates@utoronto.ca>

	* help/gok/C/extract_overview: This script extracts the Overview
	section from the GOK User Manual and writes it to stdout.  This can
	be used for example to insert the Overview into the GOK README
	file.

	* help/gok/C/gok.xml: Reformatted the Overview section so that it
	can be extracted by an awk script and for example inserted into the
	GOK README file.

	* README: Added a section describing currently known issues with
	gok.

2002-12-12 Simon Bates <simon.bates@utoronto.ca>

	* INSTALL: Added a note on the nature of GOK's dependency on AT-SPI
	and the potential for loosening it.

2002-12-11 Simon Bates <simon.bates@utoronto.ca>

	* help/gok/C/gok.xml, README: Added a section on using Sticky Keys
	to perform latching and locking of modifiers in gok.

2002-12-11 Simon Bates <simon.bates@utoronto.ca>

	* AUTHORS: Added the GOK authors.

	* gok/gok-spy.c: Added a test for SPI_KEYMASK_MOD4 to
	gok_spy_modifier_listener.

	* gok-1.0.pc.in: Added libspi-1.0 to the list of requirements.

	* configure.in: Increased the gok version number to 0.1.0 
	Increased the version number of at-spi on which we are dependent to
	1.1.6

	* gok/Makefile.am: Added test-gok-log.pl to EXTRA_DIST.

	* INSTALL: Added a note to the Installing section explaining that
	gconfd will need to be restarted and made some cosmetic changes.

	* README: Added a section on how to view the GOK User Manual using
	yelp and a section to the Troubleshooting section that provides a
	possible solution if the GOK User Manual is not listed in yelp.

	* help/gok/C/gok-C.omf: Moved the gok user manual to
	GNOME|Accessibility.

2002-12-10 Simon Bates <simon.bates@utoronto.ca>

	* INSTALL: Added AT-SPI and libwnck to the requirements.

2002-12-10 David Bolter <david.bolter@utoronto.ca>

	* gok/: gok-keyboard.c, gok-keyboard.h, gok-spy.c: added a check
	for when suspected leaf objects actually have children with
	interesting roles, and branch to a keyboard of the children as
	necessary.  this check is done before activation of a suspected
	leaf object (e.g. menu item). (Fixes bug 90671)

2002-12-02 Simon Bates <simon.bates@utoronto.ca>

	* gok/: gok-data.c, gok-gconf-keys.h: Fixed bug 99234: Added a
	GConf key /apps/gok/access_method_settings/workaround that enables
	gok to record its access method settings without requiring that
	gconfd be restarted.

	* gok/: gok-action.c, gok-feedback.c: Replaced the text for the
	GConf workaround key with the macro GOK_GCONF_WORKAROUND_TEXT which
	is defined in gok-gconf-keys.h

2002-11-29 Simon Bates <simon.bates@utoronto.ca>

	* README, gok/main.c: Added a note explaining that if gok fails to
	find its GConf keys it may be because gconfd needs to be
	restarted.  This happens after the gok GConf schemas are initially
	installed - gconfd needs to be restarted before applications can
	read the newly installed schemas.

2002-11-28 Simon Bates <simon.bates@utoronto.ca>

	* gok/main.c: Rewrote the descriptions for the command line flags
	--geometry and --remembergeometry to make them more
	understandable.

2002-11-27 Simon Bates <simon.bates@utoronto.ca>

	* automatic-scanning.xam, inverse-scanning.xam: Set the default
	actions to switch actions instead of mouse button actions.

2002-11-27 Simon Bates <simon.bates@utoronto.ca>

	* gok/Makefile.am: Added test-gok-feedback.

	* configure.in: Updated the versions of the required modules in
	PKG_CHECK_MODULES.

2002-11-27 Padraig O'Briain <padraig.obriain@sun.com>

	* gok/gok-spy.[ch]:
	(gok_spy_idle_handler): New function to add idle handler
	gok_spy_idle_handler() to check spy queues.
	(gok_spy_remove_idle_handler): New function to remove idle handler
	(gok_spy_idle_handler): Idle handler to check spy queues. This is a 
	one-shot idle handler rather than being called continuously as
	gok_idle_handler was.

	* gok/gok-main.c:
	(gok_idle_handler): Remove this function. It is replaced by 
	gok_spy_idle_handler).
	(main): Use gok_spy_add_idle_handler and gok_spy_remove_idle_handler
	to add and remove idle handlers.

	This fixes bug #97924.

2002-10-24 Simon Bates <simon.bates@utoronto.ca>

	* gok/gok-spy.c: Fixed some references that were being leaked in
	gok_spy_find_children.  Rewrote gok_spy_append_node and
	gok_spy_find_children.  Added more logging output for tracking
	references to gok_spy_accessible_ref, gok_spy_implicit_ref and
	gok_spy_accessible_unref.

2002-10-22 Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/: gok-feedback.c, gok-scanner.c, main.c: Key flashing is
	not started if user is branching to another keyboard. Fixes bug
	that caused a crash when branching from dynamic keyboard.

2002-10-22 Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/: gok-modifier.c, gok-spy.c: Added 'capslock' as a standard
	modifier.

	* gok/interface.c, directed.xam, dwell-selection.xam, gok.glade2,
	inverse-scanning.xam, direct-selection.xam, gok.glade,
	row-column.xam: Added text "100s of a second" to spin button
	controls.

	* gok/gok-modifier.c: Fixed bug - when a key is pressed the shift,
	ctrl and alt modifiers are not turned off by us.

	* gok/: gok-modifier.c, gok-modifier.h: The modifiers 'shift',
	'ctrl' and 'alt' are added when the modifiers are initialized. 
	These modifiers do not output pre/post wrappers.  Added a new
	function to set the sate of these modifiers.

	* Makefile.am: Removed coded input for now because it's not working
	properly.  Should be returned soon.

2002-10-22 Simon Bates <simon.bates@utoronto.ca>

	* gok/main.c: Disabled the GNOME crash dialog by adding:
	LIBGNOMEUI_PARAM_CRASH_DIALOG, FALSE to the call to
	gnome_program_init.  Also replaced GNOME_PARAM_APP_DATADIR,
	DATADIR with the more general GNOME_PROGRAM_STANDARD_PROPERTIES.

	* gok/Makefile.am: PREFIX, SYSCONFDIR and LIBDIR are now defined
	in INCLUDES.  This was done so that they would be defined for
	GNOME_PROGRAM_STANDARD_PROPERTIES in the call to
	gnome_program_init in main.c.

2002-10-21 Simon Bates <simon.bates@utoronto.ca>

	* qwerty.kbd: Changed the shift, control and alt keys to type
	"modifier".  These keys now provide visual feedback of their
	state.  Keys that have a shifted output, for example "1" outputs
	"!" when shifted, are now labeled with their unshifted output when
	shift is not on and their shifted output when shift is on.  For
	example the "1" key has a label "1" when shift is off and "!" when
	shift is on.

	* gok/gok-spy.c: GOK now provides visual feedback on the state of
	the shift, control and alt modifiers.  Added a listener,
	gok_spy_modifier_listener, for the SPI events
	"keyboard:modifiers".  The listener calls gok_modifier_set_state
	for "shift", "ctrl" and "alt".

2002-10-17 Simon Bates <simon.bates@utoronto.ca>

	* gok/main.c: Fixed a bug that was causing a segmentation fault
	when dynamic keyboards were being deleted: in
	gok_main_display_scan_previous_premade an array was being indexed
	at -1.  gok_segv_handler now notifies the user on stderr that gok
	is closing due to a segmentation fault.

2002-10-16 Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/: gok-page-feedbacks.c, interface.c: Removed the '.sound'
	filter from the sound feedback file selector.  Users can now load
	any file as a sound feedback.

	* gok/: callbacks.c, callbacks.h, interface.c: Replaced the message
	handler for the settings dialog delete event.

	* gok/gok-keyboard.c: All keys are now set to 'released' state when
	keyboard is displayed.	This fixes bug that caused some branch keys
	to appear 'pressed'.

	* gok/gok-settings-dialog.c: Fixed help button call due to change
	in Glade UI creation.

	* gok/gok-settings-dialog.c: Removed the call for setting mnemonics
	on dialog controls because this is now done as part of the Glade UI
	creation.

2002-10-16 Simon Bates <simon.bates@utoronto.ca>

	* launcher.kbd: Increased the size of the launcher buttons to 2x1
	rather than 1x1 so that the text can be larger.  Renamed the "Web
	Browser" button to "Netscape".

2002-10-11 Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/: arraylist.c, arraylist.h, callbacks.c, command-common.h,
	command-edge-data.c, command-edge-data.h, command-edge.c,
	command-edge.h, command-graph.c, command-graph.h,
	command-predictor.c, command-predictor.h, command-vertex-data.c,
	command-vertex-data.h, command-vertex.c, command-vertex.h,
	global.c, global.h, gok-action.c, gok-action.h, gok-bounds.c,
	gok-bounds.h, gok-branchback-stack.c, gok-branchback-stack.h,
	gok-button.c, gok-button.h, gok-chunker.c, gok-chunker.h,
	gok-composer.c, gok-composer.h, gok-control.c, gok-control.h,
	gok-data.c, gok-data.h, gok-editor.c, gok-editor.h, gok-feedback.c,
	gok-feedback.h, gok-gconf-keys.h, gok-gconf.c, gok-gconf.h,
	gok-key.c, gok-key.h, gok-keyboard.c, gok-keyboard.h,
	gok-keyslotter.c, gok-keyslotter.h, gok-log-priv.h,
	gok-log-reader.c, gok-log-reader.h, gok-log.c, gok-log.h,
	gok-modifier.c, gok-modifier.h, gok-output.c, gok-output.h,
	gok-page-accessmethod.c, gok-page-accessmethod.h,
	gok-page-actions.c, gok-page-actions.h, gok-page-feedbacks.c,
	gok-page-feedbacks.h, gok-page-keysizespace.c,
	gok-page-keysizespace.h, gok-page-wordcomplete.c,
	gok-page-wordcomplete.h, gok-predictor.c, gok-predictor.h,
	gok-scanner.c, gok-scanner.h, gok-settings-dialog.c,
	gok-settings-dialog.h, gok-sound.c, gok-sound.h, gok-spy-priv.h,
	gok-spy.c, gok-spy.h, gok-windowlister.c, gok-windowlister.h,
	gok-word-complete.c, gok-word-complete.h, gok.h, gtkjoyswitch.h,
	main.c, main.h, switchapi.c, switchapi.h, test-gok-action.c,
	test-gok-bounds.c, test-gok-feedback.c, test-gok-sound.c,
	word-complete.c, word-complete.h: Added Sun to the copyright
	notice.

2002-10-07 Simon Bates <simon.bates@utoronto.ca>

	* gok/gok-settings-dialog.c: The settings dialog "Help" button now
	starts the help browser at the section within the help file that
	deals with the settings tab that the user is currently on.  For
	example if the user is on the "Actions" tab and they press the
	"Help" button the help browser is opened at the section on actions
	in the GOK user manual.

	* help/gok/C/gok.xml: Made the ids for the sect2s within the
	Settings sect1 consistent.  They now all begin with "gok-settings".

2002-10-07 Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/: callbacks.h, interface.c, support.c, support.h: UI and
	callbacks created with Glade 2

	* gok.glade2: Resources in Glade 2 format.

2002-10-07 Bruce Etheridge <bruce.etheridge@utoronto.ca>

	* help/gok/C/gok.xml: The first version of the GOK user manual.

2002-10-01 Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/gok-spy.c: Unreferenced accessible objects when they were no
	longer needed.

2002-09-27 Simon Bates <simon.bates@utoronto.ca>

	* automatic-scanning.xam, direct-selection.xam,
	inverse-scanning.xam: Made the descriptions more consistent with
	each other and simplified the Operation labels

	* dwell-selection.xam: Simplified the Operation labels and fixed
	the Select operation so that it defaults to dwell

2002-09-27 Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/: gok-keyboard.c, main.c, main.h: Uses specified geometry to
	position GOK keyboard. Keyboard center is not saved if geometry is
	specified.

	* gok/: gok-key.c, gok-key.h: Fixed bug with key resizing where
	HTML special characters (<>&") occured in a key label.

2002-09-26 Simon Bates <simon.bates@utoronto.ca>

	* .cvsignore, gok/.cvsignore, omf-install/.cvsignore,
	help/.cvsignore, help/gok/.cvsignore, help/gok/C/.cvsignore:
	A bit quieter

	* gok/main.c: Added a command line option --remembergeometry. 
	Added GNOME_PARAM_APP_DATADIR,DATADIR to gnome_program_init.

	* gok/gok-settings-dialog.c: The GOK User Guide is now displayed
	when the Help button is pressed on the settings dialog box.  Added
	calls to gnome_help_display.

	* gok/Makefile.am: Added -DDATADIR to INCLUDES for the purpose of
	passing to gnome_program_init

	* configure.in: Added a test for ScrollKeeper and a number of
	entries to AC_OUTPUT for the purpose of processing and installing
	the GOK User Guide

	* Makefile.am: Added help and omf-install for installing the GOK
	User Guide

	* omf-install/Makefile.am: This Makefile.am is used during the
	installation of the GOK documentation

	* help/: Makefile.am, xmldocs.make, gok/C/Makefile.am,
	gok/C/gok-C.omf, gok/C/gok.xml, gok/Makefile.am:
	The GOK User Guide

2002-09-25 Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/: gok-page-accessmethod.c, gok-page-actions.c,
	gok-page-feedbacks.c, gok-settings-dialog.c, gok-settings-dialog.h:
	Names in the combo boxes are now sorted in alphabetic order.

	* gok/: gok-scanner.c, gok-scanner.h: Added handlers for mouse
	buttons 4 & 5.

	* gok/: gok-main.c, gok-keyboard.c: Dynamic keys are now activated
	when changing to a window where they are required. Bug that caused
	crash with scanning and dynamic keys now fixed.


2002-09-24 Simon Bates <simon.bates@utoronto.ca>

	* gok/main.c: The upper left corner of the rectangular area of the
	screen that gok can use is now calculated from the --geometry
	argument to gok.  Currently gok requires that the x, y, width and
	height all be specified (or no geometry at all).  A dialog box is
	shown to the user if --geometry is specified without all 4
	arguments.

	* gok/Makefile.am: Added gok-bounds.c, gok-bounds.h and
	test-gok-bounds.c Removed test-gok-feedback.c

	* gok/: gok-bounds.c, gok-bounds.h, test-gok-bounds.c: gok-bounds.c
	contains a function that calculates the upper left corner of an X11
	geometry specification given the output from XParseGeometry and the
	screen width and height.

2002-09-18 Simon Bates <simon.bates@utoronto.ca>

	* automatic-scanning.xam, direct-selection.xam,
	dwell-selection.xam, inverse-scanning.xam:
	s/flashkey/key_flashing/g to make the default feedback for
	selection in these access methods consistent with the name of the
	default key-flashing feedback in gok-with-references.schemas.m4

2002-09-18 Simon Bates <simon.bates@utoronto.ca>

	* gok/gok-scanner.c: Numeric values are now correctly read from
	access method rates.

2002-09-17 Simon Bates <simon.bates@utoronto.ca>

	* qwerty.kbd: gok will no longer do modifier latching or locking
	itself and that functionality will instead be provided by AccessX
	Sticky Keys.  This means that in order to get modifier latching or
	locking one must turn on AccessX Sticky Keys.  The QWERTY keyboard
	file has been changed to be AccessX friendly.  Details:  All of the
	"modifier" keys have been changed to "normal" keys.  The keycode
	press and release pair that was sent when a key was pressed has
	been changed to a single keysym.  All wrappers have been removed.
	The labels for keys that output different characters when shift is
	on have been changed so that they show the shifted character also.
	For example "8" was changed to "8 *".  Please note that gok no
	longer shows any visual feedback when modifiers are latched or
	locked.  We hope to add this in the future.

2002-09-16 Simon Bates <simon.bates@utoronto.ca>

	* launcher.kbd: Removed setting of GTK_MODULES

2002-09-16 Simon Bates <simon.bates@utoronto.ca>

	* gok/main.c: Gnome is now initialized using gnome_program_int
	rather than the older gnome_init.  Command line arguments are now
	parsed using gnome_program_init and popt.  The following command
	line arguments are now checked for: -e or --editor, --geometry, -l
	or --login, -s or --settings.  The X11 geometry specification is
	parsed but not yet acted upon, the positions of the gok windows are
	not yet affected.

	* gok/gok.h: Defined N_(String)

2002-09-10 Simon Bates <simon.bates@utoronto.ca>

	* qwerty.kbd: Added pre and post wrappers to Alt keys.	Made the
	right Ctrl key send a pair of keycodes rather than a keysym to make
	it more consistent with Shift and the left Ctrl

	* gok/gok-output.c: Added some gok_log messages to
	gok_output_send_to_system

2002-09-09 Simon Bates <simon.bates@utoronto.ca>

	* gok/gok-log.h: Changed "ifdef" to "if defined" to make the
	code clearer

2002-09-09 Simon Bates <simon.bates@utoronto.ca>

	* gok-1.0.pc.in: Updated dependencies

2002-08-29 Chris Ridpath <chris.ridpath@utoronto.ca>

	* automatic-scanning.xam, inverse-scanning.xam: Intrem checkin.
	Both scanning methods working OK but still need some tweaks on
	wrapping.

	* gok/: gok-scanner.c, gok-scanner.h: Added functionality so that
	multiple rates can be specified for a setting.	This was needed for
	the timer so that the standard rate could be added to the initial
	rate.

2002-08-26 Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/: gok-chunker.c, gok-chunker.h, gok-scanner.c, gok-scanner.h:
	Fixed bug - selected key remained highlighted after it was selected
	in scanning.  Added initialization section to access method state.

	* inverse-scanning.xam: Modification for row/column wrapping
	started but not finished yet.

2002-08-26  Bill Haneman <bill.haneman@sun.com>

	* gok/callbacks.c:
	(on_window1_realize):
	Added WM_TAKE_FOCUS to list of WM protocols gok uses, to 
	ask WM to use TAKE_FOCUS protocol instead of explicitly
	focussing gok; also add an event filter to the window as
	described below.
	(gok_discard_take_focus_filter):
	New method, a GdkFilterFunc which discards WM_TAKE_FOCUS
	messages so that Gtk+ doesn't give GOK input focus.

2002-08-22  David Bolter <david.bolter@utoronto.ca>

	* Makefile.am: added inverse-scanning.xam to install list

	* gok/gok-keyslotter.c: fixed bug when number of predictions don't
	fit on keyboard.

2002-08-21 Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/: gok-action.h, gok-chunker.c, gok-chunker.h, gok-data.c,
	gok-scanner.c, gok-scanner.h: All calls to chunker and scanner now
	use rates instead of hard coded values.

	* inverse-scanning.xam: Keeps scanning if switch held down.  User
	interface modified.  Scanning wraps.  User can select scanning
	direction.

2002-08-21  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-windowlister.c: changed the default implementation for
	handling the activation of windows.  now using an actual pointer to
	the window in libwnck, as opposed to comparing strings.  moved
	string comparison implementation to non-default using
	preprocessors..

	* gok/: gok-key.h, gok-key.c: added a pGeneral field to the key
	stuct, which is a void pointer for general use.  currently using
	this for windows in the windowlister keyboard keys.

2002-08-20  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-key.c: added general dynamic style support

	* gok/: gok-spy.c, gok-spy.h: commented out unused code (temporary
	until at-spi registered apps are more prevalent, or libwnck is no
	longer supported)

	* gok/gok-composer.c: fixed style assignments

	* gok/gok-key.h: added general dynamic keystyle

	* gok/gok-keyboard.c: added branch windows case (for activation of
	windows)

	* gok/gok-windowlister.c: minor edits.

	* main.kbd: rearranged keys, and added an "Activate" key for making
	windows active.

	* gok.rc: removed a duplicate style, modified others, and added a
	GeneralDynamic style.

2002-08-19 Simon Bates <simon.bates@utoronto.ca>

	* main.kbd: Added a branch to the launcher keyboard

	* gok/: gok-output.c, gok-output.h: Added a new key output type
	"exec" that executes a command

	* Makefile.am, launcher.kbd: Added launcher.kbd

2002-08-19  David Bolter <david.bolter@utoronto.ca>, Simon Bates <simon.bates@utoronto.ca>

	* configure.in: added libwnck-1.0 library requirement, which is
	used for creating the window list, and window activation.

	* gok/: Makefile.am, gok-key.c, gok-key.h, gok-keyboard.c,
	gok-keyboard.h, gok-windowlister.c, gok-windowlister.h: added
	window list keyboard, allowing activation of windows.

	* manage.kbd: changed a label

2002-08-19  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-composer.c: minor bug fix

2002-08-16  David Bolter <david.bolter@utoronto.ca>

	* gok/command-vertex-data.c: fixed compiler warnings

	* gok/switchapi.c: fixed compiler warnings for non linux builds.

	* gok/main.c: added return statement to segv handler

2002-08-15 15:14  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-spy.c: added defines for magic numbers that control the
	breadth and depth of gui tree searches.

2002-08-14 Simon Bates <simon.bates@utoronto.ca>

	* gok/gok-sound.c: Added a test to catch errors that might occur
	when loading a soundfile.

2002-08-14  David Bolter <david.bolter@utoronto.ca>

	* gok/: command-graph.c, command-predictor.c, command-predictor.h,
	global.c, gok-predictor.c: minor edits (fixed compiler warnings)

2002-08-13 Simon Bates <simon.bates@utoronto.ca>

	* gok/: Makefile.am, gok-file-util.c, gok-file-util.h: Removed
	gok-file-util.c and gok-file-util.h as they are no longer needed. 
	g_build_filename should be used instead of gok_file_dir_concat.

	* gok/: gok-scanner.c, main.c, word-complete.c: Now using
	g_build_filename instead of gok_file_dir_concat

	* gok/gok-gconf.c: Added missing #include <string.h>

	* gok/word-complete.h: TRUE and FALSE are now only defined if they
	have not already been.

2002-08-13 Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/: gok-page-feedbacks.c, callbacks.c, gok-chunker.c,
	gok-chunker.h, gok-data.h, gok-keyboard.c, gok-keyboard.h,
	gok-modifier.c, gok-output.c, gok-page-accessmethod.c,
	gok-page-accessmethod.h, gok-page-actions.c, gok-page-feedbacks.h,
	gok-page-keysizespace.c, gok-page-keysizespace.h,
	gok-page-wordcomplete.c, gok-scanner.c, gok-scanner.h,
	gok-settings-dialog.c, gok-settings-dialog.h: Fixed compiler
	warnings and added docs for functions.

	* gok/callbacks.c: Fixed a bug with a missing parameter.

2002-08-12 Simon Bates <simon.bates@utoronto.ca>

	* gok/gok-feedback.c: Added missing #include of "gok-sound.h".
	Removed unused variables. From gok_feedback_open: permanent.  From
	gok_feedback_close: err.

	* gok/gok-action.c: Removed unused variables. From gok_action_open:
	err.  From gok_action_close: err.

	* gok/gok-data.c: Removed unused variables.  From
	gok_data_read_settings: bGlobalSetting and a_gerror.  From
	gok_data_close: pStringYesNo, stringYes, stringNo and pFile.

	* gok/test-gok-sound.c: Added "return 0;" to the end of the main
	function to stop it falling off the end.

	* gok/gok-log.c: Fixed the definition of indent - it was missing a
	type. Now defined as "int".

2002-08-12  David Bolter <david.bolter@utoronto.ca>

	* gok/: arraylist.c, gok-keyboard.h, gok-keyslotter.h,
	gok-predictor.c, gok-spy.c, main.c: cleaning up strict compiler
	warnings.

	* gok/Makefile.am: added keyslotter.c to builds

	* gok/gok-data.h: changed naming from commandcomplete to
	commandprediction to match related code.

	* gok/gok-word-complete.c: moved some generic key slot code into
	its own module: gok-keyslotter.

	* gok/gok-spy.h: added three function prototypes for debugging ref
	counts.

	* gok/gok-keyslotter.c: first add

2002-08-12 Simon Bates <simon.bates@utoronto.ca>

	* INSTALL: Removed the configure option "--enable-esd" esound (esd)
	is now required and is no longer optional

	* gok/gok-feedback.c: Now calls gok_sound_play to provide audio
	feedback

	* gok/: gok-sound.c, gok-sound.h, test-gok-sound.c: Rewrote the gok
	sound package. The package now consists of three functions:
	gok_sound_initialize (), gok_sound_shutdown () and gok_sound_play
	(gchar *soundfile). gok_sound_play loads the specified soundfile
	and plays it the first time it is called with that soundfile. In
	subsequent calls the soundfile is played from memory.

	* gok-with-references.schemas.in, gok-with-references.schemas.m4:
	Added new feedback: none Added new feedbacks: goksound1 and
	goksound2 Removed old sound feedback: sound

	* gok/gok-keyboard.c: Removed the old calls to gok_sound_play

	* Makefile.am: Added goksound1.wav and goksound2.wav to
	pkgdata_DATA so that they are installed at make install

	* goksound1.wav, goksound2.wav: Added to CVS

	* configure.in: Using ESD is no longer optional and "esound" is
	listed as a dependency of gok in PKG_CHECK_MODULES

2002-08-09 Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/: gok-feedback.c, gok-feedback.h, gok-page-feedbacks.c:
	Removed the flags used to make the feedback unmodifyable and now
	use the 'permanent' flag.

	* gok/interface.c: Fixed bug - mouse button types now can't be
	changed for permanent mouse button actions.

	* gok/: gok-page-actions.c, gok-page-actions.h: Fixed bug - mouse
	button types now can't be changed for permanent mouse button
	actions.

2002-08-09  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-branchback-stack.c, gok/gok-key.c, gok/gok-key.h,
	gok/gok-keyboard.c, gok/gok-keyboard.h, gok/gok-spy.c,
	gok/gok-spy.h, gok/main.c, Makefile.am, manage.kbd: part of
	multifile commit related to implementing a task management
	keyboard, as well as some bug fixes related to keyboard deletion.

	* gok/gok-composer.c: minor edit.

	* main.kbd: undid last commit (last commit was erroneous)

2002-08-08 Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/: gok-feedback.c, gok-feedback.h, gok-page-feedbacks.c:
	Feedbacks are backed up once read in so the 'revert' works
	properly.  Added 2 flags to GokFeedback - bSoundMustBeOn and
	bFlashMustBeOn. These are needed for our permanent feedbacks that
	should not be turned off by the user.

2002-08-07 Chris Ridpath <chris.ridpath@utoronto.ca>

	* main.kbd: Slight cosmetic change.

	* direct-selection.xam, dwell-selection.xam, row-column.xam:
	Changed the handler 'actions' to 'effects'.

	* gok/: gok-feedback.c, gok-feedback.h, gok-page-accessmethod.c,
	gok-page-accessmethod.h, gok-page-feedbacks.c, gok-scanner.c,
	gok-scanner.h: Changes to feedbacks on the access method page not
	almost working.

2002-08-06  David Bolter <david.bolter@utoronto.ca>

	* gok/: main.c, main.h: added idle handler (to check at-spi event
	queue in gok-spy). added keyboard argument to gok_main_display_scan
	method.  bulletproofing of keyboard deletion (avoiding segv). 
	debugging output added.

	* gok/: gok-spy.c, gok-spy.h: removed mutex, and added an event
	queue for focus events. added reference count debugging log
	messages.

	* gok/gok-editor.c: added argument to gok_keyboard_delete calls.

	* gok/gok-keyboard.h: added methods for improvements/fixes to
	dynamic keyboard code (including handling of submenus).

	* gok/gok-keyboard.c: significant improvements/fixes to dynamic
	keyboard code (including handling of submenus).

	* test.kbd: minor mods

	* gok/gok-composer.c: modified to work with gok_main_display_scan
	extra argument.

	* gok/: gok-branchback-stack.c, gok-branchback-stack.h: bugfix
	(temporary?) so that dynamic keyboards do not get deleted if they
	are in the stack.

2002-07-31  Laszlo Peter  <laca@sun.com>

	* gok/Makefile.am: s/LDFLAGS/LDADD/

2002-07-30 Simon Bates <simon.bates@utoronto.ca>

	* gok/gok-gconf-keys.h: Removed the macros
	GOK_GCONF_DEFAULTS_DIRECTORY and GOK_GCONF_ACTIONS_DIRECTORY as
	they are no longer needed.

	* gok-with-references.schemas.m4: Removed the keys for
	defaults_directory and actions_directory as they are no longer
	needed.

	* gok-actions.xml: Removed gok-actions.xml as it is not longer
	needed. Actions are now stored in GConf.

	* Makefile.am: Removed gok-actions.xml as it is not longer needed.
	Actions are now stored in GConf.

2002-07-29 Simon Bates <simon.bates@utoronto.ca>

	* gok/test-gok-action.c: Added a test that checks the storage and
	retrieval of actions with all the possible values of type. Added a
	test that checks all possible values of state. Added a test that
	checks both values of permanent. Added a test that checks both
	values of key averaging.

	* gok/gok-action.c: Added handling of states ACTION_STATE_ENTER and
	ACTION_STATE_LEAVE to gok_action_open and gok_action_close.

	* gok/gok-gconf-keys.h: Added macros for action states "enter" and
	"leave".

2002-07-29 Simon Bates <simon.bates@utoronto.ca>

	* gok/Makefile.am: Added test-gok-feedback

	* gok/: test-gok-feedback.c, gok-feedback.c: Feedbacks are now
	stored and retrieved from GConf

	* gok/gok-gconf-keys.h: Added macros for feedbacks

	* gok/gok-action.c: Permanent actions are now stored in GConf.

	* gok/gok-gconf.c: The set functions now only set the value for a
	key if it is different from what is in GConf already for the key.

	* gok/gok-page-feedbacks.c: Used g_strdup instead of malloc and
	strcpy to make sure that strings are duplicated correctly
	independent of the size of g_char.

	* gok-with-references.schemas.in, gok-with-references.schemas.m4:
	Rewrote gok-with-references.schemas.m4 to use more macros and
	therefore reduced the length of the file. Added schemas for the
	default feedbacks.

	* Makefile.am: Fixed the rules for gok.schemas. make distcheck was
	failing because the rules did not work properly when srcdir !=
	builddir

2002-07-27  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-keyboard.c: accessible pointers stored on keyboards
	should be set by calling gok_keyboard_set_accessible, or ref counts
	can get unbalanced.  one such case was caught and fixed.

2002-07-26  Laszlo Peter <laca@sun.com>

	* configure.in: added test for X libs

	* gok/Makefile.am: link to the X libs.

2002-07-25  David Bolter <david.bolter@utoronto.ca>

	* gok/Makefile.am: added gok-composer.c and gok-composer.h

	* gok/: gok-composer.c, gok-composer.h: first add

	* gok/gok-spy.c: minor edit involving comparing AccessibleText
	pointers.

	* gok/gok-keyboard.c: moved text manipulation keyboard code into
	new gok-composer.c file, added ref counting for the keyboard
	pAccessible field.

	* gok/: gok-key.c, gok-key.h: added gok_key_add_output function.

2002-07-25  David Bolter <david.bolter@utoronto.ca>

	* gok/: main.h, main.c: Added a SEGV signal handler to perform some
	cleanup in order to keep the system from becoming unusable.  This
	involved moving more cleanup code into the common gok_main_close
	function, as well as slightly reordering the cleanup sequence.

2002-07-24  David Bolter <david.bolter@utoronto.ca>

	* gok/gok-spy.c: massive edits, improvements include: limiting
	at-spi leaks, finding accessible objects, stability.

	* gok/gok-spy.h: uncommented mutex definition

	* gok/main.c: moved gok-spy-close call to before SPI_exit().

	* gok/gok-keyboard.c: improved interaction with at-spi (gok-spy),
	fixed accessible text manipulation (was broken).


2002-07-23 Simon Bates <simon.bates@utoronto.ca>

	* gok/gok-log.c: Fixed a bug in put_indent that was causing
	segmentation faults

2002-07-22 Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/: gok-action.c, gok-action.h, gok-feedback.c, gok-feedback.h,
	gok-page-actions.c, gok-page-feedbacks.c: The actions and feedbacks
	pages are now similar.

2002-07-19 Simon Bates <simon.bates@utoronto.ca>

	* INSTALL: Changed file to refer to "configure" rather than
	"autogen.sh". Added m4 to the requirements

	* gok/Makefile.am: Added missing headers

	* Makefile.am: Changed gok-with-references.schemas.in to
	gok-with-references.schemas.m4 in EXTRA_DIST

	* Makefile.am: Added $(pkgdata_DATA) and
	gok-with-references.schemas.in to EXTRA_DIST

	* INSTALL, configure.in: gtk-doc is now enabled by default

	* docs/reference/: gok-docs.sgml, gok-sections.txt,
	tmpl/arraylist.sgml, tmpl/callbacks.sgml, tmpl/command-common.sgml,
	tmpl/command-edge-data.sgml, tmpl/command-edge.sgml,
	tmpl/command-graph.sgml, tmpl/command-predictor.sgml,
	tmpl/command-vertex-data.sgml, tmpl/command-vertex.sgml,
	tmpl/global.sgml, tmpl/gok-action.sgml,
	tmpl/gok-branchback-stack.sgml, tmpl/gok-button.sgml,
	tmpl/gok-chunker.sgml, tmpl/gok-control.sgml, tmpl/gok-data.sgml,
	tmpl/gok-editor.sgml, tmpl/gok-feedback.sgml,
	tmpl/gok-file-util.sgml, tmpl/gok-gconf-keys.sgml,
	tmpl/gok-gconf.sgml, tmpl/gok-key.sgml, tmpl/gok-keyboard.sgml,
	tmpl/gok-keyslotter.sgml, tmpl/gok-log-priv.sgml,
	tmpl/gok-log-reader.sgml, tmpl/gok-log.sgml,
	tmpl/gok-modifier.sgml, tmpl/gok-output.sgml,
	tmpl/gok-page-accessmethod.sgml, tmpl/gok-page-actions.sgml,
	tmpl/gok-page-feedbacks.sgml, tmpl/gok-page-keysizespace.sgml,
	tmpl/gok-page-wordcomplete.sgml, tmpl/gok-predictor.sgml,
	tmpl/gok-scanner.sgml, tmpl/gok-settings-dialog.sgml,
	tmpl/gok-sound.sgml, tmpl/gok-spy-priv.sgml, tmpl/gok-spy.sgml,
	tmpl/gok-unused.sgml, tmpl/gok-word-complete.sgml, tmpl/gok.sgml,
	tmpl/gtkjoyswitch.sgml, tmpl/interface.sgml, tmpl/main.sgml,
	tmpl/support.sgml, tmpl/switchapi.sgml, tmpl/word-complete.sgml:
	Added to CVS

	* docs/reference/gok.types: Added to CVS, needed for 'make dist'

	* gok/command-predictor.h: Replaced "typedef enum
	prediction_algorithm_enums" with "typedef enum" to make gtk-doc
	happy

2002-07-19 Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok.glade: Changes to feedbacks page.

	* gok/: callbacks.c, gok-feedback.c, gok-feedback.h,
	gok-page-feedbacks.c, gok-page-feedbacks.h, interface.c: Feedbacks
	now working except for sounds.

2002-07-19 Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/: gok-feedback.c, gok-feedback.h, gok-page-feedbacks.c,
	gok-page-feedbacks.h: Initial version of the feedbacks.

	* gok/main.c: Added an open and close for the feedbacks.

	* gok/: callbacks.h, gok-action.c, gok-page-actions.c, interface.c,
	callbacks.c, gok-action.h, gok-settings-dialog.c: Initial
	modifications for the 'feedbacks' settings page.

	* gok/Makefile.am: Added files for the 'feedbacks' settings page.

	* gok.glade: Modified the 'feedback' page.

2002-07-18 Simon Bates <simon.bates@utoronto.ca>

	* gok.schemas.in, gok.schemas.m4: gok.schemas.m4 and gok.schemas.in
	are no longer used. They have been replaced by
	gok-with-references.schemas.m4 and gok-with-references.schemas.in

	* Makefile.am, gok-with-references.schemas.in,
	gok-with-references.schemas.m4, po/POTFILES.in: Changed the way
	that gok.schemas is generated. It is now generated as follows:
	gok-with-references.schemas.m4 -> gok-with-references.schemas.in
	via m4 macro expansion. gok-with-references.schemas.in ->
	gok-with-references.schemas via @INTLTOOL_SCHEMAS_RULE@ to merge in
	translations. gok-with-references.schemas -> gok.schemas via sed to
	replace references to $pkgdatadir to the actual value of
	$pkgdatadir determined at configure time.

2002-07-16 David Bolter <david.bolter@utoronto.ca>

	* gok/main.c: fixing gok window occlusion: added gdk_window_raise
	call to raise the gok window when there is a window focus or mouse
	button up event. need to find a solution for dwell users (poll?)
	since we can't count on a focus or mouse button event.

2002-07-12 Simon Bates <simon.bates@utoronto.ca>

	* gok/main.c: Now only loading the gok rc file if the setting
	use_gtkplus_theme is false.

	* gok/: gok-data.c, gok-data.h: Added a new variable,
	m_bUseGtkPlusTheme, for storing whether we should use the Gtk+
	theme or not. Initialized that variable in gok_data_initialize. 
	Read it from GConf in gok_data_read_settings. Added a getter
	gok_data_use_gtkplus_theme and a setter
	gok_data_set_use_gtkplus_theme.

	* gok/gok-gconf-keys.h: Added a key for storing whether we should
	use the Gtk+ theme or not

	* gok/gok-data.c: Removed the lines that read and wrote the
	settings to an XML file that had been previously commented out.

2002-07-12 Simon Bates <simon.bates@utoronto.ca>

	* gok/: gok-action.c, test-gok-action.c: gok_action_close now only
	saves non-permanent actions. This is to avoid every user having
	their own copies of the permanent actions in their local GConf
	settings.

2002-07-11 David Bolter <david.bolter@utoronto.ca>

	* gok/main.c: connected mouse button listener in main.c to switch
	handlers in gok-scanner

2002-07-11 Simon Bates <simon.bates@utoronto.ca>

	* gok/: gok-action.c, test-gok-action.c: gok_action_close now
	unsets any actions that are in GConf but which are not in memory.
	This is so that actions that are deleted with
	gok_action_delete_action are removed from GConf.

2002-07-11 David Bolter <david.bolter@utoronto.ca>

	* gok/: gok-spy.h, main.h, gok-spy-priv.h, gok-spy.c, main.c: added
	general mouse button event handling using at-spi.

	* gok/gok-editor.c: added call to mark file as modified.

	* gok/: gok-button.c, gok-key.c: removed some verbose debug output

2002-07-11 Simon Bates <simon.bates@utoronto.ca>

	* gok/: gok-action.c, gok-gconf-keys.h: Added a work around to
	gok_action_close to deal with a bug in GConf.  I have submitted a
	bug on GConf to Bugzilla:
	http://bugzilla.gnome.org/show_bug.cgi?id=87929 There is a problem
	with GConf and schemas and directories that contain only
	subdirectories and no keys. When actions were added they were not
	being stored in GConf. Actions are added to a directory
	/apps/gok/actions and there is a subdirectory for each action. So
	/apps/gok/actions contains only subdirectories and no keys. The
	work around is to add a key /apps/gok/actions/workaround.

2002-07-10 Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/: gok-button.c, gok-button.h: Highlight state now set.
	* gok/main.c: Removed the button press event handler setting from
	the main window because the main window will never receive that
	event.
	* gok/gok-chunker.c: Key is now highlighted according to our state.
	* gok/gok-scanner.c: Button release now reset when keyboard
	changes.
	* gok/gok-key.h: Keys now highlight according to our state.
	* gok/: gok-key.c, gok-keyboard.c: Keys now highlight according to
	our state.  All disabled keys (branch back, branch GUI etc.) now
	use the same key style.

2002-07-05 Chris Ridpath <chris.ridpath@utoronto.ca>, DB, CY

	* command-edge.c: Fixed bug with seg fault on file load.

2002-07-03 Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/: gok-page-actions.c, gok-scanner.c: Now uses new action
	names.

	* automatic-scanning.xam, code-input-switch.xam,
	direct-selection.xam, dwell-selection.xam, row-column.xam: Updated
	access methods to use new action names.

	* Makefile.am: Removed several access methods for now.

2002-07-02 Simon Bates <simon.bates@utoronto.ca>

	* gok.schemas.in: Replaced gok.schemas.in with gok.schemas.m4

	* Makefile.am, gok.schemas.m4: Replaced gok.schemas.in with
	gok.schemas.m4 We are now using m4 to process the gok.schemas
	rather than sed. Added the default actions to gok.schemas.m4

2002-07-02 Simon Bates <simon.bates@utoronto.ca>

	* gok/: Makefile.am, gok-action.c, gok-action.h, test-gok-action.c:
	Converted gok-action over to GConf. Added a new attribute to
	GokAction, pDisplayName, for storing the action name that is
	displayed to the user.  Added two functions for creating and
	destroying GokActions, gok_action_new and gok_action_free.

	* gok/gok-gconf-keys.h: Added macros for action settings.

	* gok/gok-gconf.c: Fixed up the comment for gok_gconf_get_string

	* gok/main.h: Added a prototype for gok_main_display_gconf_error().

2002-06-28 Simon Bates <simon.bates@utoronto.ca>

	* gok/: gok-gconf.c, gok-gconf.h: Added to CVS.

	* gok/Makefile.am: Added gok-gconf.c and gok-gconf.h

	* gok/: gok-data.c, main.c: Improved the way that GOK behaves when
	it cannot retreive the keys that it expects to get from GConf.

	* README: Added a "Troubleshooting" section that contains solutions
	for some observed problems.

2002-06-27 Chris Ridpath <chris.ridpath@utoronto.ca>

	* code-input-switch.xam: First version of binary coding access
	method.

	* gok/: callbacks.c, gok-chunker.c, gok-chunker.h, gok-keyboard.c,
	gok-keyboard.h, gok-scanner.c, gok-scanner.h: First version of
	binary coding.

2002-06-25 David Bolter <david.bolter@utoronto.ca>

	* gok/: gok-editor.c, gok-editor.h: added gok_editor_touch_file
	method, and fixed a reintroduced bug with new key placement.

	* gok/main.c: removed some commented out code.

2002-06-23 Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/: callbacks.c, gok-editor.c, gok-editor.h: Editor now saves
	files.	Titlebar is updated with filename and modification status. 
	Fixed bug so new keys are added properly to new keyboard.

2002-06-21 David Bolter <david.bolter@utoronto.ca>

	* gok/gok-editor.c: improved keyboard updating, and new key
	placement.

2002-06-21 David Bolter <david.bolter@utoronto.ca>

	* gok/gok-button.c: added some gok log messages, changing code
	slightly in the process.

	* gok/: gok-editor.c, gok-editor.h: added functions: moving keys,
	adding keys, deleting keys, and new keyboard (almost).

	* gok/: callbacks.c, callbacks.h, interface.c: added signals in
	editor

	* gok/: gok-key.h, gok-key.c: added gok_key_set_cells, and
	gok_key_duplicate

	* gok.glade: added some signals for key cell spin controls, new,
	delete key buttons, and new menu item.

2002-06-21 Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/main.c: Ensures the keyboard is a minimum size.

	* gok/gok-predictor.c: Fixed a couple of compiler warnings (casts
	needed).

	* gok.glade: Added keyboard editor dialog to the project.2002-06-18 16:28  Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/: gok-key.c, gok-keyboard.c, gok-keyboard.h: Small changes so
	the keys and keyboards could be reused in the editor.

	* gok/: gok-button.c, gok-button.h: Removed the events for
	key-enter and key-leave from the button initialization. These
	events are now added to the button when the keyboard creates the
	buttons. If the keyboard is used in the editor then these signals
	are not created.

	* gok/: main.c, main.h: Keyboard editor added to main. The editor
	is started by adding "editor" to the command line. When the editor
	is running the normal GOK does not run.

	* gok/: callbacks.c, callbacks.h, interface.c, interface.h: UI for
	the keyboard editor.

	* gok/Makefile.am: Added keyboard editor files to the project.

	* gok/: gok-editor.c, gok-editor.h: Initial version of the GOK
	keyboard editor.

2002-06-14 Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/: callbacks.c, callbacks.h, gok-action.c, gok-action.h,
	gok-data.c, gok-data.h, gok-page-actions.c, gok-page-actions.h,
	gok-scanner.c, gok-scanner.h, gok-settings-dialog.c, interface.c:
	Settings page for adding and modifying actions is now working.

2002-06-12 David Bolter <david.bolter@utoronto.ca>

	* qwerty.kbd: keysym for equals changed to "equal" fixing broken =
	key.

2002-06-07 David Bolter <david.bolter@utoronto.ca>

	* gok/: Makefile.am, gok-data.c, gok-data.h, gok-key.c, gok-key.h,
	gok-keyboard.c, gok-keyboard.h, gok-word-complete.c, main.c,
	main.h, word-complete.c: involves first integration of command
	prediction engine.

	* gok/gok-keyslotter.h: first add - involved with integration of
	prediction engine into gok

	* test.kbd: added commandprediction="yes" attribute for testing
	command prediction.

2002-06-07 Cynick Young <cynick.young@utoronto.ca> ,
           David Bolter <david.bolter@utoronto.ca>

	* gok/: gok-predictor.c, gok-predictor.h: first add - provides
	interface between gok and prediction engine.

2002-06-07 Cynick Young <cynick.young@utoronto.ca> ,
           Laurel Williams <laurel.williams@utoronto.ca>

	* gok/: arraylist.c, arraylist.h, command-common.h,
	command-edge-data-test.c, command-edge-data.c, command-edge-data.h,
	command-edge.c, command-edge.h, command-graph.c, command-graph.h,
	command-predictor.c, command-predictor.h, command-vertex-data.c,
	command-vertex-data.h, command-vertex.c, command-vertex.h: 
	first add, part of a fairly generic and powerful prediction engine.
	
	* gok/: gok-log-reader.c, gok-log-reader.h: first add - part of
	prediction engine.
	
	* gok/: global.c, global.h, 
	first add - part of prediction engine code (needs to be
	absorbed into other files)
	
2002-06-06 Chris Ridpath <chris.ridpath@utoronto.ca>

	* automatic-scanning.xam, direct-selection.xam: Added several
	controls to the rates.

	* gok/gok-page-accessmethod.c: Now checks that control is created
	before reading it.

	* gok/main.c: Added a command line flag "settings" that, if
	present, will display the settings dialog when the gok runs.

	* gok/: gok-data.c, gok-data.h, gok-page-accessmethod.c,
	gok-page-accessmethod.h, interface.c: Dynamic UI now updates all
	user controls.

	* Makefile.am, automatic-scanning.xam, code-input-switch.xam,
	direct-selection.xam: Access methods have improved UI.


2002-06-03 David Bolter <david.bolter@utoronto.ca> (and C.R.)

	* gok/gok-chunker.c: fixed branching bug (related to chunk hilight
	state and chunking)

2002-06-03 Chris Ridpath <chris.ridpath@utoronto.ca>

	* Makefile.am, direct-selection.xam, automatic-scanning.xam,
	row-column.xam: Direct selection and Row-Column selection methods
	now have a more correct UI description.

	* gok/: gok-control.c, gok-control.h, gok-data.c, gok-data.h,
	gok-page-accessmethod.c, gok-page-accessmethod.h, gok-scanner.c,
	gok-settings-dialog.c, main.c: Intrem checkin. Access method UI
	code that ties the UI to the selection method.


2002-05-29  David Bolter <david.bolter@utoronto.ca>

	* gok/switchapi.h: removed unecessary includes

2002-05-17  Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/: gok-chunker.c, gok-control.c, gok-control.h,
	gok-page-accessmethod.c, gok-scanner.c, gok-scanner.h, interface.c:
	Dynamic UI intrem checkin.

	* Makefile.am, automatic-scanning.xam, directed.xam,
	inverse-scanning.xam: UI added to access methods.

2002-05-16  Chris Ridpath <chris.ridpath@utoronto.ca>

	* Makefile.am, direct-selection.xam, directed.xam, gok-actions.xml,
	gok-settings.xml, inverse-scanning.xam, dwell-selection.xam:
	Dynamic UI XML code added to access methods.

	* gok/main.c: Initialization order was changed so the actions file
	is read in earlier.

	* gok/: gok-action.h, gok-control.c, gok-data.c,
	gok-page-accessmethod.c, gok-scanner.c, gok-scanner.h, interface.c:
	Dynamic UI now working.

2002-05-15 Simon Bates <simon.bates@utoronto.ca>
	
	* README, INSTALL: Updated.

2002-05-15 Simon Bates <simon.bates@utoronto.ca>

	* Makefile.am, gok.schemas.in, gok/Makefile.am,
	gok/gok-action.c, gok/gok-gconf-keys.h: Changed the way
	that gok-actions.xml is loaded and saved.
	Changed gok_action_open:
	  - Try to read gok-actions.xml from directory pointed to by
	    GConf key GOK_GCONF_ACTIONS_DIRECTORY
	  - If that fails then get from directory pointed
	    to by GConf key GOK_GCONF_DEFAULTS_DIRECTORY
	Changed gok_action_close:
	  - Try to save gok-actions.xml to directory pointed to by GConf key
	    GOK_GCONF_ACTIONS_DIRECTORY
	  - If that fails then create ~/.gok, save there and
	    change GOK_GCONF_ACTIONS_DIRECTORY to point at ~/.gok

2002-05-14 Pablo Saratxaga  <pablo@mandrakesoft.com>

	* configure.in: Added Vietnamese (vi) and Catalan (ca) to ALL_LINGUAS

2002-05-13 Simon Bates <simon.bates@utoronto.ca>

	* gok.schemas.in, gok/gok-data.c: The name of the current access
	method is now stored and retrieved from GConf.

2002-05-13 Simon Bates <simon.bates@utoronto.ca>

	* Keyboard files, access method files, gok.rc and
	the word completion dictionary are now loaded from
	directory names stored in GConf keys.

2002-05-10 David Bolter <david.bolter@utoronto.ca>

	* gok/gok-keyboard.c: -bug fix- fixed the highlight state not been reset bug
	when branching back to keyboards 

2002-05-10 Simon Bates <simon.bates@utoronto.ca>

	* gok/: gok-data.c, gok-gconf-keys.h, main.c: Added some GConf
	support to gok. The following settings are now read from GConf in
	gok_data_read_settings(): key spacing, key width, key height,
	keyboard x, keyboard y, word complete, number predictions.  Those
	settings are also written to GConf in these functions:
	gok_data_set_key_spacing, gok_data_set_key_width,
	gok_data_set_key_height, gok_data_set_keyboard_x,
	gok_data_set_keyboard_y, gok_data_set_wordcomplete,
	gok_data_set_num_predictions.

	* Makefile.am, configure.in, gok.schemas: Added schemas for gok
	GConf keys, gok.schemas. This is now installed into the default
	system location at make install.

2002-05-09 Chris Ridpath <chris.ridpath@utoronto.ca>

	* alphabet.kbd, test.kbd: Fixed a few minor bugs with the modifier
	keys.

	* gok/: Makefile.am, callbacks.c, callbacks.h, gok-modifier.c,
	gok-output.c, gok-page-accessmethod.c, gok-page-accessmethod.h,
	gok-page-actions.c, gok-page-actions.h, gok-page-keysizespace.c,
	gok-page-keysizespace.h, gok-page-wordcomplete.c,
	gok-page-wordcomplete.h, gok-settings-dialog.c, interface.c,
	main.c: Initial version of the 'actions'.

	* qwerty.kbd: Wrappers are now set for the modifier keys.

	* gok/: gok-key.c, gok-key.h, gok-modifier.c, gok-modifier.h:
	Modifier keys now output their wrapper according to the wrapper set
	on the key. (Wrappers can be different for same modifier type e.g.
	shift_l and shift_r.) Toggle modifiers (like capslock) now have a
	different indicator than normal modifiers.

2002-05-03 Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/: gok-button.h, gok-key.c, gok-keyboard.c, gok-keyboard.h,
	gok-page-wordcomplete.c, gok-settings-dialog.c,
	gok-word-complete.c, gok-word-complete.h, interface.c: Settings
	dialog for word completion now works when user selects 'try',
	'revert' or 'ok'.

2002-05-02	David Bolter <david.bolter@utoronto.ca>

	* gok/gok-output.c: got the keycodes working.
	* main.kbd, qwerty.kbd: fixed modifier output tags

2002-05-01	Chris Ridpath <chris.ridpath@utoronto.ca>

	* main.kbd: Modified several keys to use the new modifier format.

	* gok/: gok-key.c, gok-key.h, gok-keyboard.c, gok-modifier.c,
	gok-output.c, gok-output.h, gok-word-complete.c: Word completion
	now works with the new GokOutputs.

2002-04-30	Chris Ridpath <chris.ridpath@utoronto.ca>

	* qwerty.kbd: Fixed several labels for the 'shift' modifier.

	* gok/Makefile.am: Added files for modifier keys and key output.

	* gok/: gok-key.c, gok-key.h, gok-keyboard.c, gok-keyboard.h,
	gok-word-complete.c, gok-word-complete.h, main.c: Modifier keys are
	now working.  Indicators for modifiers now working.

	* gok/: gok-modifier.c, gok-modifier.h, gok-output.c, gok-output.h:
	Code that deals with modifier keys and output from keys.

	* qwerty.kbd: Added labels and outputs for modifier keys.

2002-04-29 Simon Bates <simon.bates@utoronto.ca>

	* Makefile.am, configure.in, gok/main.c: Made some I18N fixes and
	gok can now be run in a language specified by the LANG environment
	variable.

2002-04-29 David Bolter <david.bolter@utoronto.ca>

	* gok/: gok-spy.c, gok-spy.h: added an API method gok_spy_has_child
	for optimization of dynamic keyboard branch key validation. 
	numerous minor changes, possible bug fixes (not fully tested).

	* gok/gok-keyboard.c: changed keyboard validation to use new
	optimized gok_spy calls.

2002-04-24 Simon Bates <simon.bates@utoronto.ca>

	* gok/: Makefile.am, gok-keyboard.c, gok-sound.c, gok-sound.h,
	test-gok-sound.c: Improved gok-sound. gok-sound now defines two
	events, GOK_SOUND_MOVE and GOK_SOUND_SELECT. A new function,
	gok_sound_load loads a sound file and associates it with an event.
	gok_sound_play now takes an event name as a parameter and plays
	the sound that was previously loaded for that event.  Please see
	test-gok-sound.c for example usage.

2002-04-24  Christian Rose  <menthos@menthos.com>

	* configure.in: Added "sv" to ALL_LINGUAS.

2002-04-20  Abel Cheung  <maddog@linux.org.hk>

	* .cvsignore, */.cvsignore, */*/.cvsignore: New or added files.

2002-04-17	Simon Bates <simon.bates@utoronto.ca>

	* configure.in, Makefile.am, docs/Makefile.am,
	docs/reference/Makefile.am, INSTALL: Added support for building of
	gtk-doc reference documentation.

2002-04-17	David Bolter <david.bolter@utoronto.ca>

	* gok/: gok-keyboard.c, gok-keyboard.h, gok-spy.c, gok-spy.h,
	main.c: Changes related to fixing dynamic keyboard synching
	problems, removed the gok_spy repository and related methods, added
	a preprocessor-optional mutex in gok_spy, added a field to
	gok_keyboard so that dynamic memory cleanup can happen on keyboard
	deletion.

2002-04-17  Abel Cheung  <maddog@linux.org.hk>

	* configure.in: Added "zh_TW" to ALL_LINGUAS.

2002-04-10	Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/: gok-chunker.c, gok-keyboard.c, gok-keyboard.h,
	gok-scanner.c, main.c, main.h: Dynamic keyboards now updated each
	time they are displayed.  Once a selection has been made on a
	dynamic keyboard, the user is branched back to the last pre-made
	keyboard.

2002-04-09	David Bolter <david.bolter@utoronto.ca>

	* gok/gok-keyboard.c: gok_keyboard_branch_edittext now calls
	gok_key_add_output for setting static key output.

2002-04-08	David Bolter <david.bolter@utoronto.ca>

	* gok/gok-keyboard.h: menu keyboard fixed (was combining all menu
	items in one big keyboard)

	* gok/gok-keyboard.c: Added cut, copy, and arrow key movement to 
	editable text keyboard.  Menu keyboard fixed (recently introduced
	behaviour was combining all menu items in one big keyboard), 
	improved log message stuff.

	* gok/gok-word-complete.c: quick bugfix (word prediction output was
	broken)

	* gok/gok-spy.c: merged conflicts to do with logging

	* gok/main.c: improved log messages


2002-04-08	Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/gok-spy.c: Changed the log status of a message.

	* gok/: gok-key.c, gok-key.h, gok-keyboard.c, gok-keyboard.h,
	gok-word-complete.c, main.c, main.h: Each key now has 2 variables
	that describe the 'type' of key and 'style' of key.  Dynamically
	created keyboards are now deleted once you branch 'back' off them.

2002-04-08	Simon Bates <simon.bates@utoronto.ca>

	* gok/: gok-log.c, gok-log.h: Bug fixes and improvements to logging.

2002-04-05	David Bolter <david.bolter@utoronto.ca>

	* gok/gok-spy.c: fixed nasty seg fault (memory overwrite bug) in
	gok_spy_create_list.  added gok_log macro usage.
	
2002-04-05	Simon Bates <simon.bates@utoronto.ca>

	* gok/: gok-log.c, gok-log.h: Rewrote logging to use macros that
	can be removed at compile time.  No longer uses the glib logging
	code.  New macros gok_log_enter () and gok_log_leave (). 
	gok_log_enter () displays the name of the function from which it is
	called and indents the logging output.  gok_log_leave () moves the
	logging output back again by the amount that it was in indented.

	* configure.in: Added tests for ISO C99 and GNU variadic macros. 
	Added a test for __func__.  Removed --enable-debug-messages.  Added
	--enable-logging-normal and --enable-logging-exceptional.

	* INSTALL: Removed --enable-debug-messages.  Added
	--enable-logging-normal and --enable-logging-exceptional.

2002-04-03	Simon Bates <simon.bates@utoronto.ca>

	* gok/: gok-log.c, gok-log.h: Added to CVS.

	* gok/Makefile.am: Added gok-log.c and gok-log.h

	* gok/main.c: Included gok-log.h

	* configure.in: Added configure option --enable-debug-messages that
	enables the display of debug messages

2002-04-03	David Bolter <david.bolter@utoronto.ca>
	* gok/gok-keyboard.c: fixed recently introduced branch back bug for
	dynamic keyboards
	
2002-04-02	David Bolter <david.bolter@utoronto.ca>

	* qwerty.kbd: 
	Added a branch key for testing AccessibleEditableText operations.

	* gok/: gok-key.c, gok-key.h, gok-keyboard.c, gok-keyboard.h,
	gok-spy.c, gok-spy.h: 
	Changes related to implementing a keyboard for AccessibleEditableText 
	operations. (Note a merge conflict cropped up with gok-keyboard)

2002-04-02	Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/gok-keyboard.c: Font size is now recalculated when the user
	resizes the keys from the settings dialog.

	* gok.rc: Added a style for the word completion keys.

	* gok/main.c: Made the window's initial size easier to find.

	* gok/: gok-key.c, gok-key.h, gok-keyboard.c, gok-keyboard.h: The
	font size for key labels is calculated at runtime.  Font size is
	recalculated each time the keys are resized.  Keys can be assigned
	to different font size groups so that each key in the group gets
	the same font size.  Moved the code for setting the key label's
	'name' into the gok-key.c file.

	* gok/gok-word-complete.c: Word completion keys now have a
	dynamically changing font size.

	* gok/gok-button.c: Removed the call that sets the button 'name' as
	this is now done elsewhere.

	* qwerty.kbd: Added font size group numbers to keys.


2002-04-02	Simon Bates <simon.bates@utoronto.ca>

	* configure.in: Added gettext support.

	* gok/main.c: Initialized gettext.  Marked "Error: Can't read any
	keyboards!" for translating.

	* gok/Makefile.am: Defined GOK_LOCALEDIR

	* po/POTFILES.in, mk-gok-pot.sh: Added to CVS.

2002-03-28	Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/: main.c, main.h: The 'main' now stores the GOK window size.

	* gok/: gok-keyboard.c, gok-keyboard.h: Keys are now resized as the
	user resizes the GOK window.  Example keys on the settings dialog
	are updated with the new key size.  Changed the 'set_usize' call
	(deprecated) to 'set_size_request' when positioning keys.

	* gok/interface.c: Removed a 'destroy' event that is no longer
	needed.

	* gok/: callbacks.c, callbacks.h: Removed a callback that is no
	longer needed.

2002-03-27	David Bolter <david.bolter@utoronto.ca>

	* gok/: gok-key.c, gok-key.h, gok-keyboard.c, gok-keyboard.h,
	gok-spy.c, gok-spy.h, main.c, main.h: Changed code so that dynamic
	gui keyboards are built according to the currently focussed window
	(versus specifically for app or dialog).  Changed dynamic keyboard
	code to be more generic.

	* gok.rc, main.kbd: changed names/types to reflect that we are now
	interested all types of windows for dynamic gui keyboard stuff.

2002-03-27	Simon Bates <simon.bates@utoronto.ca>

	* gok/: gok-sound.c, gok-sound.h: Added to CVS.

	* gok/Makefile.am: Added gok-sound.h and gok-sound.c to gok_SOURCES

	* gok/main.c: Included "gok-sound.h".  Added a call to
	gok_sound_initialize().  Added a call to gok_sound_shutdown(). 
	Changed the way that the extensions of keyboard filenames are
	tested, compares the end of the string rather than a substring
	search.

	* gok/gok-keyboard.c: Included "gok-sound.h".  Added a call to
	gok_sound_play() in gok_keyboard_output(GokKey*).

	* configure.in: Added a test, AC_ARG_ENABLE, to test for a command
	line option '--enable-esd'.

2002-03-26	Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/: main.c, main.h: Keyboard now centers itself over the center
	point.

	* gok/gok-keyboard.c: Keyboard now centers itself over the center
	point.	Keys will be resized to prevent GOK window from growing
	larger than screen.  GOK window will move itself onscreen when
	keyboard layout changes if it is offscreen.

	* gok/gok-data.c: Now setting the 'data changed' flag when the
	keyboard center location is changed.

	* gok/: callbacks.c, callbacks.h: Added callbacks so I get notivied
	when the window is moved and resized.
	
2002-03-26	David Bolter <david.bolter@utoronto.ca>

	* gok/: gok-key.c, gok-key.h: 
	added key types: KEYTYPE_BRANCHDIALOG, and KEYTYPE_BRANCHGUIACTIONS, 
	and related code.

	* gok/: main.c, main.h: 
	added code related to dynamic dialog keyboards.

	* gok/: gok-keyboard.c, gok-keyboard.h: 
	added dynamic gui keyboard code, for use with dialogs (but can be 
	used for toolbars)

	* gok/: gok-spy.h, gok-spy.c: 
	added gok_spy_register_dialogchangelistener and
	gok_spy_deregister_dialogchangelistener, and other code to related
	to dialogs.

	* gok.rc: added style_button_branchdialog, and
	style_button_branchguiactions
	
	* main.kbd: added branch to dialog key

2002-03-19  Bill Haneman <bill.haneman@sun.com>

	* gok.rc:
	Added text and base style RGBs for style_button_normal;
	Added style "default", with font_name = "Sans Bold 14"

2002-03-19  Gok Team

	* hold-scanning.xam: New access method.

	* main.kbd: removed some bogus test keys 'a' and 'abc' which were
	causing problems for the csun demo.

2002-03-18 16:08  Chris Ridpath <chris.ridpath@utoronto.ca>

	* gok/switchapi.c: Removed error message that is generated when no
	joystick is plugged in. (We don't need this.)

	* gok/gok-spy.c: Fixed bug in freeing first object in repository.

	* gok/main.c: Keys that branch to the menu and toolbar layouts are
	validated each time the app changes.

	* gok/gok-keyboard.h: Keys that branch to the dynamic menu and
	toolbar layouts are validate each time the app changes.

	* gok/: gok-settings-dialog.c, gok-settings-dialog.h: Added
	accessor method to return pointer to window.

	* gok/interface.c: Control needed valid label.

	* gok/: gok-page-accessmethod.c, gok-page-accessmethod.h: Can now
	change access method from this page.

	* gok/gok-keyboard.c: Fixed bugs: Empty word prediction key no
	longer crashes when selected.  Menu layout keyboards no longer
	resize to 0.

2002-03-15 16:28  Gok Team

	* qwerty.kbd: fixed Return keysym code (was Enter)

	* gok/gok-chunker.c: Fixed bug with row/column not selecting end of
	row character.

	* gok/gok-keyboard.c: Fixed bug with uninitialized keyboard
	pointer.

	* test.kbd: added a key to cause a shell to open (not implemented)

	* README: first real README contents added

2002-03-14 16:03  Gok Team (Chris and David)


	* gok/: gok-page-wordcomplete.c, gok-page-wordcomplete.h: 
	Initial version of the settings page for word completion.

	* gok-settings.xml, main.kbd, qwerty.kbd, test.kbd: 
	Updated keyboard files.

	* dwell-selection.xam: First version of dwell selection.

	* gok/: Makefile.am, callbacks.c, gok-button.c, gok-button.h,
	gok-key.c, gok-key.h, gok-keyboard.c, gok-keyboard.h,
	gok-settings-dialog.c, gok-spy.c, gok-word-complete.c,
	gok-word-complete.h, interface.c, main.c: 
	Several changes to word completion and dynamic menus.

	* gok/: gok-data.c, gok-data.h: 
	Added word-completion number of predictions to data.

	* gok/callbacks.h: 
	Stopped the word prediction checkbox from turning the WP on/off.

	* gok/switchapi.c: 
	added linux precompiler directive for linux only joystick switch stuff.

	* gok/gok-scanner.c: 
	calls keyboard instead of chunker for key output.

	* gok/: gok-keyboard.c, gok-keyboard.h: 
	added: 
		int gok_keyboard_output_selectedkey(void); 
		void gok_keyboard_output(GokKey* pKeySelected);
		(as well as dynamic menu keyboard creation, and menu item activation code)

	* gok/: gok-spy.c, gok-spy.h, gtkjoyswitch.h, switchapi.c,
	switchapi.h: attempt at fixing line endings

	* gok/: gok-chunker.c, gok-chunker.h: 
	removed: 
		int gok_chunker_output_selectedkey (void);
	added: 
		GokKey* gok_chunker_get_selectedkey(void); 
		GokKey* gok_chunker_get_highlightedkey(void);


2002-03-13 Chris Ridpath <chris.ridpath@utoronto.ca>
           David Bolter <david.bolter@utoronto.ca>

    Added dynamic keyboard support (using at-spi).
    User settings UI work.
    Switch API, and USB joystick implementation.
    Word completion.
    Access method work.
    * files too numerous to mention (too long since last commit)
    
2002-03-12 Bill Haneman <bill.haneman@sun.com>

	* gok/gok-chunker.c: (gok_chunker_output_selectedkey):
	Initial implementation for direct key synthesis; we
        now call XStringToKeysym, using the 'Output' string
        from the selected GokKey structure, to get the keysym
        we want to synthesize.

	* gok/qwerty.kbd:
	Edits so that the 'Output' elements of keys match what the
	X Server uses for Strings (allows XStringToKeysym lookup
	above to work).

2002-02-20 Chris Ridpath <chris.ridpath@utoronto.ca>
	File name changes and several code changes.

2002-02-08 David Bolter <david.bolter@utoronto.ca>
	Interim commit of numerous changes related to directed navigation of keyboard

2002-01-30 Gok Team <david.bolter@utoronto.ca>
	First check-in of gok source and build tools
	
2002-01-08  Marc Mulcahy  <marc.mulcahy@sun.com>

	* .cvsignore gok/.cvsignore: added .cvsignore files

2001-01-08  Marc Mulcahy  <marc.mulcahy@sun.com>

	Initial check-in of Gok skeleton into CVS
