Skip to content

Commit cfd7474

Browse files
committed
Fix incorrect GetAsyncKeyState usage for modifier key detection
1 parent 99547e8 commit cfd7474

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

src/WinWebDiffLib/WebWindow.hpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1721,15 +1721,15 @@ class CWebWindow
17211721
if (kind == COREWEBVIEW2_KEY_EVENT_KIND_KEY_DOWN || kind == COREWEBVIEW2_KEY_EVENT_KIND_SYSTEM_KEY_DOWN)
17221722
{
17231723
bool handled = false;
1724-
short vkmenu = GetAsyncKeyState(VK_MENU);
1725-
short vkctrl = GetAsyncKeyState(VK_CONTROL);
1724+
bool vkmenu = GetAsyncKeyState(VK_MENU) < 0;
1725+
bool vkctrl = GetAsyncKeyState(VK_CONTROL) < 0;
17261726
if (virtualKey == VK_F6 ||
1727-
virtualKey == VK_ESCAPE ||
1728-
(vkctrl && virtualKey == 'O') ||
1729-
(vkctrl && virtualKey == 'J') ||
1730-
(vkctrl && virtualKey == 'W') ||
1731-
(vkmenu && virtualKey == VK_UP) ||
1732-
(vkmenu && virtualKey == VK_DOWN))
1727+
virtualKey == VK_ESCAPE ||
1728+
(vkctrl && virtualKey == 'O') ||
1729+
(vkctrl && virtualKey == 'J') ||
1730+
(vkctrl && virtualKey == 'W') ||
1731+
(vkmenu && virtualKey == VK_UP) ||
1732+
(vkmenu && virtualKey == VK_DOWN))
17331733
{
17341734
PostMessage(GetParent(m_hWnd), WM_KEYDOWN, virtualKey, lParam);
17351735
handled = true;
@@ -2060,8 +2060,8 @@ class CWebWindow
20602060
}
20612061
else if (iMsg == WM_KEYDOWN || iMsg == WM_SYSKEYDOWN)
20622062
{
2063-
short vkctrl = GetAsyncKeyState(VK_CONTROL);
2064-
short vkmenu = GetAsyncKeyState(VK_MENU);
2063+
bool vkctrl = GetAsyncKeyState(VK_CONTROL) < 0;
2064+
bool vkmenu = GetAsyncKeyState(VK_MENU) < 0;
20652065
if ((vkctrl && (wParam == 'E' || wParam == 'K')) || (vkmenu && wParam == 'D'))
20662066
{
20672067
SendMessage(m_hEdit, EM_SETSEL, 0, -1);

0 commit comments

Comments
 (0)