diff options
author | 2020-04-30 04:34:29 +0200 | |
---|---|---|
committer | 2020-04-30 04:34:29 +0200 | |
commit | e139aae1439d362ada017a05c9554eaae0883888 (patch) | |
tree | c502e164587480766f1fa5566db7b48854511269 /winit | |
parent | af95d3972e4ab6bf4ace54ddd44379ffcebbcff6 (diff) | |
download | iced-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.rs | 22 |
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()))) |