diff --git a/CHANGELOG.md b/CHANGELOG.md index b7093439..2d590d39 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,8 @@ And please only add new entries to the top of this list, right below the `# Unre # Unreleased +- Implement `PartialOrd` and `Ord` for `KeyCode` and `NativeKeyCode`. + # 0.29.0-beta.0 - On Web, allow event loops to be recreated with `spawn`. diff --git a/src/keyboard.rs b/src/keyboard.rs index 45a10c6d..7e9b81fc 100644 --- a/src/keyboard.rs +++ b/src/keyboard.rs @@ -82,7 +82,7 @@ use smol_str::SmolStr; /// /// - Correctly match key press and release events. /// - 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))] pub enum NativeKeyCode { Unidentified, @@ -196,7 +196,7 @@ impl std::fmt::Debug for NativeKey { /// /// [`KeyboardEvent.code`]: https://w3c.github.io/uievents-code/#code-value-tables #[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))] pub enum KeyCode { /// This variant is used when the key cannot be translated to any other variant.