From a9d54d4c6ca0ed38df318f5f0921b9be7afd88a5 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 11 Mar 2011 14:04:10 +0100 Subject: client: Don't handle hotkeys while sticky alt is active In some cases rhev-m changes the hotkey for releasing the mouse grab to ctrl + alt. This makes it impossible to send ctrl + alt + other-key to the guest, even when using sticky alt. What happens is: -press alt until sticky alt activates -release alt (but recorded state stays pressed due to sticky alt) -press ctrl -hotkey code sees ctrl+alt pressed, releases mouse grab -mouse grab release code does an unpress all -> end of sticky state. This patch makes it possible to atleast send ctrl + alt + del (or other key) using sticky alt. Note: even with this patch it is still a bad idea to use ctrl + alt as hotkey combi. --- client/application.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/client/application.cpp b/client/application.cpp index 6113f509..45eb457a 100644 --- a/client/application.cpp +++ b/client/application.cpp @@ -1225,10 +1225,12 @@ void Application::on_key_down(RedKey key) } } - int command = get_hotkeys_commnad(); - if (command != APP_CMD_INVALID) { - do_command(command); - return; + if (!_sticky_info.sticky_mode) { + int command = get_hotkeys_commnad(); + if (command != APP_CMD_INVALID) { + do_command(command); + return; + } } #ifdef WIN32 -- cgit