metal: handle absolute motion events
This commit is contained in:
parent
9bfebe4c42
commit
dc9a3c20ea
5 changed files with 62 additions and 8 deletions
|
|
@ -95,6 +95,7 @@ impl MetalBackend {
|
|||
c::LIBINPUT_EVENT_DEVICE_REMOVED => self.handle_li_device_removed(event),
|
||||
c::LIBINPUT_EVENT_KEYBOARD_KEY => self.handle_keyboard_key(event),
|
||||
c::LIBINPUT_EVENT_POINTER_MOTION => self.handle_pointer_motion(event),
|
||||
c::LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE => self.handle_pointer_motion_absolute(event),
|
||||
c::LIBINPUT_EVENT_POINTER_BUTTON => self.handle_pointer_button(event),
|
||||
c::LIBINPUT_EVENT_POINTER_SCROLL_WHEEL => {
|
||||
self.handle_pointer_axis(event, AxisSource::Wheel)
|
||||
|
|
@ -248,6 +249,15 @@ impl MetalBackend {
|
|||
});
|
||||
}
|
||||
|
||||
fn handle_pointer_motion_absolute(self: &Rc<Self>, event: LibInputEvent) {
|
||||
let (event, dev) = unpack!(self, event, pointer_event);
|
||||
dev.event(InputEvent::MotionAbsolute {
|
||||
time_usec: event.time_usec(),
|
||||
x_normed: event.x_transformed(1) as f32,
|
||||
y_normed: event.y_transformed(1) as f32,
|
||||
});
|
||||
}
|
||||
|
||||
fn handle_gesture_swipe_begin(self: &Rc<Self>, event: LibInputEvent) {
|
||||
let (event, dev) = unpack!(self, event, gesture_event);
|
||||
dev.event(InputEvent::SwipeBegin {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue