diff --git a/CHANGELOG.md b/CHANGELOG.md index 60ab4234a0d..06ece280102 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ And please only add new entries to the top of this list, right below the `# Unre - On Wayland, `wayland-csd-adwaita` now uses `ab_glyph` instead of `crossfont` to render the title for decorations. - On Wayland, a new `wayland-csd-adwaita-crossfont` feature was added to use `crossfont` instead of `ab_glyph` for decorations. - On Wayland, if not otherwise specified use upstream automatic CSD theme selection. +- On Windows, fixed ALT+Space shortcut to open window menu. # 0.27.2 (2022-8-12) diff --git a/src/platform_impl/windows/event_loop.rs b/src/platform_impl/windows/event_loop.rs index 06f885b63b1..3086a9bba5e 100644 --- a/src/platform_impl/windows/event_loop.rs +++ b/src/platform_impl/windows/event_loop.rs @@ -1218,7 +1218,12 @@ unsafe fn public_window_callback_inner( }); } } - 0 + + if msg == WM_SYSCHAR { + DefWindowProcW(window, msg, wparam, lparam) + } else { + 0 + } } WM_IME_STARTCOMPOSITION => { @@ -1463,9 +1468,7 @@ unsafe fn public_window_callback_inner( WM_KEYDOWN | WM_SYSKEYDOWN => { use crate::event::{ElementState::Pressed, VirtualKeyCode}; - if msg == WM_SYSKEYDOWN && wparam == VK_F4 as usize { - DefWindowProcW(window, msg, wparam, lparam) - } else { + if msg != WM_SYSKEYDOWN || wparam != VK_F4 as usize { if let Some((scancode, vkey)) = process_key_params(wparam, lparam) { update_modifiers(window, userdata); @@ -1492,6 +1495,11 @@ unsafe fn public_window_callback_inner( }); } } + } + + if msg == WM_SYSKEYDOWN { + DefWindowProcW(window, msg, wparam, lparam) + } else { 0 } }