diff options
| author | JS Deck <jsdeckerido@gmail.com> | 2025-08-04 16:29:39 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-04 21:29:39 +0200 |
| commit | 2be309de1df5e4262175fbcc58e6dd8de4e0e6d3 (patch) | |
| tree | 866629ba5a4b9b45d8720383e4332726444f3566 /src/managers/input/InputManager.hpp | |
| parent | 6491bb4fb7c7e86d9168a104d5b87ace4e1b978d (diff) | |
virtualkeyboard: Add options to skip releasing pressed keys on close and to skip sharing key states (#11214)
Diffstat (limited to 'src/managers/input/InputManager.hpp')
| -rw-r--r-- | src/managers/input/InputManager.hpp | 10 |
1 files changed, 8 insertions, 2 deletions
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<IKeyboard>); void onKeyboardMod(SP<IKeyboard>); + void newKeyboard(SP<IKeyboard>); void newKeyboard(SP<Aquamarine::IKeyboard>); void newVirtualKeyboard(SP<CVirtualKeyboardV1Resource>); void newMouse(SP<Aquamarine::IPointer>); @@ -185,7 +186,8 @@ class CInputManager { CInputMethodRelay m_relay; // for shared mods - uint32_t accumulateModsFromAllKBs(); + const std::vector<uint32_t>& getKeysFromAllKBs(); + uint32_t getModsFromAllKBs(); // for virtual keyboards: whether we should respect them as normal ones bool shouldIgnoreVirtualKeyboard(SP<IKeyboard>); @@ -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<uint32_t> m_pressed; + uint32_t m_lastMods = 0; + friend class CKeybindManager; friend class CWLSurface; }; |
