I may not understand the problem, why do you mention canvas?
If you need an infinite layout, then simply enable the unbounded scrolling and that's it. You can scroll to a position like (1000000,1000000) on start of the layout to avoid dealing with negative coordinates.
Enable "Scale Inner" or "Scale outer" full screen mode in object properties, and remove the Set Canvas Size action.
Use Mouse.X and Mouse.Y (not AbsoluteX/AbsoluteY) expressions to get mouse position in layout coordinates.