summaryrefslogtreecommitdiff
path: root/gtk/spice-widget.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/spice-widget.c')
-rw-r--r--gtk/spice-widget.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/gtk/spice-widget.c b/gtk/spice-widget.c
index 7eb9e64..4f74380 100644
--- a/gtk/spice-widget.c
+++ b/gtk/spice-widget.c
@@ -672,11 +672,17 @@ static LRESULT CALLBACK keyboard_hook_cb(int code, WPARAM wparam, LPARAM lparam)
case VK_NUMLOCK:
case VK_LSHIFT:
case VK_RSHIFT:
- case VK_LCONTROL:
case VK_RCONTROL:
case VK_LMENU:
case VK_RMENU:
break;
+ case VK_LCONTROL:
+ /* When pressing AltGr, an extra VK_LCONTROL with a special
+ * scancode with bit 9 set is sent. Let's ignore the extra
+ * VK_LCONTROL, as that will make AltGr misbehave. */
+ if (hooked->scanCode & 0x200)
+ return 1;
+ break;
default:
SendMessage(win32_window, wparam, hooked->vkCode, dwmsg);
return 1;