org.eclipse.swt.events

## Class KeyEvent

- java.lang.Object
- - java.util.EventObject
  - - org.eclipse.swt.events.TypedEvent
    - - org.eclipse.swt.events.KeyEvent

All Implemented Interfaces:
  Serializable

Direct Known Subclasses:
  TraverseEvent, VerifyEvent

    public class KeyEvent
    extends TypedEvent

Instances of this class are sent as a result of keys being pressed and released on the keyboard.

When a key listener is added to a control, the control will take part in widget traversal. By default, all traversal keys (such as the tab key and so on) are delivered to the control. In order for a control to take part in traversal, it should listen for traversal events. Otherwise, the user can traverse into a control but not out. Note that native controls such as table and tree implement key traversal in the operating system. It is not necessary to add traversal listeners for these controls, unless you want to override the default traversal.

See Also:
  `KeyListener`, `TraverseListener`, Sample code and further information, Serialized Form

### Field Summary

Fields
`char` `character` the character represented by the key that was typed.
`boolean` `doit` A flag indicating whether the operation should be allowed.
`int` `keyCode` the key code of the key that was typed, as defined by the key code constants in class `SWT`.
`int` `keyLocation` depending on the event, the location of key specified by the keyCode or character.
`int` `stateMask` the state of the keyboard modifier keys and mouse masks at the time the event was generated.

### Fields inherited from class org.eclipse.swt.events.TypedEvent

`data, display, time, widget`

### Fields inherited from class java.util.EventObject

`source`

### Constructor Summary

Constructors
Constructor and Description
`KeyEvent(Event e)` Constructs a new instance of this class based on the information in the given untyped event.

### Method Summary

All Methods Instance Methods Concrete Methods
`String` `toString()` Returns a string containing a concise, human-readable description of the receiver.

### Methods inherited from class java.util.EventObject

`getSource`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### character

    public char character

the character represented by the key that was typed. This is the final character that results after all modifiers have been applied. For example, when the user types Ctrl+A, the character value is 0x01. It is important that applications do not attempt to modify the character value based on a stateMask (such as SWT.CTRL) or the resulting character will not be correct.

#### keyCode

    public int keyCode

the key code of the key that was typed, as defined by the key code constants in class `SWT`. When the character field of the event is ambiguous, this field contains the unicode value of the original character. For example, typing Ctrl+M or Return both result in the character '\r' but the keyCode field will also contain '\r' when Return was typed.

See Also:
  `SWT`

#### keyLocation

    public int keyLocation

depending on the event, the location of key specified by the keyCode or character. The possible values for this field are `SWT.LEFT`, `SWT.RIGHT`, `SWT.KEYPAD`, or `SWT.NONE` representing the main keyboard area.

The location field can be used to differentiate key events that have the same key code and character but are generated by different keys on the keyboard. For example, a key down event with the key code equal to SWT.SHIFT can be generated by the left and the right shift keys on the keyboard.

The location field can only be used to determine the location of the key code or character in the current event. It does not include information about the location of modifiers in the state mask.

Since:
  3.6
See Also:
  `SWT.LEFT`, `SWT.RIGHT`, `SWT.KEYPAD`

#### stateMask

    public int stateMask

the state of the keyboard modifier keys and mouse masks at the time the event was generated.

See Also:
  `SWT.MODIFIER_MASK`, `SWT.BUTTON_MASK`

#### doit

    public boolean doit

A flag indicating whether the operation should be allowed. Setting this field to `false` will cancel the operation.

### Constructor Detail

#### KeyEvent

    public KeyEvent(Event e)

Constructs a new instance of this class based on the information in the given untyped event.

Parameters:
  `e` - the untyped event containing the information

### Method Detail

#### toString

    public String toString()

Returns a string containing a concise, human-readable description of the receiver.

Overrides:
  `toString` in class `TypedEvent`
Returns:
  a string representation of the event