Any Keyboard Layout / Reference

Blueprint nodes

v1.0.0Runtime plugin
  • UE 5.5–5.8
On this pageKey namesSwitchesLayout change event

Every node and event the plugin adds, listed in the node menu under Input › Keyboard Layout. Use them for key prompts, binding screens, and a player option that chooses between keys by label and keys by position. The nodes have no Target pin and can be called from any Blueprint.

Callable nodes have execution pins. Pure nodes have none and run when a connected node reads their output. On platforms other than Windows, and on dedicated servers, the nodes still work and return the fallbacks described below.

Key names#

Get Key Display Name (Keyboard Layout)#

Pure · Menu: Input › Keyboard Layout

The label printed on the player's keyboard for the key your game receives, under the current layout and switches. With Physical on, a binding to Q shows as "A" on AZERTY. Typing keys return the character on the keycap, such as ";" rather than "Semicolon". Keys outside the typing area, keys no physical key produces, and every key where the plugin is inactive return the engine's usual display name.

Input Type Details
Key Key The bound key, for example from your input mapping.
Long Display Name Boolean Default on. Only matters for keys that fall back to the engine's name, for example Space Bar instead of Space.
Output Type Details
Return Value Text The label to show. Your font must contain its characters.

After a switch changes, the labels update when On Keyboard Layout Changed fires, on the next frame. A call in the same frame as a Set … Enabled node still returns the previous labels.

Get Keyboard Layout Name#

Pure · Menu: Input › Keyboard Layout

The active keyboard layout's name as Windows lists it, in English, for example "Czech". A layout Windows has no name for returns its identifier instead.

Output Type Details
Return Value String Empty where the plugin is inactive: on Mac, Linux, other platforms, and dedicated servers.

Switches#

The setters change a switch until the game or editor closes; nothing is saved. In the editor, a value set during Play In Editor also applies to later sessions until you restart the editor. Save the player's choice in your own settings and apply it again at startup. The project defaults are in Project Settings → Plugins → Any Keyboard Layout.

A value typed at the console for the same switch takes priority for the rest of the session. The setters are then ignored, and the engine logs a warning that the change was ignored because of a higher-priority value.

Set Digits Enabled#

Callable · Menu: Input › Keyboard Layout

Turns Digits on or off: the number row always reads as One to Zero. Turning it off also turns off the editor's number-row fix.

Input Type Details
Enabled Boolean On to turn the switch on.

Set Console Key Enabled#

Callable · Menu: Input › Keyboard Layout

Turns Console Key on or off: the key left of 1 opens a console bound to Tilde.

Input Type Details
Enabled Boolean On to turn the switch on.

Set Physical Enabled#

Callable · Menu: Input › Keyboard Layout

Turns Physical on or off: typing keys report their US-QWERTY position during gameplay. Letter and punctuation bindings mean different keys on each side of this switch, so reset or convert saved custom bindings when the player changes it. Digit bindings are unaffected.

Input Type Details
Enabled Boolean On to turn the switch on.

Is Digits Enabled#

Pure · Menu: Input › Keyboard Layout

Whether Digits is on right now. Is Console Key Enabled and Is Physical Enabled report the other switches.

Output Type Details
Return Value Boolean The live state, including a value typed at the console.

Layout change event#

On Keyboard Layout Changed#

Event dispatcher · Target: Keyboard Layout Subsystem

Fires on the frame after the player switches keyboard layout, or after any switch changes, including Fix Number Row In Editor. It never fires in the middle of input handling, so rebuilding widgets from it is safe. It has no pins.

To bind it:

  1. In the node menu, choose Engine Subsystems → Get KeyboardLayoutSubsystem. The placed node reads Keyboard Layout Subsystem.
  2. Drag from its output and choose Bind Event to On Keyboard Layout Changed.
  3. Refresh your key labels in the bound event.

The event does not fire at startup, so also build your labels when the widget is constructed. The subsystem does not exist on dedicated servers, which have no keyboard; check that it is valid in code that also runs on a server.

Documentation
↑ ↓ Navigate ↵ Openesc Close