mouse.pos.x and mouse.pos.y can be used to access the x and y coordinates of the mouse.  They are relative to the screen, not 
window.  These can be used if you don't want to use message passing.    mouse.pos.z is the wheel.

mouse.pos_text.x and mouse.pos_text.y are the text column and row.  See ::/Demo/Games/Maze.ZC.

See CMouseStateGlobals and CMouseHardStateGlobals.

The hard designation, as in mouse_hard, represents hardware layer items before the application of an abstraction layer.

//****
mouse_hard.pos.x = mouse_hard.prescale.x * mouse_hard.scale.x * mouse_grid.x_speed;
mouse.presnap.x = ToI64(mouse.scale.x * mouse_hard.pos.x) + mouse.offset.x;
if (mouse_grid.snap)
    mouse.pos.x = Trunc(mouse.presnap.x / mouse_grid.x) * mouse_grid.x + mouse_grid.x_offset;
else
    mouse.pos.x = mouse.presnap.x;
//****