(DINPUT+WINRAW) Keyboard fixes

This commit is contained in:
Tony Jansson 2020-10-14 04:27:10 +03:00
parent e8a7195a46
commit c2e8752395
4 changed files with 18 additions and 11 deletions

View File

@ -870,9 +870,9 @@ static LRESULT CALLBACK wnd_proc_common(
if (GetKeyState(VK_SHIFT) & 0x80)
mod |= RETROKMOD_SHIFT;
if (GetKeyState(VK_CONTROL) & 0x80)
mod |= RETROKMOD_CTRL;
mod |= RETROKMOD_CTRL;
if (GetKeyState(VK_MENU) & 0x80)
mod |= RETROKMOD_ALT;
mod |= RETROKMOD_ALT;
if (GetKeyState(VK_CAPITAL) & 0x81)
mod |= RETROKMOD_CAPSLOCK;
if (GetKeyState(VK_SCROLL) & 0x81)
@ -948,9 +948,9 @@ static LRESULT CALLBACK wnd_proc_common_internal(HWND hwnd,
if (GetKeyState(VK_SHIFT) & 0x80)
mod |= RETROKMOD_SHIFT;
if (GetKeyState(VK_CONTROL) & 0x80)
mod |= RETROKMOD_CTRL;
mod |= RETROKMOD_CTRL;
if (GetKeyState(VK_MENU) & 0x80)
mod |= RETROKMOD_ALT;
mod |= RETROKMOD_ALT;
if (GetKeyState(VK_CAPITAL) & 0x81)
mod |= RETROKMOD_CAPSLOCK;
if (GetKeyState(VK_SCROLL) & 0x81)
@ -1039,9 +1039,9 @@ static LRESULT CALLBACK wnd_proc_common_dinput_internal(HWND hwnd,
if (GetKeyState(VK_SHIFT) & 0x80)
mod |= RETROKMOD_SHIFT;
if (GetKeyState(VK_CONTROL) & 0x80)
mod |= RETROKMOD_CTRL;
mod |= RETROKMOD_CTRL;
if (GetKeyState(VK_MENU) & 0x80)
mod |= RETROKMOD_ALT;
mod |= RETROKMOD_ALT;
if (GetKeyState(VK_CAPITAL) & 0x81)
mod |= RETROKMOD_CAPSLOCK;
if (GetKeyState(VK_SCROLL) & 0x81)

View File

@ -105,6 +105,7 @@ static BOOL winraw_set_keyboard_input(HWND window)
rid.hwndTarget = window;
rid.usUsagePage = 0x01; /* generic desktop */
rid.usUsage = 0x06; /* keyboard */
rid.dwFlags |= RIDEV_NOHOTKEYS; /* disable win keys while focused */
return RegisterRawInputDevices(&rid, 1, sizeof(RAWINPUTDEVICE));
}

View File

@ -650,12 +650,17 @@ const struct rarch_key_map rarch_key_map_dinput[] = {
{ DIK_DELETE, RETROK_DELETE },
{ DIK_RSHIFT, RETROK_RSHIFT },
{ DIK_LSHIFT, RETROK_LSHIFT },
{ DIK_RCONTROL, RETROK_RCTRL },
{ DIK_LCONTROL, RETROK_LCTRL },
{ DIK_RMENU, RETROK_RALT },
{ DIK_LALT, RETROK_LALT },
{ DIK_LWIN, RETROK_LSUPER },
{ DIK_RWIN, RETROK_RSUPER },
{ DIK_APPS, RETROK_MENU },
{ DIK_END, RETROK_END },
{ DIK_HOME, RETROK_HOME },
{ DIK_NEXT, RETROK_PAGEDOWN },
{ DIK_PRIOR, RETROK_PAGEUP },
{ DIK_LALT, RETROK_LALT },
{ DIK_SPACE, RETROK_SPACE },
{ DIK_ESCAPE, RETROK_ESCAPE },
{ DIK_BACKSPACE, RETROK_BACKSPACE },
@ -698,6 +703,9 @@ const struct rarch_key_map rarch_key_map_dinput[] = {
{ DIK_F10, RETROK_F10 },
{ DIK_F11, RETROK_F11 },
{ DIK_F12, RETROK_F12 },
{ DIK_F13, RETROK_F13 },
{ DIK_F14, RETROK_F14 },
{ DIK_F15, RETROK_F15 },
{ DIK_A, RETROK_a },
{ DIK_B, RETROK_b },
{ DIK_C, RETROK_c },
@ -734,8 +742,6 @@ const struct rarch_key_map rarch_key_map_dinput[] = {
{ DIK_BACKSLASH, RETROK_BACKSLASH },
{ DIK_RBRACKET, RETROK_RIGHTBRACKET },
{ DIK_DECIMAL, RETROK_KP_PERIOD },
{ DIK_RCONTROL, RETROK_RCTRL },
{ DIK_RMENU, RETROK_RALT },
{ DIK_PERIOD, RETROK_PERIOD },
{ DIK_SCROLL, RETROK_SCROLLOCK },
{ DIK_CAPSLOCK, RETROK_CAPSLOCK },

View File

@ -3340,8 +3340,8 @@ struct key_desc key_descriptors[RARCH_MAX_KEYS] =
{RETROK_LALT, "Left Alt"},
{RETROK_RMETA, "Right Meta"},
{RETROK_LMETA, "Left Meta"},
{RETROK_LSUPER, "Right Super"},
{RETROK_RSUPER, "Left Super"},
{RETROK_RSUPER, "Right Super"},
{RETROK_LSUPER, "Left Super"},
{RETROK_MODE, "Mode"},
{RETROK_COMPOSE, "Compose"},