# Does MousePosition["Graphics"] give coordinates in outermost Graphics?

It seems that this issue has been raised a few times, but what exactly does MousePosition["Graphics"] answer?

This code

Dynamic @ p
Graphics[
EventHandler[
Disk[], {"MouseMoved" :> (p = MousePosition["Graphics"])}]]


nicely displays mouse position in the "current graphics" coordinate.

But try to put the graphics in another Graphics (GraphicsColumn in this case):

Dynamic @ p
GraphicsColumn @
List @ Graphics[
EventHandler[
Disk[], {"MouseMoved" :> (p = MousePosition["Graphics"])}]]


The coordinates now seem to be in the coordinate system defined by GraphicsColumn.

I will greatly appreciate any answer with a workaround (even not so generic solution).

P.S. Interesting enough GraphicsColumn breaks LocatorPane behaviour. LocatorPane manages to get correct coordinates (it uses custom LocatorPaneBox) but locators do not display:

pts = {};
GraphicsColumn @
List @ LocatorPane[Dynamic[pts], Graphics[Circle[]],
LocatorAutoCreate -> All]
Dynamic[pts]

• Whenever possible I try to use Row, Column, and Grid directly instead of their Graphics variants for other reasons. This works as expected, Column@{Dynamic@{p,p2},Graphics[EventHandler[Disk[],{"MouseMoved":>(p=MousePosition["Graphics"])}],Frame->True],Graphics[EventHandler[Disk[],{"MouseMoved":>(p2=MousePosition["Graphics"])}],Frame->True]}, but it doesn't have head Graphics so it might not work for your use case. Dec 27 '21 at 0:07

MousePosition["Graphics"]  should be changed to MousePosition[{"Graphics", Graphics}] to limit the coordinate system to the innermost expression with head Graphics.