diff options
| author | vaxerski <vaxry@vaxry.net> | 2022-10-27 12:58:10 +0100 |
|---|---|---|
| committer | vaxerski <vaxry@vaxry.net> | 2022-10-27 12:58:10 +0100 |
| commit | 28c81fc71ec2593cdac6cbf945369b201c1e3e71 (patch) | |
| tree | 04c8049e57abe77167edc98b17e297f81b6fd932 /src/managers/input/InputManager.cpp | |
| parent | d5a0610ea26c7086301db1c397a4d5b48ad469b4 (diff) | |
add disabling pointer devices
Diffstat (limited to 'src/managers/input/InputManager.cpp')
| -rw-r--r-- | src/managers/input/InputManager.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/managers/input/InputManager.cpp b/src/managers/input/InputManager.cpp index d76810e3..27d16899 100644 --- a/src/managers/input/InputManager.cpp +++ b/src/managers/input/InputManager.cpp @@ -683,6 +683,8 @@ void CInputManager::newMouse(wlr_input_device* mouse, bool virt) { wlr_cursor_attach_input_device(g_pCompositor->m_sWLRCursor, mouse); + PMOUSE->connected = true; + g_pCompositor->m_sSeat.mouse = PMOUSE; m_tmrLastCursorMovement.reset(); @@ -699,6 +701,17 @@ void CInputManager::setPointerConfigs() { const auto HASCONFIG = g_pConfigManager->deviceConfigExists(devname); + if (HASCONFIG) { + const auto ENABLED = g_pConfigManager->getDeviceInt(devname, "enabled"); + if (ENABLED && !m.connected) { + wlr_cursor_attach_input_device(g_pCompositor->m_sWLRCursor, m.mouse); + m.connected = true; + } else if (!ENABLED && m.connected) { + wlr_cursor_detach_input_device(g_pCompositor->m_sWLRCursor, m.mouse); + m.connected = false; + } + } + if (wlr_input_device_is_libinput(m.mouse)) { const auto LIBINPUTDEV = (libinput_device*)wlr_libinput_get_device_handle(m.mouse); |
