Merge pull request #16171 from keymanapp/docs/web/16169-cleanup

docs(web): cleanup of index pages and page titles
This commit is contained in:
Marc Durdin 2026-07-11 17:14:59 +10:00 committed by GitHub
commit 0d8e6ae929
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 80 additions and 62 deletions

View file

@ -1,5 +1,5 @@
---
title: Core Module
title: `keyman` - Core Module
---
The KeymanWeb core module is exposed to the developer as `window.keyman`.

View file

@ -7,8 +7,8 @@ interface to control the appearance and behavior of user interface
elements. Standard event-processing requires all arguments to be passed
as an array (object) with named member variables.
Two components of Keyman Engine for Web specify events:
* `keyman` object -- the main component
Two components of Keyman Engine for Web specify events:
* `keyman` object -- the core component
* `keyman.osk` object -- the on-screen keyboard component
Object events are handled in user code by passing the handler entry to

View file

@ -5,35 +5,38 @@ title: KeymanWeb Reference
[KeymanWeb Overview](overview)
: KeymanWeb is a cross-browser JavaScript input method solution.
[KeymanWeb Core Module](core)
: The KeymanWeb core module is exposed to the developer as `window.keyman`.
# API Reference
[On-Screen Keyboard Module](osk)
: The On-Screen Keyboard module is exposed to the developer as `window.keyman.osk`.
[`keyman`](core)
: Core APIs for KeymanWeb, including initialization, adding keyboards, focus and element control.
[KeymanWeb Utility Module](util)
: The KeymanWeb Utility Function module is exposed to the developer as `window.keyman.util`.
[`keyman.osk`](osk)
: On-Screen Keyboard module.
[KeymanWeb Output Functions](interface)
: KeymanWeb exposes its keyboard interface object through `window.keyman.interface`, providing a number of functions for low-level processing of input, context and output.
[`keyman.util`](util)
: Utility functions.
[Desktop User Interfaces](ui)
[`keyman.interface` (also `KeymanWeb`)](interface)
: API surface for keyboards, providing a number of functions for low-level processing of input, context and output.
[`keyman.ui` - Desktop User Interfaces](ui)
: Four different KeymanWeb user interfaces for desktop browsers are included, allowing users to select and enable keyboard mapping from a list of installed keyboards, and to control the visibility of the On-Screen Keyboard.
[KeymanWeb Initialization Options](core/init#init_options)
# API Guides
[Initialization Options](core/init#init_options)
: The following options can be defined by the site designer in the initialization call to KeymanWeb.
[KeymanWeb Events](events)
: A number of KeymanWeb events are exposed to allow the designer of a user interface to control the appearance and behavior of user interface elements. Standard event-processing requires all arguments to be passed as an array (object) with named member variables.
[Events](events)
: A number of KeymanWeb events are exposed to allow the designer of a user interface to control the appearance and behavior of user interface elements.
[KeymanWeb Keyboard Properties](keyboard_properties)
: Most keyboards are generated automatically from the Keyman keyboard source by Keyman Developer and contain properties used by KeymanWeb during keyboard mapping.
[Keyboard Properties](keyboard_properties)
: Standard properties for a Keyboard object returned from a keyboard .js file.
[KeymanWeb Layout Designer](layouts)
: One of the main features of KeymanWeb is its ability to support distinct, user-customizable layouts for touch-screen keyboards on phones and tablets.
[KeymanWeb Layout Specifications](layoutspec)
[Touch Layout Specifications](layoutspec)
: Touch-screen layouts for KeymanWeb are specified as JSON objects containing a member object for each specified device type.
[KeymanWeb Keyboard Development Reference](/developer/language/guide/multi-platform)
# See Also
[Keyboard Development Reference](/developer/language/guide/multi-platform)
: Information on how to explicitly support KeymanWeb in custom keyboards.

View file

@ -1,116 +1,128 @@
---
title: Output Functions - the Keyboard API
title: `keyman.interface` - the Keyboard API
---
The KeymanWeb core object `window.keyman.interface` (with legacy-oriented, deprecated alias `KeymanWeb`) exposes a number of functions for low-level processing of input, context and output. These functions are designed for use by keyboards compiled through Keyman Developer in order to facilitate input text processing and will also work for custom-coded KeymanWeb keyboards. As such, most of these functions should only be called by keyboard code, and a good understanding of the [Keyman Keyboard Language](/developer/language) will prove extremely beneficial toward understanding the keyboard API functions enumerated in this section.
The KeymanWeb core object `window.keyman.interface` exposes a number of
functions for low-level processing of input, context and output. These functions
are designed for use by keyboards compiled through Keyman Developer in order to
facilitate input text processing and will also work for custom-coded KeymanWeb
keyboards. These functions should only be called by keyboard code, and a good
understanding of the [Keyman Keyboard Language](/developer/language) will prove
extremely beneficial toward understanding the keyboard API functions enumerated
in this section.
Custom user interfaces would not normally use these functions, but they are described here as some custom keyboards, such as IME-style keyboards, may need to interact with the user interface.
The KeymanWeb Keyboard API publishes a deprecated global `KeymanWeb` which is
the same as `keyman.interface`. Use `keyman.interface` in preference to
`KeymanWeb`.
Custom user interfaces should not use these functions. These functions are intended
for use in a keyboard context, in particular during a keystroke event cycle.
[`any` Function (Deprecated)](any)
: Returns whether or not the char `ch` is found within the [`any`](/developer/language/reference/any)([`store`](/developer/language/reference/store)) string, setting an internally-tracked index for use in the `indexOutput` function.
: Shorthand name: `KeymanWeb.KA`
: Shorthand name: `keyman.interface.KA`
[`beep` Function](beep)
: Flash body or element as substitute for an audible feedback [`beep`](/developer/language/reference/beep).
: Shorthand name: `KeymanWeb.KB`
: Shorthand name: `keyman.interface.KB`
[`beepReset` Function](beepReset)
: Cancels a previous feedback [`beep`](/developer/language/reference/beep) operation on a page element.
: Shorthand name: `KeymanWeb.KBR`
: Shorthand name: `keyman.interface.KBR`
[`context` Function (Deprecated)](context)
: Gets [`context`](/developer/language/reference/context) for an ongoing keyboard operation relative to the caret's present position.
: Shorthand name: `KeymanWeb.KC`
: Shorthand name: `keyman.interface.KC`
[`contextExOutput` Function](contextExOutput)
: Emits the character or object at `contextOffset` from the current matched rule's context.
: Shorthand name: `KeymanWeb.KCXO`
: Shorthand name: `keyman.interface.KCXO`
[`contextMatch` Function (Deprecated)](contextMatch)
: Context matching: Returns `true` if the specified `context` call matches a provided string.
: Shorthand name: `KeymanWeb.KCM`
: Shorthand name: `keyman.interface.KCM`
[`deadkeyMatch` Function (Deprecated)](deadkeyMatch)
: Deadkey matching: Seeks to match the [`deadkey`](/developer/language/reference/deadkey) state `dk` at the relative caret position `n`.
: Shorthand name: `KeymanWeb.KDM`
: Shorthand name: `keyman.interface.KDM`
[`deadkeyOutput` Function](deadkeyOutput)
: Deadkey output: Associates the [`deadkey`](/developer/language/reference/deadkey) state `dk` with the element at the current caret position, after overwriting `nd` characters.
: Shorthand name: `KeymanWeb.KDO`
: Shorthand name: `keyman.interface.KDO`
[`deleteContext` Function](deleteContext)
: Context deletion - removes the specified number of deadkeys and characters from the left of the caret.
: Shorthand name: `KeymanWeb.KDC`
: Shorthand name: `keyman.interface.KDC`
[`focusLastActiveTextStore` Function](focusLastActiveTextStore)
: Set focus to the currently-focused or most recently focused text store.
[`fullContextMatch` Function](fullContextMatch)
: Context matching: Returns `true` if the current context matches the specified rule context specification.
: Shorthand name: `KeymanWeb.KFCM`
: Shorthand name: `keyman.interface.KFCM`
[`getLastActiveTextStore` Function](getLastActiveTextStore)
: Get the currently or most recently focused text store. This is for use by IME keyboards.
[`ifStore` Function](ifStore)
: `ifStore` compares the content of a [system `store`](/developer/language/guide/stores#toc-system-stores) with a string value.
: Shorthand name: `KeymanWeb.KIFS`
: Shorthand name: `keyman.interface.KIFS`
[`indexOutput` Function](indexOutput)
: Index-based output: Outputs a mapped character according to a previous selection from a `keyman.interface.any()` call upon a [`store`](/developer/language/reference/store) string, after deleting `nd` characters.
: Shorthand name: `KeymanWeb.KIO`
: Shorthand name: `keyman.interface.KIO`
[`insertText` Function](insertText)
: Inserts a text string and optional [`deadkey`](/developer/language/reference/deadkey) into the active output element.
: Shorthand name: `KeymanWeb.KT`
: Shorthand name: `keyman.interface.KT`
[`isKeypress` Function](isKeypress)
: Returns `true` if the input event corresponds to a keypress event resulting in character output.
: Shorthand name: `KeymanWeb.KIK`
: Shorthand name: `keyman.interface.KIK`
[`keyInformation` Function](keyInformation)
: Returns an object with extended information about a specified keystroke event.
: Shorthand name: `KeymanWeb.KKI`
: Shorthand name: `keyman.interface.KKI`
[`keyMatch` Function](keyMatch)
: Keystroke matching: Returns `true` if the event matches the rule's shift mask and key code.
: Shorthand name: `KeymanWeb.KKM`
: Shorthand name: `keyman.interface.KKM`
[`loadStore` Function](loadStore)
: Load an option [`store`](/developer/language/guide/stores) value from a cookie or default value if no prior stored value exists.
: Shorthand name: `KeymanWeb.KLOAD`
: Shorthand name: `keyman.interface.KLOAD`
[`nul` Function](_nul)
: [`nul`](/developer/language/reference/nul) context check: Returns `true` if the length of the [`context`](/developer/language/reference/context) is less than or equal to `n` characters.
: Shorthand name: `KeymanWeb.KN`
: Shorthand name: `keyman.interface.KN`
[`output` Function](output)
: Outputs the specified string to an element, overwriting characters before the caret if specified.
: Shorthand name: `KeymanWeb.KO`
: Shorthand name: `keyman.interface.KO`
[`registerKeyboard` Function](registerKeyboard)
: Register the keyboard stub and load the keyboard.
: Shorthand name: `KeymanWeb.KR`
: Shorthand name: `keyman.interface.KR`
[`registerStub` Function](registerStub)
: Register the keyboard stub, return true if already registered.
: Shorthand name: `KeymanWeb.KRS`
: Shorthand name: `keyman.interface.KRS`
[`saveFocus` Function](saveFocus)
: Save focus: Temporarily saves keyboard processing data for the currently-focused control.
: Shorthand name: `KeymanWeb.KSF`
: Shorthand name: `keyman.interface.KSF`
[`saveStore` Function](saveStore)
: Save an option [`store`](/developer/language/guide/stores) value to a cookie for the active keyboard.
: Shorthand name: `KeymanWeb.KSAVE`
: Shorthand name: `keyman.interface.KSAVE`
[`setStore` Function](setStore)
: `setStore` sets the value of a [system `store`](/developer/language/guide/stores#toc-system-stores) to a string.
: Shorthand name: `KeymanWeb.KSETS`
: Shorthand name: `keyman.interface.KSETS`
[`stateMatch` Function](stateMatch)
: State-key matching: Returns `true` if the event matches the rule's state-key requirements.
: Shorthand name: `KeymanWeb.KSM`
: Shorthand name: `keyman.interface.KSM`
## Deprecated functions for IMEs

View file

@ -1,7 +0,0 @@
---
title: Layout Designer
---
One of the main features of *KeymanWeb* is its ability to support distinct, user-customizable
layouts for touch-screen keyboards on phones and tablets. *Keyman Developer* includes a layout
designer to simplify the process of creating custom layouts for any keyboard.

View file

@ -1,5 +1,5 @@
---
title: On-Screen Keyboard Module
title: `keyman.osk` - On-Screen Keyboard Module
---
The On-Screen Keyboard module is exposed to the developer as `window.keyman.osk`.

View file

@ -11,7 +11,7 @@ the *On-Screen Keyboard* module, a *Utility function* library, or one of the sta
Interface* modules.
A *KeymanWeb* instance is automatically constructed when you include the compiled KeymanWeb
script (kmw-release.js) in your web page source.
script in your web page source.
The *KeymanWeb API* comprises the following objects:
@ -26,3 +26,13 @@ The *KeymanWeb API* comprises the following objects:
- *User Interface*
: Exposed as [`keyman.ui`](ui).
The *KeymanWeb Keyboard API* provides endpoints for KeymanWeb keyboards to
interact with KeymanWeb. This API should not be used by website code.
- *Interface*
: Exposed as [`keyman.interface`](interface)
The KeymanWeb Keyboard API publishes a deprecated global `KeymanWeb` which is
the same as `keyman.interface`. Use `keyman.interface` in preference to
`KeymanWeb`.

View file

@ -1,7 +1,7 @@
---
title: Desktop User Interfaces
title: `keyman.ui` - Desktop User Interfaces
---
Four different KeymanWeb user interfaces for desktop browsers are
included, allowing users to select and enable keyboard mapping from a
list of installed keyboards, and to control the visibility of the

View file

@ -1,5 +1,5 @@
---
title: Utility Module
title: `keyman.util` - Utility Module
---
The KeymanWeb Utility Function module is exposed to the developer as `window.keyman.util`.