summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Kleshchev <andreykproductengine@lindenlab.com>2023-02-09 23:12:06 +0200
committerAndrey Kleshchev <andreykproductengine@lindenlab.com>2023-02-09 23:49:23 +0200
commitf1d247809b89d25e480f0e42f098c289da2379bc (patch)
tree7ad3db160fc8b49e6c122633f7cc1fb76e2d12c6
parent6c54c9f8a9e11ba3c00c0ac38c4bb8d3610ccc58 (diff)
SL-19190 Laggy behavior when turning
GetAsyncKeyState is luggy in some conditions and no longer needed due to fix for SL-16845 - all 'up' keys get reset when leaving window
-rw-r--r--indra/llwindow/llkeyboardwin32.cpp24
1 files changed, 1 insertions, 23 deletions
diff --git a/indra/llwindow/llkeyboardwin32.cpp b/indra/llwindow/llkeyboardwin32.cpp
index 2123ed3939..4c207faa81 100644
--- a/indra/llwindow/llkeyboardwin32.cpp
+++ b/indra/llwindow/llkeyboardwin32.cpp
@@ -247,31 +247,9 @@ void LLKeyboardWin32::scanKeyboard()
{
S32 key;
MSG msg;
- BOOL pending_key_events = PeekMessage(&msg, NULL, WM_KEYFIRST, WM_KEYLAST, PM_NOREMOVE | PM_NOYIELD);
+ PeekMessage(&msg, NULL, WM_KEYFIRST, WM_KEYLAST, PM_NOREMOVE | PM_NOYIELD);
for (key = 0; key < KEY_COUNT; key++)
{
- // On Windows, verify key down state. JC
- // RN: only do this if we don't have further key events in the queue
- // as otherwise there might be key repeat events still waiting for this key we are now dumping
- if (!pending_key_events && mKeyLevel[key])
- {
- // *TODO: I KNOW there must be a better way of
- // interrogating the key state than this, using async key
- // state can cause ALL kinds of bugs - Doug
- if ((key < KEY_BUTTON0) && ((key < '0') || (key > '9')))
- {
- // ...under windows make sure the key actually still is down.
- // ...translate back to windows key
- U16 virtual_key = inverseTranslateExtendedKey(key);
- // keydown in highest bit
- if (!pending_key_events && !(GetAsyncKeyState(virtual_key) & 0x8000))
- {
- //LL_INFOS() << "Key up event missed, resetting" << LL_ENDL;
- mKeyLevel[key] = FALSE;
- }
- }
- }
-
// 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