Loading...
Searching...
No Matches
juce::KeyPress Class Reference

## Detailed Description

Represents a key press, including any modifier keys that are needed.

E.g. a KeyPress might represent CTRL+C, SHIFT+ALT+H, Spacebar, Escape, etc.

See also
  Component, KeyListener, KeyPressMappingSet, Button::addShortcut

The documentation for this class was generated from the following file:

- juce_gui_basics/keyboard/juce_KeyPress.h

## Public Member Functions

| KeyPress ()=default
| Creates an (invalid) KeyPress.
| ~KeyPress ()=default
| Destructor.
| KeyPress (int keyCode, ModifierKeys modifiers, juce_wchar textCharacter) noexcept
| Creates a KeyPress for a key and some modifiers.
| KeyPress (int keyCode) noexcept
| Creates a keypress with a keyCode but no modifiers or text character.
| KeyPress (const KeyPress &)=default
| Creates a copy of another KeyPress.
KeyPress & | operator= (const KeyPress &)=default
| Copies this KeyPress from another one.
bool | operator== (const KeyPress &other) const noexcept
| Compares two KeyPress objects.
bool | operator!= (const KeyPress &other) const noexcept
| Compares two KeyPress objects.
bool | operator== (int keyCode) const noexcept
| Returns true if this keypress is for the given keycode without any modifiers.
bool | operator!= (int keyCode) const noexcept
| Returns true if this keypress is not for the given keycode without any modifiers.
bool | isValid () const noexcept
| Returns true if this is a valid KeyPress.
int | getKeyCode () const noexcept
| Returns the key code itself.
ModifierKeys | getModifiers () const noexcept
| Returns the key modifiers.
juce_wchar | getTextCharacter () const noexcept
| Returns the character that is associated with this keypress.
bool | isKeyCode (int keyCodeToCompare) const noexcept
| Checks whether the KeyPress's key is the same as the one provided, without checking the modifiers.
String | getTextDescription () const
| Creates a textual description of the key combination.
String | getTextDescriptionWithIcons () const
| Creates a textual description of the key combination, using unicode icon symbols if possible.
bool | isCurrentlyDown () const
| Checks whether the user is currently holding down the keys that make up this KeyPress.

## Static Public Member Functions

static KeyPress | createFromDescription (const String &textVersion)
| Converts a textual key description to a KeyPress.
static bool | isKeyCurrentlyDown (int keyCode)
| Checks whether a particular key is held down, irrespective of modifiers.

## Static Public Attributes

