Keyboard Support

Contact and Search Homepage

Header bottom

On this page

match rule


The match rule is fired after any rule is matched and fired in the same group.


match > ...


In each group, if Keyman finds a match rule, it will fire it after a rule in the group was matched. A match rule can include use() statements, return statements, beep statements and characters.

Note: the match rule will not be fired if the rule in the group that was matched includes a use() statement in its output. A workaround for this situation is to duplicate the match rule output in the output of rules that contain use() statements. A more comprehensive solution may be included in future versions of the language.


Example: Using match

group(main) using keys

any(vowel) + '^' > context U+0302
match > use(CombineDiacritics)


any(vowel) U+0302 > index(vowelWithCircumflex, 1)


The match rule can be used in keyboards on all platforms.

WindowsmacOSLinuxDesktop webMobile webiOSAndroid

Version history

The match rule was introduced in Keyman 3.0.

See also