The KeyEvent holds a pressed, released, or auto-repeated key event that occurs in the host operating system. More...
#include <kanzi/core.ui/platform/input/common/events.hpp>
Public Member Functions | |
LogicalKey | getKey () const |
Returns the LogicalKey value of the key event. More... | |
KeyModifier | getKeyAsModifier () const |
Returns the KeyModifier value of the key event LogicalKey value. More... | |
LogicalKey | getKeyDown () const |
Returns the logical key value of the key event if the event is in pressed state. More... | |
size_t | getKeyRepeatCount () const |
Returns the key-press repetition count. More... | |
LogicalKey | getKeyUp () const |
Returns the logical key value of the key event if the event is in released state. More... | |
KeyModifier | getModifiers () const |
Returns the modifiers bit fields of the key event. More... | |
size_t | getRawKey () const |
Returns the operating system specific raw key code of the event. More... | |
KeyState | getState () const |
Returns the state of the key event. More... | |
bool | hasAltModifier () const |
Checks whether the key event has any of the Alt key modifiers set. More... | |
bool | hasCapsLock () const |
Returns whether the key event is created with the KeyModifier::CapsLock modifier. More... | |
bool | hasControlModifier () const |
Checks whether the key event has any of the Control key modifiers set. More... | |
bool | hasModifier (KeyModifier modifier) const |
Checks whether the given modifier is set on the key event. More... | |
bool | hasShiftModifier () const |
Checks whether the key event has any of the Shift key modifiers set. More... | |
bool | hasSuperModifier () const |
Checks whether the key event has any of the Super key modifiers set. More... | |
bool | isDown () const |
Returns true if the key event represents a key down status, meaning it has Pressed status. More... | |
bool | isKeyModifier () const |
Checks whether the key of the event is a modifier key. More... | |
bool | isTranslated () const |
Returns true if the key event holds a translated operating system key event. More... | |
bool | isUp () const |
Returns true if the key event represents a key released status. More... | |
bool | isValid () const |
Checks whether the key event is valid. More... | |
KeyEvent (LogicalKey logicalKey, KeyModifier logicalKeyModifiers, KeyState keyState) | |
Creates a key event with a logical key, logical key modifiers, and key state. More... | |
KeyEvent (size_t rawKeyCode, KeyState keyState) | |
Creates a key event with a raw key code and key state. More... | |
KeyEvent (size_t rawKeyCode, LogicalKey logicalKey, KeyModifier logicalKeyModifiers, KeyState keyState) | |
Creates a key event with a raw key code, logical key, logical key modifiers, and key state. More... | |
KeyEvent (LogicalKey logicalKey, KeyModifier logicalKeyModifiers, size_t repeatCount) | |
Creates a key-press repetition event with a logical key, logical key modifiers, and repetition count. More... | |
KeyEvent (size_t rawKeyCode, size_t repeatCount) | |
Creates a key-press repetition event with a raw key code and repetition count. More... | |
KeyEvent (size_t rawKeyCode, LogicalKey logicalKey, KeyModifier logicalKeyModifiers, size_t repeatCount) | |
Creates a key-press repetition event with a raw key code, logical key, logical key modifiers, and repetition count. More... | |
Public Member Functions inherited from kanzi::InputEvent | |
Type | getType () const |
Returns the type of the event. More... | |
InputEvent (Type type) | |
Constructs an event with a given type. More... | |
bool | isHandled () const |
Returns true if the event is handled, false if not. More... | |
void | markHandled () |
Marks the event as handled. More... | |
virtual | ~InputEvent () |
Destructor. More... | |
Static Public Attributes | |
static const size_t | InvalidRawKey |
Identifies an invalid raw key code. More... | |
Protected Member Functions | |
KeyEvent () | |
Constructor. Creates an invalid key event. More... | |
Protected Attributes | |
bool | m_capsLock |
The Caps lock state. More... | |
LogicalKey | m_key |
The translated logical key code. More... | |
KeyModifier | m_modifiers |
The key modifier flags applied on the key stroke. More... | |
size_t | m_rawKeyCode |
The raw key code, an operating system specific value. More... | |
size_t | m_repeatCount |
The key-press repetition count. More... | |
KeyState | m_state |
The key event state. More... | |
Additional Inherited Members | |
Public Types inherited from kanzi::InputEvent | |
enum | Type { Key, Pointer, Touch, WindowResized, WindowResizeRequest, WindowFocusLost, WindowFocusGained, WindowHidden, WindowResourcesLost, WindowOrientationChanged, WindowRedrawRequest, WindowPlacement, WindowClosed, ApplicationPaused, ApplicationSleep, ApplicationWakeup, DebugToggleHud, DebugSetHud, UserEvent } |
InputEvent type enumeration. More... | |
The KeyEvent holds a pressed, released, or auto-repeated key event that occurs in the host operating system.
The KeyEvent contains:
Operating system adaptations can map the raw key code into a LogicalKey value and set the applicable key modifiers.
When the operating system key code does not match any logical key defined in Kanzi, create the key event with the raw key code set. When you create a KeyEvent in this way, you tell Kanzi that the raw key code is the only valid information when handling the event.
If the application does not detect any key modifiers or the modifier presented by the operating system does not match any modifier defined by Kanzi, set KeyModifier::Undefined.
The type of the event is InputEvent::Key.
|
explicit |
Creates a key event with a logical key, logical key modifiers, and key state.
The raw key code of the key event that you create this way is set to 0.
logicalKey | The logical key code of the event. |
logicalKeyModifiers | The logical key modifiers that accompany the key event. |
keyState | The key state. |
|
explicit |
Creates a key event with a raw key code and key state.
Use this constructor when the raw key code does not map to any logical key code defined in Kanzi.
rawKeyCode | The operating system specific raw key code. |
keyState | The key state. |
|
explicit |
Creates a key event with a raw key code, logical key, logical key modifiers, and key state.
Kanzi preserves the raw key code of the created key event.
rawKeyCode | The operating system specific raw key code. |
logicalKey | The logical key code of the event. If the raw key code is not translated to a logical key, use LogicalKey::Unknown. |
logicalKeyModifiers | The logical key modifiers that accompany the key event. If the raw key code is not translated to a logical key, use KeyModifier::Undefined. |
keyState | The key state. |
|
explicit |
Creates a key-press repetition event with a logical key, logical key modifiers, and repetition count.
logicalKey | The logical key code of the event. |
logicalKeyModifiers | The logical key modifiers that accompany the key event. |
repeatCount | The number of key press repetitions. |
|
explicit |
Creates a key-press repetition event with a raw key code and repetition count.
rawKeyCode | The operating system specific raw key code. |
repeatCount | The number of key press repetitions. |
|
explicit |
Creates a key-press repetition event with a raw key code, logical key, logical key modifiers, and repetition count.
rawKeyCode | The operating system specific raw key code. |
logicalKey | The logical key code of the event. |
logicalKeyModifiers | The logical key modifiers that accompany the key event. |
repeatCount | The number of key press repetitions. |
|
explicitprotected |
Constructor. Creates an invalid key event.
bool kanzi::KeyEvent::isValid | ( | ) | const |
Checks whether the key event is valid.
A key event is valid if it has either the operating system specific raw key code or the LogicalKey value set.
|
inline |
Returns the operating system specific raw key code of the event.
If the event was created without a raw key code, returns 0.
|
inline |
Returns the LogicalKey value of the key event.
|
inline |
Returns the modifiers bit fields of the key event.
|
inline |
Returns the state of the key event.
|
inline |
Returns true if the key event represents a key down status, meaning it has Pressed status.
|
inline |
Returns true if the key event represents a key released status.
|
inline |
Checks whether the given modifier is set on the key event.
bool kanzi::KeyEvent::isKeyModifier | ( | ) | const |
Checks whether the key of the event is a modifier key.
KeyModifier kanzi::KeyEvent::getKeyAsModifier | ( | ) | const |
Returns the KeyModifier value of the key event LogicalKey value.
|
inline |
Returns the logical key value of the key event if the event is in pressed state.
|
inline |
Returns the key-press repetition count.
|
inline |
Returns the logical key value of the key event if the event is in released state.
bool kanzi::KeyEvent::isTranslated | ( | ) | const |
Returns true if the key event holds a translated operating system key event.
bool kanzi::KeyEvent::hasShiftModifier | ( | ) | const |
Checks whether the key event has any of the Shift key modifiers set.
bool kanzi::KeyEvent::hasAltModifier | ( | ) | const |
Checks whether the key event has any of the Alt key modifiers set.
bool kanzi::KeyEvent::hasControlModifier | ( | ) | const |
Checks whether the key event has any of the Control key modifiers set.
bool kanzi::KeyEvent::hasSuperModifier | ( | ) | const |
Checks whether the key event has any of the Super key modifiers set.
|
inline |
Returns whether the key event is created with the KeyModifier::CapsLock modifier.
|
static |
Identifies an invalid raw key code.
|
protected |
The raw key code, an operating system specific value.
If you create the event with no raw key code, this value is 0.
|
protected |
The key-press repetition count.
|
protected |
The key modifier flags applied on the key stroke.
|
protected |
The translated logical key code.
|
protected |
The key event state.
|
protected |
The Caps lock state.