mirror of
https://github.com/rust-windowing/winit.git
synced 2026-08-30 21:30:03 -04:00
Implement Pressed and Released
This commit is contained in:
@@ -4,6 +4,7 @@ use std::sync::atomics::AtomicBool;
|
||||
use std::ptr;
|
||||
use {Event, Hints};
|
||||
|
||||
mod event;
|
||||
mod ffi;
|
||||
|
||||
pub struct Window {
|
||||
@@ -340,6 +341,24 @@ extern "stdcall" fn callback(window: ffi::HWND, msg: ffi::UINT,
|
||||
0
|
||||
},
|
||||
|
||||
ffi::WM_KEYDOWN => {
|
||||
use events::Pressed;
|
||||
let element = event::vkeycode_to_element(wparam);
|
||||
if element.is_some() {
|
||||
send_event(window, Pressed(element.unwrap()));
|
||||
}
|
||||
0
|
||||
},
|
||||
|
||||
ffi::WM_KEYUP => {
|
||||
use events::Released;
|
||||
let element = event::vkeycode_to_element(wparam);
|
||||
if element.is_some() {
|
||||
send_event(window, Released(element.unwrap()));
|
||||
}
|
||||
0
|
||||
},
|
||||
|
||||
_ => unsafe {
|
||||
ffi::DefWindowProcW(window, msg, wparam, lparam)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user