From 2be309de1df5e4262175fbcc58e6dd8de4e0e6d3 Mon Sep 17 00:00:00 2001 From: JS Deck Date: Mon, 4 Aug 2025 16:29:39 -0300 Subject: virtualkeyboard: Add options to skip releasing pressed keys on close and to skip sharing key states (#11214) --- src/managers/input/InputManager.hpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/managers/input/InputManager.hpp') diff --git a/src/managers/input/InputManager.hpp b/src/managers/input/InputManager.hpp index 1696dd0a..73a0dc48 100644 --- a/src/managers/input/InputManager.hpp +++ b/src/managers/input/InputManager.hpp @@ -94,6 +94,7 @@ class CInputManager { void onKeyboardKey(const IKeyboard::SKeyEvent&, SP); void onKeyboardMod(SP); + void newKeyboard(SP); void newKeyboard(SP); void newVirtualKeyboard(SP); void newMouse(SP); @@ -185,7 +186,8 @@ class CInputManager { CInputMethodRelay m_relay; // for shared mods - uint32_t accumulateModsFromAllKBs(); + const std::vector& getKeysFromAllKBs(); + uint32_t getModsFromAllKBs(); // for virtual keyboards: whether we should respect them as normal ones bool shouldIgnoreVirtualKeyboard(SP); @@ -194,7 +196,6 @@ class CInputManager { void setCursorImageUntilUnset(std::string); void unsetCursorImage(); - std::string deviceNameToInternalString(std::string); std::string getNameForNewDevice(std::string); void releaseAllMouseButtons(); @@ -305,6 +306,11 @@ class CInputManager { uint32_t accumulatedScroll = 0; } m_scrollWheelState; + bool shareKeyFromAllKBs(uint32_t key, bool pressed); + uint32_t shareModsFromAllKBs(uint32_t depressed); + std::vector m_pressed; + uint32_t m_lastMods = 0; + friend class CKeybindManager; friend class CWLSurface; }; -- cgit v1.2.3