diff options
author | Pierre Ossman <ossman@cendio.se> | 2017-11-13 16:17:28 +0100 |
---|---|---|
committer | Pierre Ossman <ossman@cendio.se> | 2017-11-13 16:17:28 +0100 |
commit | 1ce3b3797a8f5a1cf7b28490e66ef500ed8b4307 (patch) | |
tree | bf863f3621a42a2e72c3567774c60228a85e7c71 /win/rfb_win32 | |
parent | cc945566b4e384bbbe3b0198320bcb50fb6db40a (diff) | |
download | tigervnc-1ce3b3797a8f5a1cf7b28490e66ef500ed8b4307.tar.gz tigervnc-1ce3b3797a8f5a1cf7b28490e66ef500ed8b4307.zip |
Handle Ctrl+Alt+Delete in raw keyboard mode
Ctrl+Alt+Delete requires special handling to trigger on Windows.
Make sure this works in raw keyboard mode as well.
Diffstat (limited to 'win/rfb_win32')
-rw-r--r-- | win/rfb_win32/SInput.cxx | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/win/rfb_win32/SInput.cxx b/win/rfb_win32/SInput.cxx index e6da9b84..d41e14bc 100644 --- a/win/rfb_win32/SInput.cxx +++ b/win/rfb_win32/SInput.cxx @@ -377,6 +377,14 @@ void win32::SKeyboard::keyEvent(rdr::U32 keysym, rdr::U32 keycode, bool down) if ((keycode == 0x54) && !(GetAsyncKeyState(VK_MENU) & 0x8000)) keycode = 0xb7; + if (down && (keycode == 0xd3) && + ((GetAsyncKeyState(VK_CONTROL) & 0x8000) != 0) && + ((GetAsyncKeyState(VK_MENU) & 0x8000) != 0)) + { + rfb::win32::emulateCtrlAltDel(); + return; + } + doScanCodeEvent(keycode, down); return; } |