static const int | spaceKey
| key-code for the space bar
static const int | escapeKey
| key-code for the escape key
static const int | returnKey
| key-code for the return key
static const int | tabKey
| key-code for the tab key
static const int | deleteKey
| key-code for the delete key (not backspace)
static const int | backspaceKey
| key-code for the backspace key
static const int | insertKey
| key-code for the insert key
static const int | upKey
| key-code for the cursor-up key
static const int | downKey
| key-code for the cursor-down key
static const int | leftKey
| key-code for the cursor-left key
static const int | rightKey
| key-code for the cursor-right key
static const int | pageUpKey
| key-code for the page-up key
static const int | pageDownKey
| key-code for the page-down key
static const int | homeKey
| key-code for the home key
static const int | endKey
| key-code for the end key
static const int | F1Key
| key-code for the F1 key
static const int | F2Key
| key-code for the F2 key
static const int | F3Key
| key-code for the F3 key
static const int | F4Key
| key-code for the F4 key
static const int | F5Key
| key-code for the F5 key
static const int | F6Key
| key-code for the F6 key
static const int | F7Key
| key-code for the F7 key
static const int | F8Key
| key-code for the F8 key
static const int | F9Key
| key-code for the F9 key
static const int | F10Key
| key-code for the F10 key
static const int | F11Key
| key-code for the F11 key
static const int | F12Key
| key-code for the F12 key
static const int | F13Key
| key-code for the F13 key
static const int | F14Key
| key-code for the F14 key
static const int | F15Key
| key-code for the F15 key
static const int | F16Key
| key-code for the F16 key
static const int | F17Key
| key-code for the F17 key
static const int | F18Key
| key-code for the F18 key
static const int | F19Key
| key-code for the F19 key
static const int | F20Key
| key-code for the F20 key
static const int | F21Key
| key-code for the F21 key
static const int | F22Key
| key-code for the F22 key
static const int | F23Key
| key-code for the F23 key
static const int | F24Key
| key-code for the F24 key
static const int | F25Key
| key-code for the F25 key
static const int | F26Key
| key-code for the F26 key
static const int | F27Key
| key-code for the F27 key
static const int | F28Key
| key-code for the F28 key
static const int | F29Key
| key-code for the F29 key
static const int | F30Key
| key-code for the F30 key
static const int | F31Key
| key-code for the F31 key
static const int | F32Key
| key-code for the F32 key
static const int | F33Key
| key-code for the F33 key
static const int | F34Key
| key-code for the F34 key
static const int | F35Key
| key-code for the F35 key
static const int | numberPad0
| key-code for the 0 on the numeric keypad.
static const int | numberPad1
| key-code for the 1 on the numeric keypad.
static const int | numberPad2
| key-code for the 2 on the numeric keypad.
static const int | numberPad3
| key-code for the 3 on the numeric keypad.
static const int | numberPad4
| key-code for the 4 on the numeric keypad.
static const int | numberPad5
| key-code for the 5 on the numeric keypad.
static const int | numberPad6
| key-code for the 6 on the numeric keypad.
static const int | numberPad7
| key-code for the 7 on the numeric keypad.
static const int | numberPad8
| key-code for the 8 on the numeric keypad.
static const int | numberPad9
| key-code for the 9 on the numeric keypad.
static const int | numberPadAdd
| key-code for the add sign on the numeric keypad.
static const int | numberPadSubtract
| key-code for the subtract sign on the numeric keypad.
static const int | numberPadMultiply
| key-code for the multiply sign on the numeric keypad.
static const int | numberPadDivide
| key-code for the divide sign on the numeric keypad.
static const int | numberPadSeparator
| key-code for the comma on the numeric keypad.
static const int | numberPadDecimalPoint
| key-code for the decimal point sign on the numeric keypad.
static const int | numberPadEquals
| key-code for the equals key on the numeric keypad.
static const int | numberPadDelete
| key-code for the delete key on the numeric keypad.
static const int | playKey
| key-code for a multimedia 'play' key, (not all keyboards will have one)
static const int | stopKey
| key-code for a multimedia 'stop' key, (not all keyboards will have one)
static const int | fastForwardKey
| key-code for a multimedia 'fast-forward' key, (not all keyboards will have one)
static const int | rewindKey
| key-code for a multimedia 'rewind' key, (not all keyboards will have one)

## Constructors and Destructors

## KeyPress() [1/4]

juce::KeyPress::KeyPress | ( |  | ) |

default

Creates an (invalid) KeyPress.

See also
  isValid

Referenced by createFromDescription(), KeyPress(), operator!=(), operator=(), and operator==().

## ~KeyPress()

juce::KeyPress::~KeyPress | ( |  | ) |

default

Destructor.

## KeyPress() [2/4]

juce::KeyPress::KeyPress | ( | int | keyCode,
|  | ModifierKeys | modifiers,
|  | juce_wchar | textCharacter )

noexcept

Creates a KeyPress for a key and some modifiers.

e.g. CTRL+C would be: KeyPress ('c', ModifierKeys::ctrlModifier, 0) SHIFT+Escape would be: KeyPress (KeyPress::escapeKey, ModifierKeys::shiftModifier, 0)

Parameters

  keyCode | a code that represents the key - this value must be one of special constants listed in this class, or an 8-bit character code such as a letter (case is ignored), digit or a simple key like "," or ".". Note that this isn't the same as the textCharacter parameter, so for example a keyCode of 'a' and a shift-key modifier should have a textCharacter value of 'A'.
  modifiers | the modifiers to associate with the keystroke
  textCharacter | the character that would be printed if someone typed this keypress into a text editor. This value may be null if the keypress is a non-printing character

See also
  getKeyCode, isKeyCode, getModifiers

## KeyPress() [3/4]

juce::KeyPress::KeyPress | ( | int | keyCode | ) |

explicit noexcept

