ei: Fix flipped scroll axes
This commit is contained in:
parent
ec862648c9
commit
bb569dfa00
3 changed files with 32 additions and 21 deletions
|
|
@ -2,7 +2,9 @@ use {
|
|||
crate::{
|
||||
cli::{GlobalArgs, SeatTestArgs},
|
||||
fixed::Fixed,
|
||||
ifs::wl_seat::wl_pointer::{CONTINUOUS, FINGER, PendingScroll, WHEEL},
|
||||
ifs::wl_seat::wl_pointer::{
|
||||
CONTINUOUS, FINGER, HORIZONTAL_SCROLL, PendingScroll, VERTICAL_SCROLL, WHEEL,
|
||||
},
|
||||
tools::tool_client::{Handle, ToolClient, with_tool_client},
|
||||
wire::{
|
||||
jay_compositor::{GetSeats, Seat, SeatEvents},
|
||||
|
|
@ -188,14 +190,14 @@ async fn run(seat_test: Rc<SeatTest>) {
|
|||
let st = seat_test.clone();
|
||||
AxisFrame::handle(tc, se, ps.clone(), move |ps, ev| {
|
||||
let source = ps.source.take();
|
||||
let px_x = ps.px[0].take();
|
||||
let px_y = ps.px[1].take();
|
||||
let stop_x = ps.stop[0].take();
|
||||
let stop_y = ps.stop[1].take();
|
||||
let v120_x = ps.v120[0].take();
|
||||
let v120_y = ps.v120[1].take();
|
||||
let inverted_x = ps.inverted[0].get();
|
||||
let inverted_y = ps.inverted[1].get();
|
||||
let px_x = ps.px[HORIZONTAL_SCROLL as usize].take();
|
||||
let px_y = ps.px[VERTICAL_SCROLL as usize].take();
|
||||
let stop_x = ps.stop[HORIZONTAL_SCROLL as usize].take();
|
||||
let stop_y = ps.stop[VERTICAL_SCROLL as usize].take();
|
||||
let v120_x = ps.v120[HORIZONTAL_SCROLL as usize].take();
|
||||
let v120_y = ps.v120[VERTICAL_SCROLL as usize].take();
|
||||
let inverted_x = ps.inverted[HORIZONTAL_SCROLL as usize].get();
|
||||
let inverted_y = ps.inverted[VERTICAL_SCROLL as usize].get();
|
||||
if all || ev.seat == seat {
|
||||
if all {
|
||||
print!("Seat: {}, ", st.name(ev.seat));
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ use {
|
|||
ei_object::{EiObject, EiVersion},
|
||||
},
|
||||
fixed::Fixed,
|
||||
ifs::wl_seat::wl_pointer::{HORIZONTAL_SCROLL, VERTICAL_SCROLL},
|
||||
leaks::Tracker,
|
||||
wire_ei::{
|
||||
EiScrollId,
|
||||
|
|
@ -65,8 +66,8 @@ impl EiScrollRequestHandler for EiScroll {
|
|||
}
|
||||
|
||||
fn client_scroll(&self, req: ClientScroll, _slf: &Rc<Self>) -> Result<(), Self::Error> {
|
||||
self.device.scroll_px[0].set(Some(req.x));
|
||||
self.device.scroll_px[1].set(Some(req.y));
|
||||
self.device.scroll_px[HORIZONTAL_SCROLL as usize].set(Some(req.x));
|
||||
self.device.scroll_px[VERTICAL_SCROLL as usize].set(Some(req.y));
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
|
@ -75,8 +76,8 @@ impl EiScrollRequestHandler for EiScroll {
|
|||
req: ClientScrollDiscrete,
|
||||
_slf: &Rc<Self>,
|
||||
) -> Result<(), Self::Error> {
|
||||
self.device.scroll_v120[0].set(Some(req.x));
|
||||
self.device.scroll_v120[1].set(Some(req.y));
|
||||
self.device.scroll_v120[HORIZONTAL_SCROLL as usize].set(Some(req.x));
|
||||
self.device.scroll_v120[VERTICAL_SCROLL as usize].set(Some(req.y));
|
||||
Ok(())
|
||||
}
|
||||
|
||||
|
|
@ -85,8 +86,8 @@ impl EiScrollRequestHandler for EiScroll {
|
|||
req: ClientScrollStop,
|
||||
_slf: &Rc<Self>,
|
||||
) -> Result<(), Self::Error> {
|
||||
self.device.scroll_stop[0].set(Some(req.x != 0));
|
||||
self.device.scroll_stop[1].set(Some(req.y != 0));
|
||||
self.device.scroll_stop[HORIZONTAL_SCROLL as usize].set(Some(req.x != 0));
|
||||
self.device.scroll_stop[VERTICAL_SCROLL as usize].set(Some(req.y != 0));
|
||||
Ok(())
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,7 +16,10 @@ use {
|
|||
ei_object::{EiInterface, EiObject, EiVersion},
|
||||
},
|
||||
fixed::Fixed,
|
||||
ifs::wl_seat::{PhysicalKeyboardId, WlSeatGlobal, wl_pointer::PendingScroll},
|
||||
ifs::wl_seat::{
|
||||
PhysicalKeyboardId, WlSeatGlobal,
|
||||
wl_pointer::{HORIZONTAL_SCROLL, PendingScroll, VERTICAL_SCROLL},
|
||||
},
|
||||
keyboard::{DynKeyboardState, KeyboardState, KeyboardStateId},
|
||||
leaks::Tracker,
|
||||
tree::Node,
|
||||
|
|
@ -163,14 +166,19 @@ impl EiSeat {
|
|||
}
|
||||
if let Some(b) = self.scroll.get() {
|
||||
b.send_scroll(
|
||||
ps.px[0].get().unwrap_or_default(),
|
||||
ps.px[1].get().unwrap_or_default(),
|
||||
ps.px[HORIZONTAL_SCROLL as usize].get().unwrap_or_default(),
|
||||
ps.px[VERTICAL_SCROLL as usize].get().unwrap_or_default(),
|
||||
);
|
||||
b.send_scroll_discrete(
|
||||
ps.v120[0].get().unwrap_or_default(),
|
||||
ps.v120[1].get().unwrap_or_default(),
|
||||
ps.v120[HORIZONTAL_SCROLL as usize]
|
||||
.get()
|
||||
.unwrap_or_default(),
|
||||
ps.v120[VERTICAL_SCROLL as usize].get().unwrap_or_default(),
|
||||
);
|
||||
b.send_scroll_stop(
|
||||
ps.stop[HORIZONTAL_SCROLL as usize].get(),
|
||||
ps.stop[VERTICAL_SCROLL as usize].get(),
|
||||
);
|
||||
b.send_scroll_stop(ps.stop[0].get(), ps.stop[1].get());
|
||||
b.device.send_frame(self.client.serial(), time_usec);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue