summaryrefslogtreecommitdiff
path: root/src/managers/input/InputManager.cpp
diff options
context:
space:
mode:
authorvaxerski <vaxry@vaxry.net>2022-10-27 12:58:10 +0100
committervaxerski <vaxry@vaxry.net>2022-10-27 12:58:10 +0100
commit28c81fc71ec2593cdac6cbf945369b201c1e3e71 (patch)
tree04c8049e57abe77167edc98b17e297f81b6fd932 /src/managers/input/InputManager.cpp
parentd5a0610ea26c7086301db1c397a4d5b48ad469b4 (diff)
add disabling pointer devices
Diffstat (limited to 'src/managers/input/InputManager.cpp')
-rw-r--r--src/managers/input/InputManager.cpp13
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);