Creates a keypress with a keyCode but no modifiers or text character.

## KeyPress() [4/4]

juce::KeyPress::KeyPress | ( | const KeyPress & |  | ) |

default

Creates a copy of another KeyPress.

References KeyPress().

## Member Functions

## operator=()

KeyPress & juce::KeyPress::operator= | ( | const KeyPress & |  | ) |

default

Copies this KeyPress from another one.

References KeyPress().

## operator==() [1/2]

bool juce::KeyPress::operator== | ( | const KeyPress & | other | ) | const

noexcept

Compares two KeyPress objects.

References KeyPress().

## operator!=() [1/2]

bool juce::KeyPress::operator!= | ( | const KeyPress & | other | ) | const

noexcept

Compares two KeyPress objects.

References KeyPress().

## operator==() [2/2]

bool juce::KeyPress::operator== | ( | int | keyCode | ) | const

noexcept

Returns true if this keypress is for the given keycode without any modifiers.

## operator!=() [2/2]

bool juce::KeyPress::operator!= | ( | int | keyCode | ) | const

noexcept

Returns true if this keypress is not for the given keycode without any modifiers.

## isValid()

bool juce::KeyPress::isValid | ( |  | ) | const

inline noexcept

Returns true if this is a valid KeyPress.

A null keypress can be created by the default constructor, in case it's needed.

## getKeyCode()

int juce::KeyPress::getKeyCode | ( |  | ) | const

inline noexcept

Returns the key code itself.

This will either be one of the special constants defined in this class, or an 8-bit character code.

## getModifiers()

ModifierKeys juce::KeyPress::getModifiers | ( |  | ) | const

inline noexcept

Returns the key modifiers.

See also
  ModifierKeys

Referenced by juce::TextEditorKeyMapper< CallbackClass >::invokeKeyFunction().

## getTextCharacter()

juce_wchar juce::KeyPress::getTextCharacter | ( |  | ) | const

inline noexcept

Returns the character that is associated with this keypress.

This is the character that you'd expect to see printed if you press this keypress in a text editor or similar component.

## isKeyCode()

bool juce::KeyPress::isKeyCode | ( | int | keyCodeToCompare | ) | const

inline noexcept

Checks whether the KeyPress's key is the same as the one provided, without checking the modifiers.

The values for key codes can either be one of the special constants defined in this class, or an 8-bit character code.

See also
  getKeyCode

Referenced by juce::TextEditorKeyMapper< CallbackClass >::invokeKeyFunction().

## createFromDescription()

KeyPress juce::KeyPress::createFromDescription | ( | const String & | textVersion | ) |

static

Converts a textual key description to a KeyPress.

This attempts to decode a textual version of a keypress, e.g. "ctrl + c" or "spacebar".

This isn't designed to cope with any kind of input, but should be given the strings that are created by the getTextDescription() method.

If the string can't be parsed, the object returned will be invalid.

See also
  getTextDescription

References KeyPress().

## getTextDescription()

String juce::KeyPress::getTextDescription | ( |  | ) | const

Creates a textual description of the key combination.

e.g. "ctrl + c" or "delete".

To store a keypress in a file, use this method, along with createFromDescription() to retrieve it later.

## getTextDescriptionWithIcons()

String juce::KeyPress::getTextDescriptionWithIcons | ( |  | ) | const

Creates a textual description of the key combination, using unicode icon symbols if possible.

On OSX, this uses the Apple symbols for command, option, shift, etc, instead of the textual modifier key descriptions that are returned by getTextDescription()

## isCurrentlyDown()

bool juce::KeyPress::isCurrentlyDown | ( |  | ) | const

Checks whether the user is currently holding down the keys that make up this KeyPress.

Note that this will return false if any extra modifier keys are down - e.g. if the keypress is CTRL+X and the user is actually holding CTRL+ALT+x then it will be false.

## isKeyCurrentlyDown()

bool juce::KeyPress::isKeyCurrentlyDown | ( | int | keyCode | ) |

static

Checks whether a particular key is held down, irrespective of modifiers.

The values for key codes can either be one of the special constants defined in this class, or an 8-bit character code.

## Member Data Documentation

## spaceKey

