Функции mouse-position и set-mouse-position
предоставляют доступ к текущей позиции мыши.
Эта функция возвращает описание позиции мыши. Значение
выглядит как (frame x . y), где x
и y — целые числа, дающие (возможно, округленную) позицию в
кратных размеру символа по умолчанию для frame (см. Шрифт фрейма) относительно нативной позиции frame (см. Геометрия фрейма).
Если не nil, значение этой переменной — это функция, которую
mouse-position вызывает. mouse-position вызывает эту
функцию непосредственно перед возвратом, передавая ей свое нормальное значение
в качестве единственного аргумента, и возвращает то, что возвращает эта функция.
Этот аномальный хук существует для таких пакетов, как xt-mouse.el, которым необходимо выполнять обработку мыши на уровне Lisp.
Если не nil, меню TTY вызовут mouse-position-function,
как описано выше. Это существует для случаев, когда
mouse-position-function небезопасно вызывать из меню TTY, например, если
это может вызвать повторный дисплей.
Эта функция перемещает мышь в позицию x, y в фрейме frame. Аргументы x и y — целые числа, дающие позицию в кратных размеру символа по умолчанию для frame (см. Шрифт фрейма) относительно нативной позиции frame (см. Геометрия фрейма).
Полученная позиция мыши ограничена нативным фреймом frame. Если frame не виден, эта функция ничего не делает. Возвращаемое значение не имеет значения.
Эта функция похожа на mouse-position, за исключением того, что она возвращает
координаты в единицах пикселей, а не в единицах символов.
Эта функция перемещает мышь, как set-mouse-position, за исключением того, что
x и y заданы в единицах пикселей, а не в единицах
символов.
Полученная позиция мыши не ограничена нативным фреймом frame. Если frame не виден, эта функция ничего не делает. Возвращаемое значение не имеет значения.
В графическом терминале следующие две функции позволяют получить и установить абсолютную позицию курсора мыши.
Эта функция возвращает ячейку cons (x . y) с координатами позиции курсора мыши в пикселях относительно позиции (0, 0) отображения выбранного фрейма.
Эта функция перемещает курсор мыши в позицию (x, y). Координаты x и y интерпретируются в пикселях относительно позиции (0, 0) отображения выбранного фрейма.
Следующая функция может указать, виден ли курсор мыши в данный момент на фрейме:
Эта предикатная функция возвращает не nil, если указатель мыши,
отображаемый на frame, виден; в противном случае возвращает nil.
frame опущен или равен nil означает выбранный фрейм. Это полезно, когда
make-pointer-invisible установлен в t: это позволяет узнать, был ли
указатель скрыт.
См. Избегание мыши в Руководство Emacs.