From 5971576a50986646d7af301d8221e049f39ddb0b Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Fri, 18 Mar 2022 23:25:26 +0100 Subject: keyboard fix --- src/managers/InputManager.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'src/managers/InputManager.cpp') diff --git a/src/managers/InputManager.cpp b/src/managers/InputManager.cpp index e953e705..c856f031 100644 --- a/src/managers/InputManager.cpp +++ b/src/managers/InputManager.cpp @@ -52,9 +52,9 @@ Vector2D CInputManager::getMouseCoordsInternal() { } void CInputManager::newKeyboard(wlr_input_device* keyboard) { - m_dKeyboards.push_back(SKeyboard()); + m_lKeyboards.push_back(SKeyboard()); - const auto PNEWKEYBOARD = &m_dKeyboards.back(); + const auto PNEWKEYBOARD = &m_lKeyboards.back(); PNEWKEYBOARD->keyboard = keyboard; @@ -89,6 +89,18 @@ void CInputManager::newMouse(wlr_input_device* mouse) { wlr_cursor_attach_input_device(g_pCompositor->m_sWLRCursor, mouse); } +void CInputManager::destroyKeyboard(SKeyboard* pKeyboard) { + wl_list_remove(&pKeyboard->listen_keyboardMod.link); + wl_list_remove(&pKeyboard->listen_keyboardKey.link); + wl_list_remove(&pKeyboard->listen_keyboardDestroy.link); + + m_lKeyboards.remove(*pKeyboard); +} + +void CInputManager::destroyMouse(wlr_input_device* mouse) { + // +} + void CInputManager::onKeyboardKey(wlr_event_keyboard_key* e, SKeyboard* pKeyboard) { const auto KEYCODE = e->keycode + 8; // Because to xkbcommon it's +8 from libinput -- cgit v1.2.3