diff options
author | 2019-10-30 05:00:12 +0100 | |
---|---|---|
committer | 2019-10-30 05:00:12 +0100 | |
commit | fedcab6f4f5ffd3a6dfffe7dd41c58df2e314099 (patch) | |
tree | 171779a050b783dde926142027ae805a59366ab3 /winit | |
parent | 63cd0fd8eb1eebae8de7d5141c846fc4ea55d702 (diff) | |
download | iced-fedcab6f4f5ffd3a6dfffe7dd41c58df2e314099.tar.gz iced-fedcab6f4f5ffd3a6dfffe7dd41c58df2e314099.tar.bz2 iced-fedcab6f4f5ffd3a6dfffe7dd41c58df2e314099.zip |
Handle some `TextInput` events
Diffstat (limited to 'winit')
-rw-r--r-- | winit/src/application.rs | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/winit/src/application.rs b/winit/src/application.rs index c8748199..b90b5eef 100644 --- a/winit/src/application.rs +++ b/winit/src/application.rs @@ -1,6 +1,8 @@ use crate::{ - column, conversion, input::mouse, renderer::Windowed, Cache, Column, - Element, Event, Length, MouseCursor, UserInterface, + column, conversion, + input::{keyboard, mouse}, + renderer::Windowed, + Cache, Column, Element, Event, Length, MouseCursor, UserInterface, }; pub trait Application { @@ -167,6 +169,25 @@ pub trait Application { )); } }, + WindowEvent::ReceivedCharacter(c) => { + events.push(Event::Keyboard( + keyboard::Event::CharacterReceived(c), + )); + } + WindowEvent::KeyboardInput { + input: + winit::event::KeyboardInput { + virtual_keycode: Some(virtual_keycode), + state, + .. + }, + .. + } => { + events.push(Event::Keyboard(keyboard::Event::Input { + key_code: conversion::key_code(virtual_keycode), + state: conversion::button_state(state), + })); + } WindowEvent::CloseRequested => { *control_flow = ControlFlow::Exit; } |