mirror of
https://github.com/italicsjenga/winit-sonoma-fix.git
synced 2024-12-24 06:11:30 +11:00
Add support for mouse wheel events on x11.
This commit is contained in:
parent
41d7118a42
commit
8fee1950c6
|
@ -414,8 +414,8 @@ impl Window {
|
||||||
},
|
},
|
||||||
|
|
||||||
ffi::ButtonPress | ffi::ButtonRelease => {
|
ffi::ButtonPress | ffi::ButtonRelease => {
|
||||||
use {MouseInput, Pressed, Released};
|
use {MouseInput, MouseWheel, Pressed, Released};
|
||||||
use {LeftMouseButton, RightMouseButton, MiddleMouseButton, OtherMouseButton};
|
use {LeftMouseButton, RightMouseButton, MiddleMouseButton};
|
||||||
let event: &ffi::XButtonEvent = unsafe { mem::transmute(&xev) };
|
let event: &ffi::XButtonEvent = unsafe { mem::transmute(&xev) };
|
||||||
|
|
||||||
let state = if xev.type_ == ffi::ButtonPress { Pressed } else { Released };
|
let state = if xev.type_ == ffi::ButtonPress { Pressed } else { Released };
|
||||||
|
@ -424,8 +424,14 @@ impl Window {
|
||||||
ffi::Button1 => Some(LeftMouseButton),
|
ffi::Button1 => Some(LeftMouseButton),
|
||||||
ffi::Button2 => Some(MiddleMouseButton),
|
ffi::Button2 => Some(MiddleMouseButton),
|
||||||
ffi::Button3 => Some(RightMouseButton),
|
ffi::Button3 => Some(RightMouseButton),
|
||||||
ffi::Button4 => Some(OtherMouseButton(4)),
|
ffi::Button4 => {
|
||||||
ffi::Button5 => Some(OtherMouseButton(5)),
|
events.push(MouseWheel(1));
|
||||||
|
None
|
||||||
|
}
|
||||||
|
ffi::Button5 => {
|
||||||
|
events.push(MouseWheel(-1));
|
||||||
|
None
|
||||||
|
}
|
||||||
_ => None
|
_ => None
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue