summaryrefslogtreecommitdiffstats
path: root/winit
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-04-30 04:34:29 +0200
committerLibravatar Héctor Ramón Jiménez <hector0193@gmail.com>2020-04-30 04:34:29 +0200
commite139aae1439d362ada017a05c9554eaae0883888 (patch)
treec502e164587480766f1fa5566db7b48854511269 /winit
parentaf95d3972e4ab6bf4ace54ddd44379ffcebbcff6 (diff)
downloadiced-e139aae1439d362ada017a05c9554eaae0883888.tar.gz
iced-e139aae1439d362ada017a05c9554eaae0883888.tar.bz2
iced-e139aae1439d362ada017a05c9554eaae0883888.zip
Split `Input` keyboard event by `ButtonState`
Diffstat (limited to 'winit')
-rw-r--r--winit/src/conversion.rs22
1 files changed, 18 insertions, 4 deletions
diff --git a/winit/src/conversion.rs b/winit/src/conversion.rs
index a9d9b7cd..30efc590 100644
--- a/winit/src/conversion.rs
+++ b/winit/src/conversion.rs
@@ -70,10 +70,24 @@ pub fn window_event(
..
},
..
- } => Some(Event::Keyboard(keyboard::Event::Input {
- key_code: key_code(*virtual_keycode),
- state: button_state(*state),
- modifiers: modifiers_state(modifiers),
+ } => Some(Event::Keyboard({
+ let key_code = key_code(*virtual_keycode);
+ let modifiers = modifiers_state(modifiers);
+
+ match state {
+ winit::event::ElementState::Pressed => {
+ keyboard::Event::KeyPressed {
+ key_code,
+ modifiers,
+ }
+ }
+ winit::event::ElementState::Released => {
+ keyboard::Event::KeyReleased {
+ key_code,
+ modifiers,
+ }
+ }
+ }
})),
WindowEvent::HoveredFile(path) => {
Some(Event::Window(window::Event::FileHovered(path.clone())))