# KeyEvent

Extends `Event`

The KeyEvent object is received by the `Tool`’s keyboard handlers `tool.onKeyDown`, `tool.onKeyUp`. The KeyEvent object is the only parameter passed to these functions and contains information about the keyboard event.

## Properties

`type`

The type of mouse event.

#### Values:

- `'keydown'`, `'keyup'`

#### Type:

- `String`

`character`

The character representation of the key that caused this key event, taking into account the current key-modifiers (e.g. shift, control, caps-lock, etc.)

#### Type:

- `String`

`key`

The key that caused this key event, either as a lower-case character or special key descriptor.

#### Values:

- `'enter'`, `'space'`, `'shift'`, `'control'`, `'alt'`, `'meta'`, `'caps-lock'`, `'left'`, `'up'`, `'right'`, `'down'`, `'escape'`, `'delete'`, …

#### Type:

- `String`

## Methods

`toString()`

#### Returns:

- ``String`` — a string representation of the key event

## Properties inherited from `Event`

`timeStamp`

The time at which the event was created, in milliseconds since the epoch.

Read only.

#### Type:

- `Number`

`modifiers`

The current state of the keyboard modifiers.

Read only.

#### Type:

- `object`

#### See also:

- ``Key.modifiers``

## Methods inherited from `Event`

`preventDefault()`

Cancels the event if it is cancelable, without stopping further propagation of the event.

`stopPropagation()`

Prevents further propagation of the current event.

`stop()`

Cancels the event if it is cancelable, and stops stopping further propagation of the event. This is has the same effect as calling both `stopPropagation`() and `preventDefault`().

Any handler can also return `false` to indicate that `stop()` should be called right after.