const int juce::KeyPress::spaceKey

static

key-code for the space bar

## escapeKey

const int juce::KeyPress::escapeKey

static

key-code for the escape key

## returnKey

const int juce::KeyPress::returnKey

static

key-code for the return key

## tabKey

const int juce::KeyPress::tabKey

static

key-code for the tab key

## deleteKey

const int juce::KeyPress::deleteKey

static

key-code for the delete key (not backspace)

Referenced by juce::TextEditorKeyMapper< CallbackClass >::invokeKeyFunction().

## backspaceKey

const int juce::KeyPress::backspaceKey

static

key-code for the backspace key

Referenced by juce::TextEditorKeyMapper< CallbackClass >::invokeKeyFunction().

## insertKey

const int juce::KeyPress::insertKey

static

key-code for the insert key

Referenced by juce::TextEditorKeyMapper< CallbackClass >::invokeKeyFunction().

## upKey

const int juce::KeyPress::upKey

static

key-code for the cursor-up key

Referenced by juce::TextEditorKeyMapper< CallbackClass >::invokeKeyFunction().

## downKey

const int juce::KeyPress::downKey

static

key-code for the cursor-down key

Referenced by juce::TextEditorKeyMapper< CallbackClass >::invokeKeyFunction().

## leftKey

const int juce::KeyPress::leftKey

static

key-code for the cursor-left key

Referenced by juce::TextEditorKeyMapper< CallbackClass >::invokeKeyFunction().

## rightKey

const int juce::KeyPress::rightKey

static

key-code for the cursor-right key

Referenced by juce::TextEditorKeyMapper< CallbackClass >::invokeKeyFunction().

## pageUpKey

const int juce::KeyPress::pageUpKey

static

key-code for the page-up key

Referenced by juce::TextEditorKeyMapper< CallbackClass >::invokeKeyFunction().

## pageDownKey

const int juce::KeyPress::pageDownKey

static

key-code for the page-down key

Referenced by juce::TextEditorKeyMapper< CallbackClass >::invokeKeyFunction().

## homeKey

const int juce::KeyPress::homeKey

static

key-code for the home key

Referenced by juce::TextEditorKeyMapper< CallbackClass >::invokeKeyFunction().

## endKey

const int juce::KeyPress::endKey

static

key-code for the end key

Referenced by juce::TextEditorKeyMapper< CallbackClass >::invokeKeyFunction().

## F1Key

const int juce::KeyPress::F1Key

static

key-code for the F1 key

## F2Key

const int juce::KeyPress::F2Key

static

key-code for the F2 key

## F3Key

const int juce::KeyPress::F3Key

static

key-code for the F3 key

## F4Key

const int juce::KeyPress::F4Key

static

key-code for the F4 key

## F5Key

const int juce::KeyPress::F5Key

static

key-code for the F5 key

## F6Key

const int juce::KeyPress::F6Key

static

key-code for the F6 key

## F7Key

const int juce::KeyPress::F7Key

static

key-code for the F7 key

## F8Key

const int juce::KeyPress::F8Key

static

key-code for the F8 key

## F9Key

const int juce::KeyPress::F9Key

static

key-code for the F9 key

## F10Key

const int juce::KeyPress::F10Key

static

key-code for the F10 key

## F11Key

const int juce::KeyPress::F11Key

static

key-code for the F11 key

## F12Key

const int juce::KeyPress::F12Key

static

key-code for the F12 key

## F13Key

const int juce::KeyPress::F13Key

static

key-code for the F13 key

## F14Key

const int juce::KeyPress::F14Key

static

key-code for the F14 key

## F15Key

const int juce::KeyPress::F15Key

static

key-code for the F15 key

## F16Key

const int juce::KeyPress::F16Key

static

key-code for the F16 key

## F17Key

const int juce::KeyPress::F17Key

static

key-code for the F17 key

## F18Key

const int juce::KeyPress::F18Key

static

key-code for the F18 key

## F19Key

const int juce::KeyPress::F19Key

static

key-code for the F19 key

## F20Key

const int juce::KeyPress::F20Key

static

key-code for the F20 key

## F21Key

const int juce::KeyPress::F21Key

static

key-code for the F21 key

## F22Key

