![]() |
AntiMicroX
|
Base class for platform-specific Qt key mappers. More...
#include <qtkeymapperbase.h>
Data Structures | |
| struct | _charKeyInformation |
| Information about a printable character key. More... | |
Public Types | |
| enum | { AntKey_Shift_R = Qt::Key_Shift | customQtKeyPrefix , AntKey_Control_R = Qt::Key_Control | customQtKeyPrefix , AntKey_Shift_Lock = 0xffe6 | customKeyPrefix , AntKey_Meta_R = Qt::Key_Meta | customQtKeyPrefix , AntKey_Alt_R = Qt::Key_Alt | customQtKeyPrefix , AntKey_KP_Divide = Qt::Key_Slash | customQtKeyPrefix , AntKey_KP_Multiply = Qt::Key_Asterisk | customQtKeyPrefix , AntKey_KP_Subtract = Qt::Key_Minus | customQtKeyPrefix , AntKey_KP_Add = Qt::Key_Plus | customQtKeyPrefix , AntKey_KP_Decimal = Qt::Key_Period | customQtKeyPrefix , AntKey_KP_Insert = Qt::Key_Insert | customQtKeyPrefix , AntKey_Delete = Qt::Key_Delete | customQtKeyPrefix , AntKey_KP_Delete = 0xff9f | customKeyPrefix , AntKey_KP_End = Qt::Key_End | customQtKeyPrefix , AntKey_KP_Down = Qt::Key_Down | customQtKeyPrefix , AntKey_KP_Prior = Qt::Key_PageUp | customQtKeyPrefix , AntKey_KP_Left = Qt::Key_Left | customQtKeyPrefix , AntKey_KP_Begin = Qt::Key_Clear | customQtKeyPrefix , AntKey_KP_Right = Qt::Key_Right | customQtKeyPrefix , AntKey_KP_Home = Qt::Key_Home | customQtKeyPrefix , AntKey_KP_Up = Qt::Key_Up | customQtKeyPrefix , AntKey_KP_Next = Qt::Key_PageDown | customQtKeyPrefix , AntKey_KP_Enter = 0xff8d | customKeyPrefix , AntKey_KP_0 = 0xffb0 | customKeyPrefix , AntKey_KP_1 = 0xffb1 | customKeyPrefix , AntKey_KP_2 = 0xffb2 | customKeyPrefix , AntKey_KP_3 = 0xffb3 | customKeyPrefix , AntKey_KP_4 = 0xffb4 | customKeyPrefix , AntKey_KP_5 = 0xffb5 | customKeyPrefix , AntKey_KP_6 = 0xffb6 | customKeyPrefix , AntKey_KP_7 = 0xffb7 | customKeyPrefix , AntKey_KP_8 = 0xffb8 | customKeyPrefix , AntKey_KP_9 = 0xffb9 | customKeyPrefix } |
| typedef struct QtKeyMapperBase::_charKeyInformation | charKeyInformation |
| Information about a printable character key. | |
Public Member Functions | |
| QtKeyMapperBase (QObject *parent=nullptr) | |
| virtual int | returnVirtualKey (int qkey) |
| Get platform virtual key for a given Qt key. | |
| virtual int | returnQtKey (int key, int scancode=0) |
| Get Qt key for a given platform virtual key. | |
| virtual bool | isModifier (int qkey) |
| Check whether the given Qt key is a modifier key. | |
| charKeyInformation | getCharKeyInformation (QChar value) |
| Get key information (virtual key + modifiers) for a character. | |
| QString | getIdentifier () |
| Identifier string for this mapper implementation. | |
Static Public Attributes | |
| static const int | customQtKeyPrefix = 0x10000000 |
| static const int | customKeyPrefix = 0x20000000 |
| static const int | nativeKeyPrefix = 0x60000000 |
Protected Member Functions | |
| virtual void | populateMappingHashes ()=0 |
Populate the Qt <-> platform virtual key mappings. Implementations must fill qtKeyToVirtKeyHash (Qt -> VK) and virtKeyToQtKeyHash (VK -> Qt). | |
| virtual void | populateCharKeyInformation ()=0 |
Populate virtkeyToCharKeyInfo with character -> VK+modifier info. | |
Protected Attributes | |
| QHash< int, int > | qtKeyToVirtKeyHash |
| QHash< int, int > | virtKeyToQtKeyHash |
| QHash< int, charKeyInformation > | virtkeyToCharKeyInfo |
| QString | identifier |
Base class for platform-specific Qt key mappers.
QtKeyMapperBase provides an abstract API for mapping between Qt key constants (Qt::Key_*) and platform-specific virtual key codes (for example X11 keysyms). Subclasses implement the mapping population and character information routines and use the provided hash tables to perform lookups.
Typical usage:
Information about a printable character key.
Contains the required Qt modifiers to produce the character and the platform virtual keycode that generates it.
Synthetic/custom key values used within the codebase.
|
explicit |
| QtKeyMapperBase::charKeyInformation QtKeyMapperBase::getCharKeyInformation | ( | QChar | value | ) |
Get key information (virtual key + modifiers) for a character.
| value | Unicode character to query |
| QString QtKeyMapperBase::getIdentifier | ( | ) |
Identifier string for this mapper implementation.
Obtain identifier string for key mapper.
Check whether the given Qt key is a modifier key.
| qkey | Qt key value |
Populate virtkeyToCharKeyInfo with character -> VK+modifier info.
Implemented in QtUInputKeyMapper, QtVMultiKeyMapper, QtWinKeyMapper, and QtX11KeyMapper.
Populate the Qt <-> platform virtual key mappings. Implementations must fill qtKeyToVirtKeyHash (Qt -> VK) and virtKeyToQtKeyHash (VK -> Qt).
Implemented in QtUInputKeyMapper, QtVMultiKeyMapper, QtWinKeyMapper, and QtX11KeyMapper.
Get Qt key for a given platform virtual key.
| key | Platform virtual key code |
| scancode | Optional scancode (unused by default) |
Reimplemented in QtWinKeyMapper.
Get platform virtual key for a given Qt key.
| qkey | Qt::Key_* value (may include custom prefixes) |
Prefix values for constructing custom key values.
|
protected |
Short identifier for this mapper (set by subclasses)
Map from Qt key to platform virtual key
|
protected |
Unicode code point -> charKeyInformation (VK + modifiers)
Map from platform virtual key to Qt key