From ce399937f0f9cd0a53e5be0219b549da8a9122ca Mon Sep 17 00:00:00 2001 From: crs Date: Mon, 17 May 2004 21:55:38 +0000 Subject: [PATCH] Fixed ctrl+alt+del emulation on win32 server. It was mapping VK_DELETE to the keypad delete key. This key is not interpreted on the client as causing ctrl+alt+del. --- lib/platform/CMSWindowsKeyState.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/platform/CMSWindowsKeyState.cpp b/lib/platform/CMSWindowsKeyState.cpp index e25e9c61..1100d7aa 100644 --- a/lib/platform/CMSWindowsKeyState.cpp +++ b/lib/platform/CMSWindowsKeyState.cpp @@ -1078,6 +1078,13 @@ CMSWindowsKeyState::doUpdateKeys() m_scanCodeToVirtKey[button2] = i; m_virtKeyToScanCode[i] = button; + // if the virtual key is VK_DELETE then use the extended + // scan code. this is important for simulating ctrl+alt+del + // which only works with the extended key. + if (i == VK_DELETE) { + m_virtKeyToScanCode[i] |= 0x100u; + } + // save the key state if ((keyState[i] & 0x80) != 0) { setKeyDown(button, true);