Started in late 2001, GOK was created at the ATRC (University of Toronto) with funding from Sun Microsystems. GOK (an award winning software that provides text entry and graphical user interface interaction using only switches and/or mouse devices), is an on-screen keyboard that provides access to the GNOME desktop through dynamically generated keyboards, and text entry by one of the provided alphanumeric keyboards, or a dynamic keyboard based on the users current system keyboard driver, or even a user-made keyboard.
GOK keyboards are created in two ways. Dynamic keyboards are created (while GOK is running) to provide access to the desktop and application GUIs. Premade keyboards are specified using fairly simple xml (".kbd") files. GOK allows the creation of new ways of operating the GOK keyboards by XML "access method" files (".xam") files. These files also provide the description of the user interface for the access method's settings.
GOK needs help! There is a list of enhancement requests that the developers welcome anyone to help out with. GOK has lots of room for improvement including a need for easier configuration, visual slickness, as well as refactoring and bug fixing. For a critical review please read Henrik's GOK review at https://wiki.ubuntu.com/Accessibility/Reviews/GOK.
GOK gnome site: https://developer.gnome.org/gok/
GOK gnome wiki site: https://wiki.gnome.org/Attic/Gok