Split `Key` into clear categories, like `Named`, `Dead`, Character`, `Unidentified`
removing the `#[non_exhaustive]` from the `Key` itself.
Similar action was done for the `KeyCode`.
Fixes: #2995
Co-authored-by: Kirill Chibisov <contact@kchibisov.com>
Sometimes FlagsChanged events don't carry any KeyCode information, thus
we can't create a synthetic presses events for them.
However in such cases, modifiers information is still accurate, thus
propagate it.
Fixes#2872.
Window builder is always accessed by winit on the thread event loop
is on, thus it's safe to mark the data it gets as `Send + Sync`.
Each unsafe object is marked individually as `Send + Sync` instead
of just implementing `Send` and `Sync` for the whole builder.
Fixing this could require a massive rework to how redraw is handled
on windows to the point of removing `WM_PAINT`, since it's not reliable
by any means for our use case.
For now at least document that the API is broken. It was broken like
that for a long while.
The update is pretty minor, however we support now
`WindowEvent::Occluded` when xdg-shell v6 is available.
It also adds support for `Window::show_window_menu`.
Fixes#2927.
While the changelog entries for beta releases doesn't really matter. The
change wasn't marked as breaking, while it is.
Fixes: 93f1000a0 (Add Occluded and MemoryWarning events for iOS/Android)
Hook `Occluded` event to foreground/background evens on iOS.
This commit also enabled the `MemoryWarning` event, since it's
emitted from the windowing system.
Co-authored-by: Dusty DeWeese <dustin.deweese@gmail.com>
Co-authored-by: Kirill Chibisov <contact@kchibisov.com>
Add a method to request a system menu. The implementation
is provided only on Windows for now.
Co-authored-by: daxpedda <daxpedda@gmail.com>
Co-authored-by: Kirill Chibisov <contact@kchibisov.com>
The new implementation of select_xkb_events apparently misconfigures
the server. This commit does a temporary fix by just reverting it to its
previous implementation.
This is temporary until I can figure out what Xlib is doing behind the
scenes or until I read xkbproto.pdf.
Fixes: #3079
Signed-off-by: John Nunley <dev@notgull.net>