summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/src/keyboard/event.rs3
-rw-r--r--native/src/widget/pane_grid.rs4
-rw-r--r--winit/src/conversion.rs3
3 files changed, 7 insertions, 3 deletions
diff --git a/core/src/keyboard/event.rs b/core/src/keyboard/event.rs
index bc8437a8..d142c3bc 100644
--- a/core/src/keyboard/event.rs
+++ b/core/src/keyboard/event.rs
@@ -28,4 +28,7 @@ pub enum Event {
/// A unicode character was received.
CharacterReceived(char),
+
+ /// The keyboard modifiers have changed.
+ ModifiersChanged(ModifiersState),
}
diff --git a/native/src/widget/pane_grid.rs b/native/src/widget/pane_grid.rs
index 2d21a968..f89c3588 100644
--- a/native/src/widget/pane_grid.rs
+++ b/native/src/widget/pane_grid.rs
@@ -539,10 +539,8 @@ where
}
}
}
-
- *self.pressed_modifiers = modifiers;
}
- keyboard::Event::KeyReleased { modifiers, .. } => {
+ keyboard::Event::ModifiersChanged(modifiers) => {
*self.pressed_modifiers = modifiers;
}
_ => {}
diff --git a/winit/src/conversion.rs b/winit/src/conversion.rs
index 80727bd8..cfa76e88 100644
--- a/winit/src/conversion.rs
+++ b/winit/src/conversion.rs
@@ -92,6 +92,9 @@ pub fn window_event(
}
}
})),
+ WindowEvent::ModifiersChanged(new_modifiers) => Some(Event::Keyboard(
+ keyboard::Event::ModifiersChanged(modifiers_state(*new_modifiers)),
+ )),
WindowEvent::HoveredFile(path) => {
Some(Event::Window(window::Event::FileHovered(path.clone())))
}