Fix Win32 keyboard input of CTRL/ALT/Shift keys
CTRL/ALT/SHIFT keys alone should be ignored add WM_SYSKEYDOWN event which is called when ALT is pressed
This commit is contained in:
parent
65c761345f
commit
9f82984896
@ -157,10 +157,23 @@ static LRESULT CALLBACK Win32_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LP
|
||||
user_feedback_required = 1;
|
||||
return 0;
|
||||
// WM_MBUTTONDBLCLK
|
||||
case WM_SYSKEYDOWN: // Sent when ALT is pressed
|
||||
case WM_KEYDOWN: // lParam & 0xffff => repeat count. (lParam >> 16) & 0x1ff => scancode
|
||||
Key = wParam|Get_Key_modifiers();
|
||||
user_feedback_required = 1;
|
||||
switch (wParam)
|
||||
{
|
||||
// Ignore isolated shift, alt, control and window keys
|
||||
case VK_SHIFT:
|
||||
case VK_CONTROL:
|
||||
case VK_MENU:
|
||||
case VK_LWIN:
|
||||
case VK_RWIN:
|
||||
break;
|
||||
default:
|
||||
Key = wParam|Get_Key_modifiers();
|
||||
user_feedback_required = 1;
|
||||
}
|
||||
return 0;
|
||||
case WM_SYSKEYUP:
|
||||
case WM_KEYUP:
|
||||
return 0;
|
||||
case WM_CHAR:
|
||||
@ -193,11 +206,7 @@ static LRESULT CALLBACK Win32_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LP
|
||||
}
|
||||
return 0;
|
||||
default:
|
||||
{
|
||||
char msg[256];
|
||||
snprintf(msg, sizeof(msg), "unknown Message : 0x%04x wParam=%08x lParam=%08lx", uMsg, wParam, lParam);
|
||||
Warning(msg);
|
||||
}
|
||||
GFX2_Log(GFX2_INFO, "Win32_WindowProc() unknown Message : 0x%04x wParam=%08x lParam=%08lx\n", uMsg, wParam, lParam);
|
||||
}
|
||||
return DefWindowProc(hwnd, uMsg, wParam, lParam);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user