summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector0193@gmail.com>2020-07-01 22:44:26 +0200
committerLibravatar GitHub <noreply@github.com>2020-07-01 22:44:26 +0200
commit79aa225001dda0efc7b9d8301641a4806f259960 (patch)
tree9ca8c78ea1a1eaab419a9ad0f069f96202593c40
parent5190bcea804d74a3373dbb09477770ff4814e866 (diff)
parente8aeb86698ae3f4ef23621d67685243d62158036 (diff)
downloadiced-79aa225001dda0efc7b9d8301641a4806f259960.tar.gz
iced-79aa225001dda0efc7b9d8301641a4806f259960.tar.bz2
iced-79aa225001dda0efc7b9d8301641a4806f259960.zip
Merge pull request #430 from hecrj/feature/keyboard-modifiers-event
Add `ModifiersChanged` to `keyboard::Event`
Diffstat (limited to '')
-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())))
}