Construct 3 icon

Construct 3

Documentation

Keyboard

Published 23 Aug, 2017
557 words
~2-4 mins

The Keyboard object allows projects to respond to keyboard input.

Note on the modern web it is naïve to assume all users have a keyboard. Many users now browse the web with touch-screen devices that have no keyboard. (The Keyboard object also does not respond to input from on-screen keyboards on any modern touch devices.) Therefore if your game uses exclusively mouse or keyboard control, it is impossible to use on touch devices. See the Touch controls tutorial for an alternative control system.

Also note that there are a variety of keyboard layouts used internationally. For example if you only provide "WASD" as direction controls, your game may be difficult to control on AZERTY keyboards. "ZQSD" controls covers the AZERTY layout, but there are many other possible keyboard layouts. In this case, also supporting arrow keys for direction controls will cover most international keyboards, but remember the same problem applies for any other controls depending on a specific key layout.

Browser shortcut keys

In some browsers, some keys are shortcuts for browser actions. For example, space bar sometimes is a shortcut to scroll down the page. If any events exist for On key pressed with a given key, Construct blocks the browser from performing its normal action. For example, if you wish to prevent space bar scrolling down the page, add an empty On Space pressed event, if you don't have one already.

Key codes

It's possible to detect key presses by numerical key codes with the Keyboard object. A key code is simply a number assigned to every possible key on the keyboard. This can be useful for implementing custom controls, since key codes can be stored in variables.

Keyboard conditions

Key code is down

True if a given key by its key code is currently being held down.

On key code pressed

Triggered when a specific key code is pressed.

On key code released

Triggered when a specific key code is released.

Key is down

True if a given keyboard key is currently being held down.

On any key pressed

Triggered when any keyboard key is pressed. Useful for title screens or cutscenes. The corresponding key code is set in the LastKeyCode expression.

On any key released

Triggered when any keyboard key is released. The corresponding key code is set in the LastKeyCode expression.

On key pressed

Triggered when a specific keyboard key is pressed.

On key released

Triggered when a specific keyboard key is released.

Keyboard actions

The Keyboard object does not have any actions.

Keyboard expressions

LastKeyCode

Retrieve the key code of the last key press. This is useful in On any key pressed or On any key released to determine the key code of the key the user pressed, which is useful when setting up custom controls.

StringFromKeyCode

Convert a numerical key code back in to a string representation. For example this turns the key code 65 in to the string "A".

TypedKey

Return the last key press as the character that would have been entered in to a text field. For example when pressing A, this could be "a", "A", "á" or something else, depending on which other keys are held down. If the last key press is not a typed character, like Shift, then the expression is set to the name of the key.