aboutsummaryrefslogtreecommitdiffstats
path: root/src/api/win32
diff options
context:
space:
mode:
Diffstat (limited to 'src/api/win32')
-rw-r--r--src/api/win32/callback.rs18
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;