Acceptance Criteria:
|
• When running the client in windowed mode, the pointer should not be
constrained to the ThinLinc session, even if the application running
inside the session requests it.
• When running the client in full-screen mode, the pointer should be
constrained to the ThinLinc session if the application requests it and
mouse movements should result in expected behavior:
• FPS Games
• Slow movement of the mouse should result in slow camera rotation
in the direction of mouse travel.
• Fast movement of the mouse should result in fast camera rotation
in the direction of mouse travel.
• Web browser pointer lock API
• Pointer lock demo [1]
• The mouse's absolute position is reflected by the circle's
position after both fast and slow mouse movements.
• The above points should still hold under client-server RTT of 100ms.
• The behavior should be the same between all supported platforms.
• The behavior should be the same between X11 and Wayland on the client
machine.
• A server incorporating this change should still work with client
without the change and vice versa (albeit without any pointer grab
capabilities).
[1] https://mdn.github.io/dom-examples/pointer-lock/
|