virtualkeyboard: Add options to skip releasing pressed keys on close and to skip sharing key states (#11214)
This commit is contained in:
parent
6491bb4fb7
commit
2be309de1d
23 changed files with 416 additions and 137 deletions
|
|
@ -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;
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue