Keyboard Support

Contact and Search

Keyman.com Homepage

Header bottom

Keyman.com

Other versions
Version 18.0Version 17.0 (current version)Version 16.0Version 15.0Version 14.0Version 13.0Version 12.0Version 11.0Version 10.0

On this page

indexOutput (KIO)

Summary

Index-based output: Outputs a mapped character according to a previous selection from a keyman.interface.any() call upon a store string, after deleting nd characters.

Syntax

keyman.interface.indexOutput(nd, store, index, Pelem);

or

KeymanWeb.KIO(nd, store, index, Pelem);

Parameters

nd
Type: number
The number of characters to be overwritten.
store
Type: string
The store string to be used for mapping a character previously detected via keyman.interface.any(), which itself maps to a any call.
index
Type: number
The index id to which the detected character's index in the original matching array was saved. The index id should be incremented by 1 relative to the value specified in keyman.interface.any().
Pelem
Type: Element
The HTML element receiving the output.

Description

This function corresponds most directly to the keyboard language command index, which operates upon text stores to allow for array-based input-output text matching. For example,

store(keys)   'abcde'
store(output) 'αβγδε'
+ any(keys) > index(output,1)

facilitates mapping the characters 'abcde' to their respective entry in the output store 'αβγδε'. keyman.interface.indexOutput()'s role in this process is usually optimized out into individual mappings for performance reasons, though it is often involved when any is involved as part of a rule's context, rather than upon the triggering keystroke itself.

In order to output the desired character corresponding to 'a' in the output store above, the code

keyman.interface.indexOutput(0, 'αβγδε', 1, Pelem)

would suffice, overwriting no characters and using the previously-matched index (id = 0 + 1). Note that the keyman.interface.indexOutput() call must increment the id by 1 due to Keyman's keyboard language rules, which corresponds directly to the index call in the keyboard source above.

See also

keyman.interface.any()