Позиция мыши
Функции mouse-position и set-mouse-position предоставляют доступ к текущей позиции мыши.
- Функция: mouse-position
Эта функция возвращает описание позиции мыши. Значение имеет вид
(frame x . y), где x и y — целые числа, указывающие (возможно, округленное) положение в кратных значениях размера стандартного символа для frame (см. Шрифт фрейма) относительно родного положения frame (см. Геометрия фрейма).
- Переменная: mouse-position-function
-
Если не
nil, значение этой переменной — функция, которуюmouse-positionможет вызвать.mouse-positionвызывает эту функцию непосредственно перед возвратом, передавая в качестве единственного аргумента обычное возвращаемое значение, и возвращает то, что эта функция вернула ей.Этот необычный обработчик предназначен для пакетов, таких как xt-mouse.el, которым требуется обработка мыши на уровне Lisp.
Если не
nil, меню TTY вызовутmouse-position-functionтак, как описано выше. Это необходимо в тех случаях, когда вызовmouse-position-functionнебезопасен для меню TTY, например, если он может вызвать повторную отрисовку.
- Функция: set-mouse-position frame x y
-
Эта функция перемещает курсор мыши в положение x, y в фрейме frame. Аргументы x и y — целые числа, указывающие положение в кратных значениях размера стандартного символа для frame (см. Шрифт фрейма) относительно родного положения frame (см. Геометрия фрейма).
Результирующее положение мыши ограничено родным фреймом frame. Если frame не виден, эта функция ничего не делает. Возвращаемое значение не имеет значения.
- Функция: mouse-pixel-position
Эта функция аналогична
mouse-position, за исключением того, что она возвращает координаты в единицах пикселей, а не символов.
- Функция: set-mouse-pixel-position frame x y
-
Эта функция перемещает курсор мыши так же, как
set-mouse-position, за исключением того, что x и y задаются в единицах пикселей, а не символов.Результирующее положение мыши не ограничено родным фреймом frame. Если frame не виден, эта функция ничего не делает. Возвращаемое значение не имеет значения.
На графическом терминале следующие две функции позволяют получить и установить абсолютное положение курсора мыши.
- Функция: mouse-absolute-pixel-position
Эта функция возвращает пару (x . y) координат положения курсора мыши в пикселях относительно позиции (0, 0) отображения выбранного фрейма.
- Функция: set-mouse-absolute-pixel-position x y
Эта функция перемещает курсор мыши в позицию (x, y). Координаты x и y интерпретируются в пикселях относительно позиции (0, 0) отображения выбранного фрейма.
Следующая функция определяет, виден ли курсор мыши в данный момент в фрейме:
- Функция: frame-pointer-visible-p &optional frame
Эта предикатная функция возвращает не-
nil, если указатель мыши, отображаемый в frame, виден; в противном случае она возвращаетnil. frame опущено илиnilозначает выбранный фрейм. Это полезно, когдаmake-pointer-invisibleустановлено в значениеt, позволяя определить, был ли указатель скрыт. См. Избегание мыши в Справочном руководстве Emacs.
Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Mouse-Position.html