I am ran into a little hiccup on a composition/app I am creating. Currently when no window is provided to the Receive Mouse Moves node the position is tracked using global screen coordinates, and I think this is likely what you want for many, if not most, multi-display compositions, however in my particular case I am trying to make a composition that is able to track the cursor position only on a specific screen that the end-user has specified no matter the arrangement of the displays and doesn't change the last cursor position once the cursor has left the screen until it enters the screen again. What I am actually getting is the cursor co-ordinates for all screen as if it were one large canvas, meaning I am seeing negative position numbers when the secondary display is arranged to the top or left of the primary display or numbers larger than the resolution of the primary display when arranged below or to the right of the display.

I've tried to think this through using Compare Texts or Are Equal (Generic) node to compare screen names to stop receiving data when the cursor has left the selected screen and thought about using a Scale node to convert the numbers to the available pixels of a given display but without knowing the exact arrangements of the displays I don't see how I can input the proper Start and End values for the scale. Any ideas on how to solve this using existing nodes would be appreciated.

If I could imagine a built-in solution for this issue I think it would be one of the following (unless a simple option is suggested above):

  1. A change to the Receive Mouse Moves node gave you the ability choose between receiving mouse position data for Window screen coordinates, Current screen coo-ordinates or Global screen-coordinates. Current and Global would act the same when only using 1 display.
  2. If it were possible to treat a screen datatype output as an Updated Window output to connect directly to a Window input port.
  3. A new node that allowed you to convert a Screen datatype to a Window datatype.