summaryrefslogtreecommitdiffstats
path: root/libvo
diff options
context:
space:
mode:
Diffstat (limited to 'libvo')
-rw-r--r--libvo/w32_common.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/libvo/w32_common.c b/libvo/w32_common.c
index 7eaafe7c29..ad8d1f453b 100644
--- a/libvo/w32_common.c
+++ b/libvo/w32_common.c
@@ -194,6 +194,11 @@ static LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam,
case WM_SYSCHAR: {
int mods = mod_state(vo);
int code = wParam;
+ // Windows enables Ctrl+Alt when AltGr (VK_RMENU) is pressed.
+ // E.g. AltGr+9 on a German keyboard would yield Ctrl+Alt+[
+ // Warning: wine handles this differently. Don't test this on wine!
+ if (key_state(vo, VK_RMENU))
+ mods &= ~(KEY_MODIFIER_CTRL | KEY_MODIFIER_ALT);
// Apparently Ctrl+A to Ctrl+Z is special cased, and produces
// character codes from 1-26. Work it around.
// Also, enter/return (including the keypad variant) and CTRL+J both