diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-06-02 20:31:47 +0200 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-06-02 20:31:47 +0200 |
| commit | 7b568d7ad8989718a3f1fa9e23d366154ff1962b (patch) | |
| tree | c1fb057d2d3906c6fd831a90670ebec3163ddd31 /src/managers/InputManager.cpp | |
| parent | a2f718059b18c0e73032bce45b1bd7558c2f75d6 (diff) | |
configure keyboards one by one
Diffstat (limited to 'src/managers/InputManager.cpp')
| -rw-r--r-- | src/managers/InputManager.cpp | 27 |
1 files changed, 17 insertions, 10 deletions
diff --git a/src/managers/InputManager.cpp b/src/managers/InputManager.cpp index d206cd7d..0017a4f0 100644 --- a/src/managers/InputManager.cpp +++ b/src/managers/InputManager.cpp @@ -285,23 +285,30 @@ void CInputManager::setKeyboardLayout() { return; } + const auto PLASTKEEB = wlr_seat_get_keyboard(g_pCompositor->m_sSeat.seat); + // TODO: configure devices one by one - for (auto& k : m_lKeyboards) + for (auto& k : m_lKeyboards) { wlr_keyboard_set_keymap(k.keyboard->keyboard, KEYMAP); - wlr_keyboard_modifiers wlrMods = {0}; + wlr_seat_set_keyboard(g_pCompositor->m_sSeat.seat, k.keyboard->keyboard); + + wlr_keyboard_modifiers wlrMods = {0}; - if (g_pConfigManager->getInt("input:numlock_by_default") == 1) { - // lock numlock - const auto IDX = xkb_map_mod_get_index(KEYMAP, XKB_MOD_NAME_NUM); + if (g_pConfigManager->getInt("input:numlock_by_default") == 1) { + // lock numlock + const auto IDX = xkb_map_mod_get_index(KEYMAP, XKB_MOD_NAME_NUM); - if (IDX != XKB_MOD_INVALID) - wlrMods.locked |= (uint32_t)1 << IDX; - } + if (IDX != XKB_MOD_INVALID) + wlrMods.locked |= (uint32_t)1 << IDX; + } - if (wlrMods.locked != 0) { - wlr_seat_keyboard_notify_modifiers(g_pCompositor->m_sSeat.seat, &wlrMods); + if (wlrMods.locked != 0) { + wlr_seat_keyboard_notify_modifiers(g_pCompositor->m_sSeat.seat, &wlrMods); + } } + + wlr_seat_set_keyboard(g_pCompositor->m_sSeat.seat, PLASTKEEB); xkb_keymap_unref(KEYMAP); xkb_context_unref(CONTEXT); |
