Public Member Functions | Static Public Member Functions | Static Public Attributes

KeyPress Class Reference

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

List of all members.

Public Member Functions

 KeyPress () noexcept
 Creates an (invalid) KeyPress.
 KeyPress (int keyCode, const 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 &other) noexcept
 Creates a copy of another KeyPress.
KeyPressoperator= (const KeyPress &other) noexcept
 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 isValid () const noexcept
 Returns true if this is a valid KeyPress.
int getKeyCode () const noexcept
 Returns the key code itself.
const 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 const 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 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)

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, Button::addShortcut, KeyPressMappingManager

Constructor & Destructor Documentation

KeyPress::KeyPress (  )

Creates an (invalid) KeyPress.

See also:
isValid
KeyPress::KeyPress ( int  keyCode,
const ModifierKeys modifiers,
juce_wchar  textCharacter 
)

Creates a KeyPress for a key and some modifiers.

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

Parameters:
keyCodea 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'.
modifiersthe modifiers to associate with the keystroke
textCharacterthe 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::KeyPress ( int  keyCode )

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

KeyPress::KeyPress ( const KeyPress other )

Creates a copy of another KeyPress.


Member Function Documentation

KeyPress& KeyPress::operator= ( const KeyPress other )

Copies this KeyPress from another one.

bool KeyPress::operator== ( const KeyPress other ) const

Compares two KeyPress objects.

bool KeyPress::operator!= ( const KeyPress other ) const

Compares two KeyPress objects.

bool KeyPress::isValid (  ) const

Returns true if this is a valid KeyPress.

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

int KeyPress::getKeyCode (  ) const

Returns the key code itself.

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

const ModifierKeys KeyPress::getModifiers (  ) const

Returns the key modifiers.

See also:
ModifierKeys

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

juce_wchar KeyPress::getTextCharacter (  ) const

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.

bool KeyPress::isKeyCode ( int  keyCodeToCompare ) const

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 TextEditorKeyMapper< CallbackClass >::invokeKeyFunction().

static const KeyPress 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 "SPACE".

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
String 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.

String 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()

bool 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.

static bool 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

const int KeyPress::spaceKey [static]

key-code for the space bar

const int KeyPress::escapeKey [static]

key-code for the escape key

const int KeyPress::returnKey [static]

key-code for the return key

const int KeyPress::tabKey [static]

key-code for the tab key

const int KeyPress::deleteKey [static]

key-code for the delete key (not backspace)

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

const int KeyPress::backspaceKey [static]

key-code for the backspace key

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

const int KeyPress::insertKey [static]

key-code for the insert key

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

const int KeyPress::upKey [static]

key-code for the cursor-up key

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

const int KeyPress::downKey [static]

key-code for the cursor-down key

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

const int KeyPress::leftKey [static]

key-code for the cursor-left key

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

const int KeyPress::rightKey [static]

key-code for the cursor-right key

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

const int KeyPress::pageUpKey [static]

key-code for the page-up key

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

const int KeyPress::pageDownKey [static]

key-code for the page-down key

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

const int KeyPress::homeKey [static]

key-code for the home key

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

const int KeyPress::endKey [static]

key-code for the end key

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

const int KeyPress::F1Key [static]

key-code for the F1 key

const int KeyPress::F2Key [static]

key-code for the F2 key

const int KeyPress::F3Key [static]

key-code for the F3 key

const int KeyPress::F4Key [static]

key-code for the F4 key

const int KeyPress::F5Key [static]

key-code for the F5 key

const int KeyPress::F6Key [static]

key-code for the F6 key

const int KeyPress::F7Key [static]

key-code for the F7 key

const int KeyPress::F8Key [static]

key-code for the F8 key

const int KeyPress::F9Key [static]

key-code for the F9 key

const int KeyPress::F10Key [static]

key-code for the F10 key

const int KeyPress::F11Key [static]

key-code for the F11 key

const int KeyPress::F12Key [static]

key-code for the F12 key

const int KeyPress::F13Key [static]

key-code for the F13 key

const int KeyPress::F14Key [static]

key-code for the F14 key

const int KeyPress::F15Key [static]

key-code for the F15 key

const int KeyPress::F16Key [static]

key-code for the F16 key

const int KeyPress::numberPad0 [static]

key-code for the 0 on the numeric keypad.

const int KeyPress::numberPad1 [static]

key-code for the 1 on the numeric keypad.

const int KeyPress::numberPad2 [static]

key-code for the 2 on the numeric keypad.

const int KeyPress::numberPad3 [static]

key-code for the 3 on the numeric keypad.

const int KeyPress::numberPad4 [static]

key-code for the 4 on the numeric keypad.

const int KeyPress::numberPad5 [static]

key-code for the 5 on the numeric keypad.

const int KeyPress::numberPad6 [static]

key-code for the 6 on the numeric keypad.

const int KeyPress::numberPad7 [static]

key-code for the 7 on the numeric keypad.

const int KeyPress::numberPad8 [static]

key-code for the 8 on the numeric keypad.

const int KeyPress::numberPad9 [static]

key-code for the 9 on the numeric keypad.

const int KeyPress::numberPadAdd [static]

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

const int KeyPress::numberPadSubtract [static]

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

const int KeyPress::numberPadMultiply [static]

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

const int KeyPress::numberPadDivide [static]

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

const int KeyPress::numberPadSeparator [static]

key-code for the comma on the numeric keypad.

const int KeyPress::numberPadDecimalPoint [static]

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

const int KeyPress::numberPadEquals [static]

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

const int KeyPress::numberPadDelete [static]

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

const int KeyPress::playKey [static]

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

const int KeyPress::stopKey [static]

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

const int KeyPress::fastForwardKey [static]

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

const int KeyPress::rewindKey [static]

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


The documentation for this class was generated from the following file:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines