Spec-Zone.ru › Elisp

Примеры событий

Если пользователь нажимает и отпускает левую кнопку мыши в одном и том же месте, генерируется последовательность событий, например такая:

(down-mouse-1 (#<window 18 on NEWS> 2613 (0 . 38) -864320))
(mouse-1      (#<window 18 on NEWS> 2613 (0 . 38) -864180))

Удерживая клавишу Control, пользователь может нажать и удерживать вторую кнопку мыши, а затем перетащить указатель мыши с одной строки на другую. В результате генерируются два события, как показано здесь:

(C-down-mouse-2 (#<window 18 on NEWS> 3440 (0 . 27) -731219))
(C-drag-mouse-2 (#<window 18 on NEWS> 3440 (0 . 27) -731219)
                (#<window 18 on NEWS> 3510 (0 . 28) -729648))

Удерживая клавиши Meta и Shift, пользователь может нажать вторую кнопку мыши на строке режима окна, а затем перетащить указатель мыши в другое окно. В результате генерируется пара событий, например такая:

(M-S-down-mouse-2 (#<window 18 on NEWS> mode-line (33 . 31) -457844))
(M-S-drag-mouse-2 (#<window 18 on NEWS> mode-line (33 . 31) -457844)
                  (#<window 20 on carlton-sanskrit.tex> 161 (33 . 3)
                   -453816))

Кадр, находящийся в фокусе ввода, может занимать не весь экран, и пользователь может переместить указатель мыши за пределы кадра. Внутри макроса track-mouse это генерирует событие, например такое:

(mouse-movement (#<frame *ielm* 0x102849a30> nil (563 . 205) 532301936))

Copyright © 1990-1996, 1998-2026 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Event-Examples.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API