diff --git a/src/input.cpp b/src/input.cpp index f12ff28e..37591514 100644 --- a/src/input.cpp +++ b/src/input.cpp @@ -1228,6 +1228,10 @@ namespace input { } for (auto &kp : key_press) { + if (!kp.second) { + // already released + continue; + } platf::keyboard(platf_input, vk_from_kpid(kp.first) & 0x00FF, true, flags_from_kpid(kp.first)); key_press[kp.first] = false; } diff --git a/src/platform/windows/input.cpp b/src/platform/windows/input.cpp index fc55b71b..5d89fead 100644 --- a/src/platform/windows/input.cpp +++ b/src/platform/windows/input.cpp @@ -516,6 +516,7 @@ namespace platf { case VK_LEFT: case VK_RIGHT: case VK_DIVIDE: + case VK_APPS: ki.dwFlags |= KEYEVENTF_EXTENDEDKEY; break; default: