Skip to content

Commit 13050d9

Browse files
committed
x11: update DeviceEvent::Button to DeviceEvent::PointerButton
1 parent b9d3c97 commit 13050d9

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

winit-x11/src/event_processor.rs

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1389,7 +1389,20 @@ impl EventProcessor {
13891389
self.target.xconn.set_timestamp(xev.time as xproto::Timestamp);
13901390

13911391
if xev.flags & xinput2::XIPointerEmulated == 0 {
1392-
let event = DeviceEvent::Button { state, button: xev.detail as u32 };
1392+
let button = xev.detail as u32;
1393+
let source = match button {
1394+
xlib::Button1 => ButtonSource::Mouse(MouseButton::Left),
1395+
xlib::Button2 => ButtonSource::Mouse(MouseButton::Middle),
1396+
xlib::Button3 => ButtonSource::Mouse(MouseButton::Right),
1397+
1398+
// Scroll inputs
1399+
4..=7 => return,
1400+
1401+
8 => ButtonSource::Mouse(MouseButton::Back),
1402+
9 => ButtonSource::Mouse(MouseButton::Forward),
1403+
_ => ButtonSource::Mouse(MouseButton::Other(button as u16)),
1404+
};
1405+
let event = DeviceEvent::PointerButton { button: source, state };
13931406
app.device_event(&self.target, Some(mkdid(xev.deviceid as xinput::DeviceId)), event);
13941407
}
13951408
}

0 commit comments

Comments
 (0)