summaryrefslogtreecommitdiffstats
path: root/winit
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--winit/src/application.rs25
-rw-r--r--winit/src/conversion.rs1
2 files changed, 24 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;
}
diff --git a/winit/src/conversion.rs b/winit/src/conversion.rs
index bb0d252e..e73fa008 100644
--- a/winit/src/conversion.rs
+++ b/winit/src/conversion.rs
@@ -9,6 +9,7 @@ pub fn mouse_cursor(mouse_cursor: MouseCursor) -> winit::window::CursorIcon {
MouseCursor::Working => winit::window::CursorIcon::Progress,
MouseCursor::Grab => winit::window::CursorIcon::Grab,
MouseCursor::Grabbing => winit::window::CursorIcon::Grabbing,
+ MouseCursor::Text => winit::window::CursorIcon::Text,
}
}