38class KWIN_EXPORT 
Xkb : 
public QObject
 
   42    Xkb(
bool followLocale1 = 
false);
 
   44    void setConfig(
const KSharedConfigPtr &config);
 
   45    void setNumLockConfig(
const KSharedConfigPtr &config);
 
   47    void updateModifiers(uint32_t modsDepressed, uint32_t modsLatched, uint32_t modsLocked, uint32_t group);
 
   56                    uint32_t scanCode = 0,
 
   57                    Qt::KeyboardModifiers modifiers = Qt::KeyboardModifiers(),
 
   58                    bool superAsMeta = 
false) 
const;
 
   59    Qt::KeyboardModifiers modifiers() 
const;
 
   60    Qt::KeyboardModifiers modifiersRelevantForGlobalShortcuts(uint32_t scanCode = 0) 
const;
 
   61    bool shouldKeyRepeat(quint32 key) 
const;
 
   63    void switchToNextLayout();
 
   64    void switchToPreviousLayout();
 
   67    void setModifierLatched(Qt::KeyboardModifier mod, 
bool latched);
 
   68    void setModifierLocked(Qt::KeyboardModifier mod, 
bool locked);
 
   87        return m_currentLayout;
 
 
   92        return m_modifierState;
 
 
   95    QString layoutName() 
const;
 
   96    QString layoutShortName(
int index) 
const;
 
   97    quint32 numberOfLayouts() 
const;
 
  102    void forwardModifiers();
 
  105    QByteArray keymapContents() 
const;
 
  107    std::optional<int> keycodeFromKeysym(
xkb_keysym_t keysym);
 
  119    void applyEnvironmentRules(xkb_rule_names &);
 
  120    xkb_keymap *loadKeymapFromConfig();
 
  121    xkb_keymap *loadDefaultKeymap();
 
  122    xkb_keymap *loadKeymapFromLocale1();
 
  123    void updateKeymap(xkb_keymap *keymap);
 
  124    void createKeymapFile();
 
  125    void updateModifiers();
 
  126    void updateConsumedModifiers(uint32_t key);
 
  127    xkb_context *m_context;
 
  128    xkb_keymap *m_keymap;
 
  129    QStringList m_layoutList;
 
  140    Qt::KeyboardModifiers m_modifiers;
 
  141    Qt::KeyboardModifiers m_consumedModifiers;
 
  143    quint32 m_currentLayout = 0;
 
  147        xkb_compose_table *table = 
nullptr;
 
  148        xkb_compose_state *state = 
nullptr;
 
  151    KConfigGroup m_configGroup;
 
  152    KSharedConfigPtr m_numLockConfig;
 
  161    QPointer<SeatInterface> m_seat;
 
  162    const bool m_followLocale1;