Keyboard Support

Contact and Search Homepage

Header bottom

On this page



The any() statement matches a character from an input store.




A store from which the current character in the context or key part of the rule must be matched.


The any() statement will match any character that is in the store inputStore. This statement is only valid on the left side of a rule; the index() statement is used to match again or output the character matched by the any() statement in the output. The any() statement remembers the offset in the store where the match occurred for later use with the index() statement.

Note that outs() statements are expanded in stores, so the character offset match is on the fully expanded version of the store. Other specials, such as deadkeys or virtual keys, are only a single character wide when measuring offset.


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


The any() statement can be used in keyboards on all platforms.

WindowsmacOSLinuxDesktop webMobile webiOSAndroid

Version history

The any() keyword was introduced in Keyman 3.0.

Keyman 6.0 added support for deadkeys and virtual keys in stores

See also