diff options
author | Euclid Linden <euclid@lindenlab.com> | 2021-11-16 18:16:24 +0000 |
---|---|---|
committer | Euclid Linden <euclid@lindenlab.com> | 2021-11-16 18:16:24 +0000 |
commit | b1964a47005d7bbd99258af7f4eaf4b12baeb423 (patch) | |
tree | 8e27a7cb161f6e24439a772c5bcfdd4a3ee6f83a /indra/newview/llviewerinput.h | |
parent | e914f3e4a11ff86b3e05089c9b3a6677ec623c9c (diff) | |
parent | 17f71efce08ed4e677b497f4734d6f9f1fef56a3 (diff) |
Merged in DV528-merge-6.5.1 (pull request #774)
DRTVWR-528 merge up to 6.5.1
Diffstat (limited to 'indra/newview/llviewerinput.h')
-rw-r--r-- | indra/newview/llviewerinput.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/indra/newview/llviewerinput.h b/indra/newview/llviewerinput.h index 281a209896..ca70ac76bf 100644 --- a/indra/newview/llviewerinput.h +++ b/indra/newview/llviewerinput.h @@ -109,6 +109,13 @@ public: BOOL handleKey(KEY key, MASK mask, BOOL repeated); BOOL handleKeyUp(KEY key, MASK mask); + // Handle 'global' keybindings that do not consume event, + // yet need to be processed early + // Example: we want voice to toggle even if some floater is focused + bool handleGlobalBindsKeyDown(KEY key, MASK mask); + bool handleGlobalBindsKeyUp(KEY key, MASK mask); + bool handleGlobalBindsMouse(EMouseClickType clicktype, MASK mask, bool down); + S32 loadBindingsXML(const std::string& filename); // returns number bound, 0 on error EKeyboardMode getMode() const; @@ -149,7 +156,8 @@ private: S32 binding_count, EMouseClickType mouse, MASK mask, - EMouseState state) const; + EMouseState state, + bool ignore_additional_masks) const; S32 loadBindingMode(const LLViewerInput::KeyMode& keymode, S32 mode); BOOL bindKey(const S32 mode, const KEY key, const MASK mask, const std::string& function_name); @@ -164,6 +172,10 @@ private: std::vector<LLKeyboardBinding> mKeyBindings[MODE_COUNT]; std::vector<LLMouseBinding> mMouseBindings[MODE_COUNT]; + // keybindings that do not consume event and are handled earlier, before floaters + std::vector<LLKeyboardBinding> mGlobalKeyBindings[MODE_COUNT]; + std::vector<LLMouseBinding> mGlobalMouseBindings[MODE_COUNT]; + typedef std::map<U32, U32> key_remap_t; key_remap_t mRemapKeys[MODE_COUNT]; std::set<KEY> mKeysSkippedByUI; |