Pointer confinement: wrapping
Currently, with pointer confinement, you can lock it to a specific position or set it to stay within a certain region. I'd like to propose that the region confinement portion be extended to be able to specify "wrapping" behavior.
zwp_confined_pointer_v1 would gain two new requests, and two new events:
Requests:
- zwp_confined_pointer_v1::set_wrapping
- zwp_confined_pointer_v1::unset_wrapping
Events:
- zwp_confined_pointer_v1::wrapping
- zwp_confined_pointer_v1::not_wrapping
To explain how this would work, imagine you have a 10x10 window. You have a cursor at (0, 5), dead on the west side. You move it along the X axis, all the way to (10, 5), and the cursor would keep on going to be outside of that 10x10 window. Instead, if you set set_wrapping
, you'd be able to define the behavior that it should end up at (0, 5) again, and it would wrap indefinitely.
Imagine if you had a grid of that 10x10 window, and wherever you went outside, you'd instead step right into the next window in that position. Here's some relevent example from a manga I was reading that used the same idea :)