const int juce::KeyPress::F22Key

static

key-code for the F22 key

## F23Key

const int juce::KeyPress::F23Key

static

key-code for the F23 key

## F24Key

const int juce::KeyPress::F24Key

static

key-code for the F24 key

## F25Key

const int juce::KeyPress::F25Key

static

key-code for the F25 key

## F26Key

const int juce::KeyPress::F26Key

static

key-code for the F26 key

## F27Key

const int juce::KeyPress::F27Key

static

key-code for the F27 key

## F28Key

const int juce::KeyPress::F28Key

static

key-code for the F28 key

## F29Key

const int juce::KeyPress::F29Key

static

key-code for the F29 key

## F30Key

const int juce::KeyPress::F30Key

static

key-code for the F30 key

## F31Key

const int juce::KeyPress::F31Key

static

key-code for the F31 key

## F32Key

const int juce::KeyPress::F32Key

static

key-code for the F32 key

## F33Key

const int juce::KeyPress::F33Key

static

key-code for the F33 key

## F34Key

const int juce::KeyPress::F34Key

static

key-code for the F34 key

## F35Key

const int juce::KeyPress::F35Key

static

key-code for the F35 key

## numberPad0

const int juce::KeyPress::numberPad0

static

key-code for the 0 on the numeric keypad.

## numberPad1

const int juce::KeyPress::numberPad1

static

key-code for the 1 on the numeric keypad.

## numberPad2

const int juce::KeyPress::numberPad2

static

key-code for the 2 on the numeric keypad.

## numberPad3

const int juce::KeyPress::numberPad3

static

key-code for the 3 on the numeric keypad.

## numberPad4

const int juce::KeyPress::numberPad4

static

key-code for the 4 on the numeric keypad.

## numberPad5

const int juce::KeyPress::numberPad5

static

key-code for the 5 on the numeric keypad.

## numberPad6

const int juce::KeyPress::numberPad6

static

key-code for the 6 on the numeric keypad.

## numberPad7

const int juce::KeyPress::numberPad7

static

key-code for the 7 on the numeric keypad.

## numberPad8

const int juce::KeyPress::numberPad8

static

key-code for the 8 on the numeric keypad.

## numberPad9

const int juce::KeyPress::numberPad9

static

key-code for the 9 on the numeric keypad.

## numberPadAdd

const int juce::KeyPress::numberPadAdd

static

key-code for the add sign on the numeric keypad.

## numberPadSubtract

const int juce::KeyPress::numberPadSubtract

static

key-code for the subtract sign on the numeric keypad.

## numberPadMultiply

const int juce::KeyPress::numberPadMultiply

static

key-code for the multiply sign on the numeric keypad.

## numberPadDivide

const int juce::KeyPress::numberPadDivide

static

key-code for the divide sign on the numeric keypad.

## numberPadSeparator

const int juce::KeyPress::numberPadSeparator

static

key-code for the comma on the numeric keypad.

## numberPadDecimalPoint

const int juce::KeyPress::numberPadDecimalPoint

static

key-code for the decimal point sign on the numeric keypad.

## numberPadEquals

const int juce::KeyPress::numberPadEquals

static

key-code for the equals key on the numeric keypad.

## numberPadDelete

const int juce::KeyPress::numberPadDelete

static

key-code for the delete key on the numeric keypad.

## playKey

const int juce::KeyPress::playKey

static

key-code for a multimedia 'play' key, (not all keyboards will have one)

## stopKey

const int juce::KeyPress::stopKey

static

key-code for a multimedia 'stop' key, (not all keyboards will have one)

## fastForwardKey

const int juce::KeyPress::fastForwardKey

static

key-code for a multimedia 'fast-forward' key, (not all keyboards will have one)

## rewindKey

const int juce::KeyPress::rewindKey

static

key-code for a multimedia 'rewind' key, (not all keyboards will have one)

### Purchase

Get JUCE

### Discover

What's New in JUCE Features

### Learn

Documentaion Tutorials Made with JUCE Resources

### Support

JUCE Forum Newsletter Archive

### About

Contact Us JUCE Legal JUCE Licensing FAQ

### Events

Audio Developer Conference
© Raw Material Software Limited