From 3427308c607f9156a958cedd8ba4f101ae293e4d Mon Sep 17 00:00:00 2001 From: Dylan Ede Date: Mon, 3 Aug 2015 15:54:56 +0100 Subject: Modified Windows key event handling to support modifier keys. --- src/api/win32/callback.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/api/win32/callback.rs') diff --git a/src/api/win32/callback.rs b/src/api/win32/callback.rs index 5667ca8..c6e7763 100644 --- a/src/api/win32/callback.rs +++ b/src/api/win32/callback.rs @@ -129,8 +129,7 @@ pub unsafe extern "system" fn callback(window: winapi::HWND, msg: winapi::UINT, winapi::WM_KEYDOWN => { use events::Event::KeyboardInput; use events::ElementState::Pressed; - let scancode = ((lparam >> 16) & 0xff) as u8; - let vkey = event::vkeycode_to_element(wparam); + let (scancode, vkey) = event::vkeycode_to_element(wparam, lparam); send_event(window, KeyboardInput(Pressed, scancode, vkey)); 0 }, @@ -138,8 +137,7 @@ pub unsafe extern "system" fn callback(window: winapi::HWND, msg: winapi::UINT, winapi::WM_KEYUP => { use events::Event::KeyboardInput; use events::ElementState::Released; - let scancode = ((lparam >> 16) & 0xff) as u8; - let vkey = event::vkeycode_to_element(wparam); + let (scancode, vkey) = event::vkeycode_to_element(wparam, lparam); send_event(window, KeyboardInput(Released, scancode, vkey)); 0 }, -- cgit v1.2.3