diff options
| author | fuyu147 <fuyu.147@hotmail.com> | 2025-12-19 11:14:22 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-12-19 16:14:22 +0000 |
| commit | 315806f59816aacdbf7c66aaeaa0e49d3a33a66d (patch) | |
| tree | 3969eaf1ac96bd2cd3948065f470c19f8cceacb5 /src/render/Renderer.cpp | |
| parent | 6175ecd4c4ba817c4620f66a75e1e11da7c7a8ca (diff) | |
tablet: added option to hide cursor (#12525)
Diffstat (limited to 'src/render/Renderer.cpp')
| -rw-r--r-- | src/render/Renderer.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index 40b6cc89..1ee65a0f 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -121,12 +121,14 @@ CHyprRenderer::CHyprRenderer() { }); static auto P2 = g_pHookSystem->hookDynamic("mouseMove", [&](void* self, SCallbackInfo& info, std::any param) { - if (!m_cursorHiddenConditions.hiddenOnKeyboard && m_cursorHiddenConditions.hiddenOnTouch == g_pInputManager->m_lastInputTouch && !m_cursorHiddenConditions.hiddenOnTimeout) + if (!m_cursorHiddenConditions.hiddenOnKeyboard && m_cursorHiddenConditions.hiddenOnTouch == g_pInputManager->m_lastInputTouch && + m_cursorHiddenConditions.hiddenOnTablet == g_pInputManager->m_lastInputTablet && !m_cursorHiddenConditions.hiddenOnTimeout) return; m_cursorHiddenConditions.hiddenOnKeyboard = false; m_cursorHiddenConditions.hiddenOnTimeout = false; m_cursorHiddenConditions.hiddenOnTouch = g_pInputManager->m_lastInputTouch; + m_cursorHiddenConditions.hiddenOnTablet = g_pInputManager->m_lastInputTablet; ensureCursorRenderingMode(); }); @@ -2111,19 +2113,23 @@ void CHyprRenderer::ensureCursorRenderingMode() { static auto PINVISIBLE = CConfigValue<Hyprlang::INT>("cursor:invisible"); static auto PCURSORTIMEOUT = CConfigValue<Hyprlang::FLOAT>("cursor:inactive_timeout"); static auto PHIDEONTOUCH = CConfigValue<Hyprlang::INT>("cursor:hide_on_touch"); + static auto PHIDEONTABLET = CConfigValue<Hyprlang::INT>("cursor:hide_on_tablet"); static auto PHIDEONKEY = CConfigValue<Hyprlang::INT>("cursor:hide_on_key_press"); if (*PCURSORTIMEOUT <= 0) m_cursorHiddenConditions.hiddenOnTimeout = false; if (*PHIDEONTOUCH == 0) m_cursorHiddenConditions.hiddenOnTouch = false; + if (*PHIDEONTABLET == 0) + m_cursorHiddenConditions.hiddenOnTablet = false; if (*PHIDEONKEY == 0) m_cursorHiddenConditions.hiddenOnKeyboard = false; if (*PCURSORTIMEOUT > 0) m_cursorHiddenConditions.hiddenOnTimeout = *PCURSORTIMEOUT < g_pInputManager->m_lastCursorMovement.getSeconds(); - m_cursorHiddenByCondition = m_cursorHiddenConditions.hiddenOnTimeout || m_cursorHiddenConditions.hiddenOnTouch || m_cursorHiddenConditions.hiddenOnKeyboard; + m_cursorHiddenByCondition = + m_cursorHiddenConditions.hiddenOnTimeout || m_cursorHiddenConditions.hiddenOnTouch || m_cursorHiddenConditions.hiddenOnTablet || m_cursorHiddenConditions.hiddenOnKeyboard; const bool HIDE = m_cursorHiddenByCondition || (*PINVISIBLE != 0); |
