Keyboard Support

Contact and Search Homepage

Header bottom

On this page

&layer / layer() statement


The &layer system variable store can be used to set or test the current layer on the touch keyboard.

In the output part of the rule, you can use the layer(...) statement to set the current layer. This is equivalent to using set(&layer=...).


if(&layer = "layerName") ... > ...
... > ... layer("layerName")
... > ... set(&layer = "layerName")


The name of the layer in the touch layout (associated with the keyboard) to compare against or to switch to.


The &layer store is used to test and set the current layer of the keyboard from the keyboard code. Some layer controls can also be made directly in the touch layout itself with the Next Layer control, but the &layer store provides for finer control.

When a key in a touch layout definition includes a Next Layer control, this takes precedence over setting layer via the layer store (as the Next Layer control is applied once the rule has finished processing).


Example: Using &layer

if(&layer = 'default') + 'a' > 'α'
+ 'b' > 'β' layer('shift')


The &layer store is used in touch platforms. It is ignored on all other platforms.

Windows macOS Linux Desktop web Mobile web iOS Android

Version history

The &layer store was added in Keyman 9.0.

See also