diff options
author | Dave SIMmONs <simon@lindenlab.com> | 2011-03-09 14:33:11 -0800 |
---|---|---|
committer | Dave SIMmONs <simon@lindenlab.com> | 2011-03-09 14:33:11 -0800 |
commit | 543a63e51a99583c670deb8eb28adc9237ed90d3 (patch) | |
tree | 71af9cca512c52beb495948902e5e88c9980313b /indra/llwindow | |
parent | bdd994d186369afdfd263d4c40689b165b75bee6 (diff) | |
parent | 58b393bb1eb2ef15597803741fded4942f3dc647 (diff) |
Merge latest
Diffstat (limited to 'indra/llwindow')
-rw-r--r-- | indra/llwindow/llkeyboardheadless.cpp | 25 | ||||
-rw-r--r-- | indra/llwindow/llwindowlistener.cpp | 2 |
2 files changed, 25 insertions, 2 deletions
diff --git a/indra/llwindow/llkeyboardheadless.cpp b/indra/llwindow/llkeyboardheadless.cpp index 4dfaaed4e1..c87617c9ff 100644 --- a/indra/llwindow/llkeyboardheadless.cpp +++ b/indra/llwindow/llkeyboardheadless.cpp @@ -46,5 +46,28 @@ MASK LLKeyboardHeadless::currentMask(BOOL for_mouse_event) { return MASK_NONE; } void LLKeyboardHeadless::scanKeyboard() -{ } +{ + for (S32 key = 0; key < KEY_COUNT; key++) + { + // Generate callback if any event has occurred on this key this frame. + // Can't just test mKeyLevel, because this could be a slow frame and + // key might have gone down then up. JC + if (mKeyLevel[key] || mKeyDown[key] || mKeyUp[key]) + { + mCurScanKey = key; + mCallbacks->handleScanKey(key, mKeyDown[key], mKeyUp[key], mKeyLevel[key]); + } + } + + // Reset edges for next frame + for (S32 key = 0; key < KEY_COUNT; key++) + { + mKeyUp[key] = FALSE; + mKeyDown[key] = FALSE; + if (mKeyLevel[key]) + { + mKeyLevelFrameCount[key]++; + } + } +} diff --git a/indra/llwindow/llwindowlistener.cpp b/indra/llwindow/llwindowlistener.cpp index 22cc12acee..59f4c89e34 100644 --- a/indra/llwindow/llwindowlistener.cpp +++ b/indra/llwindow/llwindowlistener.cpp @@ -100,7 +100,7 @@ void LLWindowListener::keyUp(LLSD const & evt) } // *TODO - figure out how to handle the mask - mKeyboard->handleTranslatedKeyDown(keycode, 0); + mKeyboard->handleTranslatedKeyUp(keycode, 0); } void LLWindowListener::mouseDown(LLSD const & evt) |