<div dir="ltr">Hi,<div><br></div><div>I am wondering if there has been any recent progress on the stability of the Wayland relative pointer API?</div><div><br></div><div>I had a few ideas on the original December implementation:</div><div><br></div><div>Whilst we definitely need the relative event support, I feel that the client should never be allowed to warp or confine the global pointer even if it is just a hint. There may be cases such as IR or laser pointer devices (e.g. wii mote) which can never guarantee a warp or pointer confinement but can still transmit accelerometer data as relative pointer motion. Looking at most toolkits and applications they cannot be trusted even with "hints".</div><div><br></div><div>I think the API needs to be split into two use cases:</div><div><br class="">1. GUI sliders etc. - They should be allowed to freeze the pointer and receive relative events based on an implicit button down grab similar to the drag and drop protocol. They should not be allowed to warp or confine and upon button up the grab is lost. Gnome already looks like it uses heuristics todo this if the cursor is hidden on button down.<br></div><div><br></div><div>1. Games - They do not really need relative "pointer" events they just want the current seat mapped to a 6DOF or joystick style input. They should be allowed to request some kind of wl_joystick or wl_6dof interface. Then the compositor can decide what it actually presents to the application for using that input. Maybe a user has a joystick they always select to use instead of their mouse or they have an accelerometer device etc. It is then up to the compositor what it does with the actual on screen cursor if it confines it or hides it etc, there could be a notification of entering "game mode" etc. If the compositor is not using the same input device for wl_pointer and a wl_joystick or wl_6dof then it does nothing. This would also allow a user to hot-swap the device between mouse and keyboard and a gamepad just by using the WM settings. It could also allow for using 6DOF or 3D mice in an application which is also mapped as the default x, y pointer. </div><div><br></div><div>The application will then still receive absolute pointer events which it can use for in game GUI clicks. </div><div><br></div><div>Any opinions on this would be appreciated.</div></div>