40 #ifndef QXCBKEYBOARD_H
41 #define QXCBKEYBOARD_H
45 #include <xcb/xcb_keysyms.h>
46 #define explicit dont_use_cxx_explicit
50 #include <QtGui/private/qxkbcommon_p.h>
51 #include <xkbcommon/xkbcommon-x11.h>
101 bool m_config =
false;
102 bool m_isAutoRepeat =
false;
103 xcb_keycode_t m_autoRepeatCode = 0;
113 _mod_masks rmod_masks;
115 xcb_key_symbols_t *m_key_symbols =
nullptr;
117 xkb_mod_index_t
shift;
118 xkb_mod_index_t
lock;
119 xkb_mod_index_t control;
120 xkb_mod_index_t mod1;
121 xkb_mod_index_t mod2;
122 xkb_mod_index_t mod3;
123 xkb_mod_index_t mod4;
124 xkb_mod_index_t mod5;
128 _mod_masks vmod_masks;
135 bool m_superAsMeta =
false;
136 bool m_hyperAsMeta =
false;
The QKeyEvent class describes a key event.
void handleKeyPressEvent(const xcb_key_press_event_t *event)
void handleKeyReleaseEvent(const xcb_key_release_event_t *event)
void resolveMaskConflicts()
QList< int > possibleKeys(const QKeyEvent *event) const
void handleKeyEvent(xcb_window_t sourceWindow, QEvent::Type type, xcb_keycode_t code, quint16 state, xcb_timestamp_t time, bool fromSendEvent)
xkb_mod_mask_t xkbModMask(quint16 state)
void updateXKBState(xcb_xkb_state_notify_event_t *state)
void updateVModToRModMapping()
QMap< xcb_keysym_t, int > KeysymModifierMap
Qt::KeyboardModifiers translateModifiers(int s) const
QXcbKeyboard(QXcbConnection *connection)
void updateXKBStateFromCore(quint16 state)
void handleStateChanges(xkb_state_component changedComponents)
KeysymModifierMap keysymsToModifiers()
void updateXKBStateFromXI(void *modInfo, void *groupInfo)
void updateModifiers(const KeysymModifierMap &keysymMods)
struct xkb_keymap * keymapFromCore(const KeysymModifierMap &keysymMods)
QXcbConnection * connection() const
std::unique_ptr< struct xkb_context, XKBContextDeleter > ScopedXKBContext
std::unique_ptr< struct xkb_keymap, XKBKeymapDeleter > ScopedXKBKeymap
std::unique_ptr< struct xkb_state, XKBStateDeleter > ScopedXKBState