From fedcab6f4f5ffd3a6dfffe7dd41c58df2e314099 Mon Sep 17 00:00:00 2001 From: Héctor Ramón Jiménez Date: Wed, 30 Oct 2019 05:00:12 +0100 Subject: Handle some `TextInput` events --- winit/src/application.rs | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'winit/src/application.rs') 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; } -- cgit