Class: Keyboard

Phaser. Keyboard

new Keyboard(game)

The Keyboard class monitors keyboard input and dispatches keyboard events.

Note: many keyboards are unable to process certain combinations of keys due to hardware limitations known as ghosting. See http://www.html5gamedevs.com/topic/4876-impossible-to-use-more-than-2-keyboard-input-buttons-at-the-same-time/ for more details.

Also please be aware that certain browser extensions can disable or override Phaser keyboard handling. For example the Chrome extension vimium is known to disable Phaser from using the D key. And there are others. So please check your extensions before opening Phaser issues.

Parameters:
Name Type Description
game Phaser.Game

A reference to the currently running game.

Source:
src/input/Keyboard.js line 21

Members

active : boolean

Whether the handler has started.

Type:
  • boolean
Source:
src/input/Keyboard.js line 34

callbackContext : object

The context under which the callbacks are run.

Type:
  • object
Source:
src/input/Keyboard.js line 56

enabled : boolean

Keyboard input will only be processed if enabled.

Type:
  • boolean
Default Value:
  • true
Source:
src/input/Keyboard.js line 41

event : KeyboardEvent

The most recent DOM event from keydown or keyup. This is updated every time a new key is pressed or released.

Type:
  • KeyboardEvent
Source:
src/input/Keyboard.js line 46

game : Phaser.Game

Local reference to game.

Type:
Source:
src/input/Keyboard.js line 27

<readonly> lastChar : string

Returns the string value of the most recently pressed key.

Type:
  • string
Source:
src/input/Keyboard.js line 633

<readonly> lastKey : Phaser.Key

Returns the most recently pressed Key. This is a Phaser.Key object and it changes every time a key is pressed.

Type:
Source:
src/input/Keyboard.js line 661

onDownCallback : function

This callback is invoked every time a key is pressed down, including key repeats when a key is held down. One argument is passed: {KeyboardEvent} event.

Type:
  • function
Source:
src/input/Keyboard.js line 61

onPressCallback : function

This callback is invoked every time a DOM onkeypress event is raised, which is only for printable keys. Two arguments are passed: {string} String.fromCharCode(event.charCode) and {KeyboardEvent} event.

Type:
  • function
Source:
src/input/Keyboard.js line 66

onUpCallback : function

This callback is invoked every time a key is released. One argument is passed: {KeyboardEvent} event.

Type:
  • function
Source:
src/input/Keyboard.js line 71

pressEvent : object

The most recent DOM event from keypress.

Type:
  • object
Source:
src/input/Keyboard.js line 51

Methods

addCallbacks(context [, onDown] [, onUp] [, onPress])

Add callbacks to the Keyboard handler so that each time a key is pressed down or released the callbacks are activated.

Parameters:
Name Type Argument Default Description
context object

The context under which the callbacks are run.

onDown function <optional>
null

This callback is invoked every time a key is pressed down.

onUp function <optional>
null

This callback is invoked every time a key is released.

onPress function <optional>
null

This callback is invoked every time the onkeypress event is raised.

Source:
src/input/Keyboard.js line 122

addKey(keycode)

If you need more fine-grained control over a Key you can create a new Phaser.Key object via this method. The Key object can then be polled, have events attached to it, etc.

Parameters:
Name Type Description
keycode integer

The keycode of the key.

Source:
src/input/Keyboard.js line 168
Returns:

The Key object which you can store locally and reference directly.

Type
Phaser.Key

addKeyCapture(keycode)

By default when a key is pressed Phaser will not stop the event from propagating up to the browser. There are some keys this can be annoying for, like the arrow keys or space bar, which make the browser window scroll.

The addKeyCapture method enables consuming keyboard event for specific keys so it doesn't bubble up to the the browser and cause the default browser behavior.

Pass in either a single keycode or an array/hash of keycodes.

Parameters:
Name Type Description
keycode integer | Array.<integer> | object

Either a single keycode or an array/hash of keycodes such as [65, 67, 68].

Source:
src/input/Keyboard.js line 335

addKeys(keys)

A practical way to create an object containing user selected hotkeys.

For example,

addKeys( { 'up': Phaser.KeyCode.W, 'down': Phaser.KeyCode.S, 'left': Phaser.KeyCode.A, 'right': Phaser.KeyCode.D } );

would return an object containing properties (up, down, left and right) referring to Phaser.Key object.

