Next: , Previous: Mouse Tracking, Up: Frames

29.14 Mouse Position

The functions mouse-position and set-mouse-position give access to the current position of the mouse.

— Function: mouse-position

This function returns a description of the position of the mouse. The value looks like (frame x . y), where x and y are integers giving the position in characters relative to the top left corner of the inside of frame.

— Variable: mouse-position-function

If non-nil, the value of this variable is a function for mouse-position to call. mouse-position calls this function just before returning, with its normal return value as the sole argument, and it returns whatever this function returns to it.

This abnormal hook exists for the benefit of packages like xt-mouse.el that need to do mouse handling at the Lisp level.

— Function: set-mouse-position frame x y

This function warps the mouse to position x, y in frame frame. The arguments x and y are integers, giving the position in characters relative to the top left corner of the inside of frame. If frame is not visible, this function does nothing. The return value is not significant.

— Function: mouse-pixel-position

This function is like mouse-position except that it returns coordinates in units of pixels rather than units of characters.

— Function: set-mouse-pixel-position frame x y

This function warps the mouse like set-mouse-position except that x and y are in units of pixels rather than units of characters. These coordinates are not required to be within the frame.

If frame is not visible, this function does nothing. The return value is not significant.

— Function: frame-pointer-visible-p &optional frame

This predicate function returns non-nil if the mouse pointer displayed on frame is visible; otherwise it returns nil. frame omitted or nil means the selected frame. This is useful when make-pointer-invisible is set to t: it allows to know if the pointer has been hidden. See Mouse Avoidance.