diff options
| author | 2019-12-06 20:42:25 +0100 | |
|---|---|---|
| committer | 2019-12-06 20:42:25 +0100 | |
| commit | 05a2a619c1c44a44f5ea7aab1446b37141393205 (patch) | |
| tree | 2bfd9f42709a876afa6545f670f92b1fc8e6cbdf /winit | |
| parent | e92ea48e8814b42fc566017db085ca9bdaf3c272 (diff) | |
| parent | 4268556edbf7616fe65aca178b9029ed7db61b07 (diff) | |
| download | iced-05a2a619c1c44a44f5ea7aab1446b37141393205.tar.gz iced-05a2a619c1c44a44f5ea7aab1446b37141393205.tar.bz2 iced-05a2a619c1c44a44f5ea7aab1446b37141393205.zip | |
Merge pull request #108 from hecrj/feature/text-input-behavior
Improve text input behavior
Diffstat (limited to 'winit')
| -rw-r--r-- | winit/src/application.rs | 2 | ||||
| -rw-r--r-- | winit/src/conversion.rs | 20 | 
2 files changed, 21 insertions, 1 deletions
| diff --git a/winit/src/application.rs b/winit/src/application.rs index 3772a667..85d06d9b 100644 --- a/winit/src/application.rs +++ b/winit/src/application.rs @@ -319,6 +319,7 @@ pub trait Application: Sized {                          winit::event::KeyboardInput {                              virtual_keycode: Some(virtual_keycode),                              state, +                            modifiers,                              ..                          },                      .. @@ -334,6 +335,7 @@ pub trait Application: Sized {                      events.push(Event::Keyboard(keyboard::Event::Input {                          key_code: conversion::key_code(virtual_keycode),                          state: conversion::button_state(state), +                        modifiers: conversion::modifiers_state(modifiers),                      }));                  }                  WindowEvent::CloseRequested => { diff --git a/winit/src/conversion.rs b/winit/src/conversion.rs index 03d583fb..0537d853 100644 --- a/winit/src/conversion.rs +++ b/winit/src/conversion.rs @@ -3,7 +3,10 @@  //! [`winit`]: https://github.com/rust-windowing/winit  //! [`iced_native`]: https://github.com/hecrj/iced/tree/master/native  use crate::{ -    input::{keyboard::KeyCode, mouse, ButtonState}, +    input::{ +        keyboard::{KeyCode, ModifiersState}, +        mouse, ButtonState, +    },      MouseCursor,  }; @@ -47,6 +50,21 @@ pub fn button_state(element_state: winit::event::ElementState) -> ButtonState {      }  } +/// Convert some `ModifiersState` from [`winit`] to an [`iced_native`] modifiers state. +/// +/// [`winit`]: https://github.com/rust-windowing/winit +/// [`iced_native`]: https://github.com/hecrj/iced/tree/master/native +pub fn modifiers_state( +    modifiers: winit::event::ModifiersState, +) -> ModifiersState { +    ModifiersState { +        shift: modifiers.shift, +        control: modifiers.ctrl, +        alt: modifiers.alt, +        logo: modifiers.logo, +    } +} +  /// Convert a `VirtualKeyCode` from [`winit`] to an [`iced_native`] key code.  ///  /// [`winit`]: https://github.com/rust-windowing/winit | 
