summaryrefslogtreecommitdiff
path: root/src/managers/input/InputManager.hpp
diff options
context:
space:
mode:
authorJS Deck <jsdeckerido@gmail.com>2025-08-04 16:29:39 -0300
committerGitHub <noreply@github.com>2025-08-04 21:29:39 +0200
commit2be309de1df5e4262175fbcc58e6dd8de4e0e6d3 (patch)
tree866629ba5a4b9b45d8720383e4332726444f3566 /src/managers/input/InputManager.hpp
parent6491bb4fb7c7e86d9168a104d5b87ace4e1b978d (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.hpp10
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;
};