(keyboard_event_win32.cpp) More simplifications

This commit is contained in:
twinaphex 2015-11-17 07:50:36 +01:00
parent b5573f0463
commit 4e6cb53920

View File

@ -25,7 +25,8 @@ LRESULT win32_handle_keyboard_event(HWND hwnd, UINT message,
{ {
unsigned scancode = (lparam >> 16) & 0xff; unsigned scancode = (lparam >> 16) & 0xff;
unsigned keycode = input_keymaps_translate_keysym_to_rk(scancode); unsigned keycode = input_keymaps_translate_keysym_to_rk(scancode);
uint16_t mod = 0; uint16_t mod = 0;
bool keydown = true;
if (GetKeyState(VK_SHIFT) & 0x80) if (GetKeyState(VK_SHIFT) & 0x80)
mod |= RETROKMOD_SHIFT; mod |= RETROKMOD_SHIFT;
@ -46,7 +47,7 @@ LRESULT win32_handle_keyboard_event(HWND hwnd, UINT message,
* WM_CHAR and WM_KEYDOWN properly. * WM_CHAR and WM_KEYDOWN properly.
*/ */
case WM_CHAR: case WM_CHAR:
input_keyboard_event(true, RETROK_UNKNOWN, wparam, mod, input_keyboard_event(keydown, RETROK_UNKNOWN, wparam, mod,
RETRO_DEVICE_KEYBOARD); RETRO_DEVICE_KEYBOARD);
return TRUE; return TRUE;
@ -54,32 +55,29 @@ LRESULT win32_handle_keyboard_event(HWND hwnd, UINT message,
case WM_SYSKEYUP: case WM_SYSKEYUP:
case WM_KEYDOWN: case WM_KEYDOWN:
case WM_SYSKEYDOWN: case WM_SYSKEYDOWN:
{ /* Key released? */
bool keydown = false; if (message == WM_KEYUP || message == WM_SYSKEYUP)
switch (message) keydown = false;
{
case WM_KEYDOWN:
case WM_SYSKEYDOWN:
keydown = true;
break;
}
/* DirectInput uses scancodes directly. */
input_keyboard_event(keydown, keycode, 0, mod,
RETRO_DEVICE_KEYBOARD);
/* DirectInput uses scancodes directly. */
input_keyboard_event(keydown, keycode, 0, mod,
RETRO_DEVICE_KEYBOARD);
if (message == WM_SYSKEYDOWN)
{
switch (wparam) switch (wparam)
{ {
case VK_F10: case VK_F10:
case VK_MENU: case VK_MENU:
case VK_RSHIFT: case VK_RSHIFT:
if (message == WM_SYSKEYDOWN) return 0;
return 0; default:
break; break;
} }
if (message != WM_SYSKEYDOWN)
return 0;
} }
else
return 0;
break; break;
} }