summaryrefslogtreecommitdiffstats
path: root/winit
diff options
context:
space:
mode:
Diffstat (limited to 'winit')
-rw-r--r--winit/src/application.rs25
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;
}