diff --git a/CHANGELOG.md b/CHANGELOG.md index 30e92408..43c609d0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ # Unreleased - On macOS, fix application termination on `ControlFlow::Exit` +- On Windows, fix missing `ReceivedCharacter` events when Alt is held. - On macOS, stop emitting private corporate characters in `ReceivedCharacter` events. - On X11, fix misreporting DPI factor at startup. - On X11, fix events not being reported when using `run_return`. diff --git a/src/platform_impl/windows/event_loop.rs b/src/platform_impl/windows/event_loop.rs index 20c1dd06..0968db83 100644 --- a/src/platform_impl/windows/event_loop.rs +++ b/src/platform_impl/windows/event_loop.rs @@ -1112,7 +1112,7 @@ unsafe extern "system" fn public_window_callback( 0 } - winuser::WM_CHAR => { + winuser::WM_CHAR | winuser::WM_SYSCHAR => { use crate::event::WindowEvent::ReceivedCharacter; use std::char; let is_high_surrogate = 0xD800 <= wparam && wparam <= 0xDBFF; @@ -1145,12 +1145,6 @@ unsafe extern "system" fn public_window_callback( 0 } - // Prevents default windows menu hotkeys playing unwanted - // "ding" sounds. Alternatively could check for WM_SYSCOMMAND - // with wparam being SC_KEYMENU, but this may prevent some - // other unwanted default hotkeys as well. - winuser::WM_SYSCHAR => 0, - winuser::WM_SYSCOMMAND => { if wparam == winuser::SC_SCREENSAVE { let window_state = subclass_input.window_state.lock();