39 ,
public QtWaylandServer::wl_keyboard
53#if QT_CONFIG(xkbcommon)
54 struct xkb_state *xkbState()
const {
return mXkbState.get(); }
55 struct xkb_context *xkbContext()
const {
58 uint32_t xkbModsMask()
const {
return modsDepressed | modsLatched | modsLocked; }
59 void maybeUpdateXkbScanCodeTable();
60 void resetKeyboardState();
64 void sendKeyEvent(
uint code, uint32_t
state);
65 void updateModifierState(
uint code, uint32_t
state);
66 void checkAndRepairModifierState(
QKeyEvent *ke);
67 void maybeUpdateKeymap();
69 void checkFocusResource(Resource *resource);
73 void keyboard_bind_resource(Resource *resource)
override;
74 void keyboard_destroy_resource(Resource *resource)
override;
75 void keyboard_release(Resource *resource)
override;
78#if QT_CONFIG(xkbcommon)
79 void createXKBKeymap();
80 void createXKBState(xkb_keymap *keymap);
82 static uint toWaylandKey(
const uint nativeScanCode);
85 void sendRepeatInfo();
90 Resource *focusResource =
nullptr;
94 uint32_t modsDepressed = 0;
95 uint32_t modsLatched = 0;
96 uint32_t modsLocked = 0;
99 uint32_t shiftIndex = 0;
100 uint32_t controlIndex = 0;
101 uint32_t altIndex = 0;
103 Qt::KeyboardModifiers currentModifierState;
105 bool pendingKeymap =
false;
106#if QT_CONFIG(xkbcommon)
109 char *keymap_area =
nullptr;
110 using ScanCodeKey = std::pair<uint,int>;
111 QMap<ScanCodeKey, uint> scanCodesByQtKey;