diff options
Diffstat (limited to 'src/api/win32')
-rw-r--r-- | src/api/win32/callback.rs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/api/win32/callback.rs b/src/api/win32/callback.rs index d879da5..0215c9f 100644 --- a/src/api/win32/callback.rs +++ b/src/api/win32/callback.rs @@ -212,6 +212,24 @@ pub unsafe extern "system" fn callback(window: winapi::HWND, msg: winapi::UINT, 0 }, + winapi::WM_XBUTTONDOWN => { + use events::Event::MouseInput; + use events::MouseButton::Other; + use events::ElementState::Pressed; + let xbutton = winapi::HIWORD(wparam as winapi::DWORD) as winapi::c_int; // waiting on PR for winapi to add GET_XBUTTON_WPARAM + send_event(window, MouseInput(Pressed, Other(xbutton as u8))); + 0 + }, + + winapi::WM_XBUTTONUP => { + use events::Event::MouseInput; + use events::MouseButton::Other; + use events::ElementState::Released; + let xbutton = winapi::HIWORD(wparam as winapi::DWORD) as winapi::c_int; + send_event(window, MouseInput(Released, Other(xbutton as u8))); + 0 + }, + winapi::WM_INPUT => { let mut data: winapi::RAWINPUT = mem::uninitialized(); let mut data_size = mem::size_of::<winapi::RAWINPUT>() as winapi::UINT; |