Fixed modifier handling on OSX client. Had hardcoded one set of

modifiers for all keys for testing purposes and forgotton to fix
that.  Now choosing required modifiers per key.  This fixes
shift+arrow keys suppressing the shift key and, i think, the
option key not working.
This commit is contained in:
crs
2004-11-09 20:05:33 +00:00
parent fb266a00fd
commit 57e9851894
2 changed files with 44 additions and 28 deletions

View File

@@ -69,7 +69,13 @@ protected:
bool isAutoRepeat) const;
private:
typedef std::vector<std::pair<KeyButton, KeyModifierMask> > CKeySequence;
struct CKeyEventInfo {
public:
KeyButton m_button;
KeyModifierMask m_requiredMask;
KeyModifierMask m_requiredState;
};
typedef std::vector<CKeyEventInfo> CKeySequence;
typedef std::map<KeyID, CKeySequence> CKeyIDMap;
typedef std::map<UInt32, KeyID> CVirtualKeyMap;