Package org.eclipse.jface.bindings.keys

# Class KeyStroke

java.lang.Object
org.eclipse.jface.bindings.Trigger
org.eclipse.jface.bindings.keys.KeyStroke

All Implemented Interfaces:
  `Comparable`

public final class KeyStroke extends Trigger

A `KeyStroke` is defined as an optional set of modifier keys followed optionally by a natural key. A `KeyStroke` is said to be complete if it contains a natural key. A natural key is any Unicode character (e.g., "backspace", etc.), any character belonging to a natural language (e.g., "A", "1", "[", etc.), or any special control character specific to computers (e.g., "F10", "PageUp", etc.).

All `KeyStroke` objects have a formal string representation available via the `toString()` method. There are a number of methods to get instances of `KeyStroke` objects, including one which can parse this formal string representation.

All `KeyStroke` objects, via the `format()` method, provide a version of their formal string representation translated by platform and locale, suitable for display to a user.

`KeyStroke` objects are immutable. Clients are not permitted to extend this class.

Since:
  3.1

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`KEY_DELIMITER`
The delimiter between multiple keys in a single key strokes -- expressed in the formal key stroke grammar.
`static final String`
`KEY_DELIMITERS`
The set of delimiters for `Key` objects allowed during parsing of the formal string representation.
`static final int`
`NO_KEY`
The representation for no key.

## Method Summary

Modifier and Type
Method
Description
`final int`
`compareTo(Object object)`
`final boolean`
`equals(Object object)`
Tests whether this object is equal to another object.
`final String`
`format()`
Formats this key stroke into the current default look.
`static final KeyStroke`
`getInstance(int naturalKey)`
Creates an instance of `KeyStroke` given a natural key.
`static final KeyStroke`
`getInstance(int modifierKeys, int naturalKey)`
Creates an instance of `KeyStroke` given a set of modifier keys and a natural key.
`static final KeyStroke`
`getInstance(String string)`
Creates an instance of `KeyStroke` by parsing a given a formal string representation.
`final int`
`getModifierKeys()`
Returns the modifier keys for this key stroke.
`final int`
`getNaturalKey()`
Returns the natural key for this key stroke.
`final int`
`hashCode()`
Computes the hash code for this object.
`final boolean`
`isComplete()`
Returns whether or not this key stroke is complete.
`final String`
`toString()`
Returns the formal string representation for this key stroke.

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

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

## Field Details

### KEY_DELIMITER

public static final String KEY_DELIMITER
The delimiter between multiple keys in a single key strokes -- expressed in the formal key stroke grammar. This is not to be displayed to the user. It is only intended as an internal representation.

See Also:
  - Constant Field Values

### KEY_DELIMITERS

public static final String KEY_DELIMITERS
The set of delimiters for `Key` objects allowed during parsing of the formal string representation.

See Also:
  - Constant Field Values

### NO_KEY

public static final int NO_KEY
The representation for no key.

See Also:
  - Constant Field Values

## Method Details

### getInstance

public static final KeyStroke getInstance(int naturalKey)
Creates an instance of `KeyStroke` given a natural key.

Parameters:
  `naturalKey` - the natural key. The format of this integer is defined by whichever widget toolkit you are using; `NO_KEY` always means no natural key.
Returns:
  a key stroke. This key stroke will have no modifier keys. Guaranteed not to be `null`.
See Also:
  - `SWTKeySupport`

### getInstance

public static final KeyStroke getInstance(int modifierKeys, int naturalKey)
Creates an instance of `KeyStroke` given a set of modifier keys and a natural key.

Parameters:
  `modifierKeys` - the modifier keys. The format of this integer is defined by whichever widget toolkit you are using; `NO_KEY` always means no modifier keys.
  `naturalKey` - the natural key. The format of this integer is defined by whichever widget toolkit you are using; `NO_KEY` always means no natural key.
Returns:
  a key stroke. Guaranteed not to be `null`.
See Also:
  - `SWTKeySupport`

### getInstance

public static final KeyStroke getInstance(String string) throws ParseException
Creates an instance of `KeyStroke` by parsing a given a formal string representation.

Parameters:
  `string` - the formal string representation to parse.
Returns:
  a key stroke. Guaranteed not to be `null`.
Throws:
  `ParseException` - if the given formal string representation could not be parsed to a valid key stroke.

### compareTo

public final int compareTo(Object object)

### equals

public final boolean equals(Object object)
Description copied from class: `Trigger`
Tests whether this object is equal to another object. A handle object is only equal to another trigger with the same properties.

Specified by:
  `equals` in class `Trigger`
Parameters:
  `object` - The object with which to compare; may be `null`.
Returns:
  `true` if the objects are equal; `false` otherwise.

### format

public final String format()
Formats this key stroke into the current default look.

Returns:
  A string representation for this key stroke using the default look; never `null`.

### getModifierKeys

public final int getModifierKeys()
Returns the modifier keys for this key stroke.

Returns:
  the bit mask of modifier keys; `NO_KEY` means that there is no modifier key.

### getNaturalKey

public final int getNaturalKey()
Returns the natural key for this key stroke.

Returns:
  The natural key for this key stroke. This value is `NO_KEY` if the key stroke is incomplete (i.e., has no natural key).

### hashCode

public final int hashCode()
Description copied from class: `Trigger`
Computes the hash code for this object.

Specified by:
  `hashCode` in class `Trigger`
Returns:
  The hash code for this object.

### isComplete

public final boolean isComplete()
Returns whether or not this key stroke is complete. Key strokes are complete iff they have a natural key which is not `NO_KEY`.

Returns:
  `true`, iff the key stroke is complete.

### toString

public final String toString()
Returns the formal string representation for this key stroke.

Overrides:
  `toString` in class `Object`
Returns:
  The formal string representation for this key stroke. Guaranteed not to be `null`.