diff options
Diffstat (limited to '')
| -rw-r--r-- | core/src/keyboard/modifiers_state.rs | 20 | 
1 files changed, 20 insertions, 0 deletions
| diff --git a/core/src/keyboard/modifiers_state.rs b/core/src/keyboard/modifiers_state.rs index 4d24266f..254013c3 100644 --- a/core/src/keyboard/modifiers_state.rs +++ b/core/src/keyboard/modifiers_state.rs @@ -15,6 +15,26 @@ pub struct ModifiersState {  }  impl ModifiersState { +    /// Returns true if the current [`ModifiersState`] has a "command key" +    /// pressed. +    /// +    /// The "command key" is the main modifier key used to issue commands in the +    /// current platform. Specifically: +    /// +    /// - It is the `logo` or command key (⌘) on macOS +    /// - It is the `control` key on other platforms +    /// +    /// [`ModifiersState`]: struct.ModifiersState.html +    pub fn is_command_pressed(self) -> bool { +        #[cfg(target_os = "macos")] +        let is_pressed = self.logo; + +        #[cfg(not(target_os = "macos"))] +        let is_pressed = self.control; + +        is_pressed +    } +      /// Returns true if the current [`ModifiersState`] has at least the same      /// modifiers enabled as the given value, and false otherwise.      /// | 
