Changeset View
Changeset View
Standalone View
Standalone View
keyboard_input.h
Show All 32 Lines | |||||
33 | struct xkb_context; | 33 | struct xkb_context; | ||
34 | struct xkb_keymap; | 34 | struct xkb_keymap; | ||
35 | struct xkb_state; | 35 | struct xkb_state; | ||
36 | struct xkb_compose_table; | 36 | struct xkb_compose_table; | ||
37 | struct xkb_compose_state; | 37 | struct xkb_compose_state; | ||
38 | typedef uint32_t xkb_mod_index_t; | 38 | typedef uint32_t xkb_mod_index_t; | ||
39 | typedef uint32_t xkb_led_index_t; | 39 | typedef uint32_t xkb_led_index_t; | ||
40 | typedef uint32_t xkb_keysym_t; | 40 | typedef uint32_t xkb_keysym_t; | ||
41 | typedef uint32_t xkb_layout_index_t; | ||||
41 | 42 | | |||
42 | namespace KWin | 43 | namespace KWin | ||
43 | { | 44 | { | ||
44 | 45 | | |||
45 | class InputRedirection; | 46 | class InputRedirection; | ||
46 | class KeyboardLayout; | 47 | class KeyboardLayout; | ||
47 | class ModifiersChangedSpy; | 48 | class ModifiersChangedSpy; | ||
48 | class Toplevel; | 49 | class Toplevel; | ||
Show All 19 Lines | 58 | public: | |||
68 | } | 69 | } | ||
69 | QString toString(xkb_keysym_t keysym); | 70 | QString toString(xkb_keysym_t keysym); | ||
70 | Qt::Key toQtKey(xkb_keysym_t keysym) const; | 71 | Qt::Key toQtKey(xkb_keysym_t keysym) const; | ||
71 | Qt::KeyboardModifiers modifiers() const; | 72 | Qt::KeyboardModifiers modifiers() const; | ||
72 | Qt::KeyboardModifiers modifiersRelevantForGlobalShortcuts() const; | 73 | Qt::KeyboardModifiers modifiersRelevantForGlobalShortcuts() const; | ||
73 | bool shouldKeyRepeat(quint32 key) const; | 74 | bool shouldKeyRepeat(quint32 key) const; | ||
74 | 75 | | |||
75 | void switchToNextLayout(); | 76 | void switchToNextLayout(); | ||
77 | void switchToPreviousLayout(); | ||||
78 | void switchToLayout(xkb_layout_index_t layout); | ||||
76 | 79 | | |||
77 | enum class LED { | 80 | enum class LED { | ||
78 | NumLock = 1 << 0, | 81 | NumLock = 1 << 0, | ||
79 | CapsLock = 1 << 1, | 82 | CapsLock = 1 << 1, | ||
80 | ScrollLock = 1 << 2 | 83 | ScrollLock = 1 << 2 | ||
81 | }; | 84 | }; | ||
82 | Q_DECLARE_FLAGS(LEDs, LED) | 85 | Q_DECLARE_FLAGS(LEDs, LED) | ||
83 | LEDs leds() const { | 86 | LEDs leds() const { | ||
84 | return m_leds; | 87 | return m_leds; | ||
85 | } | 88 | } | ||
86 | 89 | | |||
87 | xkb_keymap *keymap() const { | 90 | xkb_keymap *keymap() const { | ||
88 | return m_keymap; | 91 | return m_keymap; | ||
89 | } | 92 | } | ||
90 | 93 | | |||
91 | xkb_state *state() const { | 94 | xkb_state *state() const { | ||
92 | return m_state; | 95 | return m_state; | ||
93 | } | 96 | } | ||
94 | 97 | | |||
95 | quint32 currentLayout() const { | 98 | quint32 currentLayout() const { | ||
96 | return m_currentLayout; | 99 | return m_currentLayout; | ||
97 | } | 100 | } | ||
98 | QString layoutName() const; | 101 | QString layoutName() const; | ||
102 | QMap<xkb_layout_index_t, QString> layoutNames() const; | ||||
99 | 103 | | |||
100 | private: | 104 | private: | ||
101 | xkb_keymap *loadKeymapFromConfig(); | 105 | xkb_keymap *loadKeymapFromConfig(); | ||
102 | xkb_keymap *loadDefaultKeymap(); | 106 | xkb_keymap *loadDefaultKeymap(); | ||
103 | void updateKeymap(xkb_keymap *keymap); | 107 | void updateKeymap(xkb_keymap *keymap); | ||
104 | void createKeymapFile(); | 108 | void createKeymapFile(); | ||
105 | void updateModifiers(); | 109 | void updateModifiers(); | ||
106 | void updateConsumedModifiers(uint32_t key); | 110 | void updateConsumedModifiers(uint32_t key); | ||
111 | QString layoutName(xkb_layout_index_t layout) const; | ||||
107 | InputRedirection *m_input; | 112 | InputRedirection *m_input; | ||
108 | xkb_context *m_context; | 113 | xkb_context *m_context; | ||
109 | xkb_keymap *m_keymap; | 114 | xkb_keymap *m_keymap; | ||
110 | xkb_state *m_state; | 115 | xkb_state *m_state; | ||
111 | xkb_mod_index_t m_shiftModifier; | 116 | xkb_mod_index_t m_shiftModifier; | ||
112 | xkb_mod_index_t m_capsModifier; | 117 | xkb_mod_index_t m_capsModifier; | ||
113 | xkb_mod_index_t m_controlModifier; | 118 | xkb_mod_index_t m_controlModifier; | ||
114 | xkb_mod_index_t m_altModifier; | 119 | xkb_mod_index_t m_altModifier; | ||
▲ Show 20 Lines • Show All 83 Lines • Show Last 20 Lines |