Parameters:
Name Type Description
keys object

A key mapping object, i.e. { 'up': Phaser.KeyCode.W, 'down': Phaser.KeyCode.S } or { 'up': 52, 'down': 53 }.

Source:
src/input/Keyboard.js line 190
Returns:

An object containing the properties mapped to Phaser.Key values.

Type
object

clearCaptures()

Clear all set key captures.

Source:
src/input/Keyboard.js line 376

createCursorKeys()

Creates and returns an object containing 4 hotkeys for Up, Down, Left and Right.

Source:
src/input/Keyboard.js line 235
Returns:

An object containing properties: up, down, left and right of Phaser.Key objects.

Type
object

destroy()

Stops the Keyboard event listeners from running (keydown and keyup). They are removed from the window. Also clears all key captures and currently created Key objects.

Source:
src/input/Keyboard.js line 317

downDuration(keycode [, duration])

Returns true if the Key was pressed down within the duration value given, or false if it either isn't down, or was pressed down longer ago than then given duration.

Parameters:
Name Type Argument Default Description
keycode integer

The keycode of the key to check: i.e. Phaser.KeyCode.UP or Phaser.KeyCode.SPACEBAR.

duration number <optional>
50

The duration within which the key is considered as being just pressed. Given in ms.

Source:
src/input/Keyboard.js line 536
Returns:

True if the key was pressed down within the given duration, false if not or null if the Key wasn't found.

Type
boolean

isDown(keycode)

Returns true of the key is currently pressed down. Note that it can only detect key presses on the web browser.

Parameters:
Name Type Description
keycode integer

The keycode of the key to check: i.e. Phaser.KeyCode.UP or Phaser.KeyCode.SPACEBAR.

Source:
src/input/Keyboard.js line 610
Returns:

True if the key is currently down, false if not or null if the Key wasn't found.

Type
boolean

<protected> processKeyDown(event)

Process the keydown event.

Parameters:
Name Type Description
event KeyboardEvent
Source:
src/input/Keyboard.js line 408

<protected> processKeyPress(event)

Process the keypress event.

Parameters:
Name Type Description
event KeyboardEvent
Source:
src/input/Keyboard.js line 449

<protected> processKeyUp(event)

Process the keyup event.

Parameters:
Name Type Description
event KeyboardEvent
Source:
src/input/Keyboard.js line 473

removeCallbacks()

Removes callbacks added by addCallbacks and restores callbackContext.

Source:
src/input/Keyboard.js line 153

removeKey(keycode)

Removes a Key object from the Keyboard manager.

Parameters:
Name Type Description
keycode integer

The keycode of the key to remove.

Source:
src/input/Keyboard.js line 217

removeKeyCapture(keycode)

Removes an existing key capture.

Parameters:
Name Type Description
keycode integer

The keycode to remove capturing of.

Source:
src/input/Keyboard.js line 363

reset( [hard])

Resets all Keys.

Parameters:
Name Type Argument Default Description
hard boolean <optional>
true

A soft reset won't reset any events or callbacks that are bound to the Keys. A hard reset will.

Source:
src/input/Keyboard.js line 511

<protected> start()

Starts the Keyboard event listeners running (keydown, keyup and keypress). They are attached to the window. This is called automatically by Phaser.Input and should not normally be invoked directly.

Source:
src/input/Keyboard.js line 248
Returns:
Type
boolean

stop()

Stops the Keyboard event listeners from running (keydown, keyup and keypress). They are removed from the window.

Source:
src/input/Keyboard.js line 297

update()

Updates all currently defined keys.

Source:
src/input/Keyboard.js line 388

upDuration(keycode [, duration])

Returns true if the Key has been up only within the duration value given, or false if it either isn't up, or was has been up longer than the given duration.

Parameters:
Name Type Argument Default Description
keycode Phaser.KeyCode | integer

The keycode of the key to check, i.e. Phaser.KeyCode.UP or Phaser.KeyCode.SPACEBAR.

duration number <optional>
50

The duration within which the key is considered as being just released. Given in ms.

Source:
src/input/Keyboard.js line 559
Returns:

True if the key was released within the given duration, false if not or null if the Key wasn't found.

Type
boolean

phaser-ce@2.11.1 is on GitHub and NPM

Documentation generated by JSDoc 3.5.4 on 2018-10-02 using Tomorrow.