javascript - How can I properly detect mousemove deltas beyond the screen in XUL? -


for slyzoom extension have created, want implement virtual slider: xul/xbl element acts small static region where, on mousedown, mouse pointer changes ew-resize , capture mousemove events detect horizontal movement, change current zoom level.

so far have implemented tentative solution, using standard mouseevent api , utilizing handy mouseevent.mozmovementx, seem present when i'm not using pointer lock api.

in example image see (xubuntu) ew-resize mouse pointer on provisional virtual slider, region, small black double arrow behind mouse pointer, on left side of <menulist>:

virtual slider example

the right side of image right edge of screen; left side cropped.

however, can see/imagine, mouse pointer regularly reach edge of users' screens before they've reached satisfactory zoom level. in cases, unfortunately, mouseevent.mozmovementx stay zero, though physical pointer device still moving.

i've tried circumvent using pointer lock api. however, appears though pointer lock api not work xul/xbl documents. correct? or pointer lock api supposed work xul/xbl documents well?

in case, if pointer lock api was working xbl element, hide mouse pointer, , not desirable. although guess try create faux mouse pointer in case, rather cumbersome , prone erratic behavior, i'm afraid.

so question boils down this:

how can detect mousemove deltas beyond screen edges in xul/xbl documents? possible, somehow?


Comments