diff options
author | Rider Linden <rider@lindenlab.com> | 2015-12-18 14:10:02 -0800 |
---|---|---|
committer | Rider Linden <rider@lindenlab.com> | 2015-12-18 14:10:02 -0800 |
commit | 909e4097433ab8e84a19e2119a9ecf05b3eebe64 (patch) | |
tree | fe11439e42d20f1f2eae81e772c68b0d9fdb2692 /indra/llwindow/llwindowmacosx-objc.h | |
parent | b98469bd7db06973e6058118551e500dc094d3c0 (diff) | |
parent | 6dd80980cfa5be214c143d125cfabd006ea7ebff (diff) |
Merge
Diffstat (limited to 'indra/llwindow/llwindowmacosx-objc.h')
-rwxr-xr-x | indra/llwindow/llwindowmacosx-objc.h | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/indra/llwindow/llwindowmacosx-objc.h b/indra/llwindow/llwindowmacosx-objc.h index e6e8f27f53..dc184b91fb 100755 --- a/indra/llwindow/llwindowmacosx-objc.h +++ b/indra/llwindow/llwindowmacosx-objc.h @@ -46,6 +46,26 @@ typedef void *CursorRef; typedef void *NSWindowRef; typedef void *GLViewRef; + +struct NativeKeyEventData { + enum EventType { + KEYUNKNOWN, + KEYUP, + KEYDOWN, + KEYCHAR + }; + + EventType mKeyEvent; + uint32_t mEventType; + uint32_t mEventModifiers; + uint32_t mEventKeyCode; + uint32_t mEventChars; + uint32_t mEventUnmodChars; + bool mEventRepeat; +}; + +typedef const NativeKeyEventData * NSKeyEventRef; + // These are defined in llappviewermacosx.cpp. bool initViewer(); void handleQuit(); @@ -102,8 +122,8 @@ void setupInputWindow(NSWindowRef window, GLViewRef view); // These are all implemented in llwindowmacosx.cpp. // This is largely for easier interop between Obj-C and C++ (at least in the viewer's case due to the BOOL vs. BOOL conflict) -bool callKeyUp(unsigned short key, unsigned int mask); -bool callKeyDown(unsigned short key, unsigned int mask); +bool callKeyUp(NSKeyEventRef event, unsigned short key, unsigned int mask); +bool callKeyDown(NSKeyEventRef event, unsigned short key, unsigned int mask); void callResetKeys(); bool callUnicodeCallback(wchar_t character, unsigned int mask); void callRightMouseDown(float *pos, unsigned int mask); |