Closed Bug 997544 Opened 11 years ago Closed 4 years ago

Implement element pointer capture (vs. lock)

Categories

(Core :: Widget, defect)

defect
Not set
normal

Tracking

()

RESOLVED INVALID

People

(Reporter: lstowasser, Unassigned)

Details

(Whiteboard: [games:p?])

Pointer lock requires us to draw our own mouse cursor via WebGL. The renderer latency involved makes the mouse cursor incredibly laggy and awful. There is almost certainly no amount of renderer latency improvements that would enable WebGL mouse cursors, as OSes go to considerable lengths to draw mouse cursors with very low latency.
Whiteboard: [games:p?]
This isn't so much a bug as an explanation of why pointer lock, as-is, doesn't meet our needs. What we really want is to have the immersiveness of pointer lock (e.g. no hot edges/corners), but with the OS cursor still present. The best solution for this is a more immersive version of the existing full screen API, with pointer clipping and the ability to capture keys like escape that currently dump the player out of fullscreen.
See also: 997528, 997548, 997537
So this is really about implementing mouse capture to an element, vs. current fullscreen pointer lock. Mouse capture just limits the bounds of the mouse to the given element (maybe initially just fullscreen). You can already do custom cursors with CSS, so that part is handled; I think that with fullscreen mode, this would "just work" once bug 997537 is fixed.
Component: Shell Integration → Widget
OS: Mac OS X → All
Product: Firefox → Core
Hardware: x86 → All
Summary: Custom cursor in WebGL → Implement element pointer capture (vs. lock)
Vlad - agreed that everything important is already captured in other bugs. Feel free to close this one.

Per comment 4, I guess we could close this one, feel free to reopen it, or file a new bug.

Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.