Keyboard Support

Contact and Search Homepage

Header bottom

On this page



The use() statement transfers control to another group.


begin > use(groupName) 
... > use(groupName)


The name of the group to transfer control to.


The use() statement tells Keyman to switch processing to a new group; after Keyman has gone through the new group, and any other nested groups, it will return to the previous one. The use() statement can be used with the match and nomatch rules; it will work the same way.

The current output is moved to the context before the new group is entered, so the new group will see the output from the fired rule as its context. This means that the context is no longer consistent once control returns to the rule with the use() statement, so no context or index() statements should be used after a use() statement in a rule.


Example: Using use()

any(Vowel) + any(DiacriticKey) > context index(Diacritic, 2) use(AdjustVowels)

any(Vowel) U+0300 > index(VowelWithGrave, 1)


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

WindowsmacOSLinuxDesktop webMobile webiOSAndroid

Version history

The use() statement was introduced in Keyman 3.0.

See also