Implement PartialOrd/Ord for KeyCode/NativeKeyCode

This commit is contained in:
StarStarJ
2023-07-01 17:07:35 +02:00
committed by Kirill Chibisov
parent 7f1aaa652d
commit 5144337253
2 changed files with 4 additions and 3 deletions

View File

@@ -8,6 +8,8 @@ And please only add new entries to the top of this list, right below the `# Unre
# Unreleased # Unreleased
- Implement `PartialOrd` and `Ord` for `Key`, `KeyCode`, `NativeKey`, and `NativeKeyCode`.
# 0.29.1-beta # 0.29.1-beta
- **Breaking:** Bump `ndk` version to `0.8.0-beta.0`, ndk-sys to `v0.5.0-beta.0`, `android-activity` to `0.5.0-beta.1`. - **Breaking:** Bump `ndk` version to `0.8.0-beta.0`, ndk-sys to `v0.5.0-beta.0`, `android-activity` to `0.5.0-beta.1`.
@@ -46,7 +48,6 @@ And please only add new entries to the top of this list, right below the `# Unre
- On macOS, add tabbing APIs on `WindowExtMacOS` and `EventLoopWindowTargetExtMacOS`. - On macOS, add tabbing APIs on `WindowExtMacOS` and `EventLoopWindowTargetExtMacOS`.
- **Breaking:** Rename `Window::set_inner_size` to `Window::request_inner_size` and indicate if the size was applied immediately. - **Breaking:** Rename `Window::set_inner_size` to `Window::request_inner_size` and indicate if the size was applied immediately.
- On X11, fix false positive flagging of key repeats when pressing different keys with no release between presses. - On X11, fix false positive flagging of key repeats when pressing different keys with no release between presses.
- Implement `PartialOrd` and `Ord` for `Key`, `KeyCode`, `NativeKey`, and `NativeKeyCode`.
- Add `ElementState::is_pressed`. - Add `ElementState::is_pressed`.
- On Web, implement `WindowEvent::Occluded`. - On Web, implement `WindowEvent::Occluded`.
- On Web, fix touch location to be as accurate as mouse position. - On Web, fix touch location to be as accurate as mouse position.

View File

@@ -82,7 +82,7 @@ pub use smol_str::SmolStr;
/// ///
/// - Correctly match key press and release events. /// - Correctly match key press and release events.
/// - On non-web platforms, support assigning keybinds to virtually any key through a UI. /// - On non-web platforms, support assigning keybinds to virtually any key through a UI.
#[derive(Clone, Copy, PartialEq, Eq, Hash)] #[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub enum NativeKeyCode { pub enum NativeKeyCode {
Unidentified, Unidentified,
@@ -196,7 +196,7 @@ impl std::fmt::Debug for NativeKey {
/// ///
/// [`KeyboardEvent.code`]: https://w3c.github.io/uievents-code/#code-value-tables /// [`KeyboardEvent.code`]: https://w3c.github.io/uievents-code/#code-value-tables
#[non_exhaustive] #[non_exhaustive]
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))] #[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
pub enum KeyCode { pub enum KeyCode {
/// This variant is used when the key cannot be translated to any other variant. /// This variant is used when the key cannot be translated to any other variant.