Особые события
Некоторые особые события обрабатываются на очень низком уровне — как только они считываются. Функция read-event обрабатывает эти события самостоятельно и никогда не возвращает их. Вместо этого она продолжает ожидать первого события, которое не является особым, и возвращает его.
Особые события не эхом, они никогда не группируются в последовательности клавиш, и они никогда не появляются в значении last-command-event или (this-command-keys). Они не отбрасывают числовой аргумент, их нельзя перечитать с помощью unread-command-events, они могут не появляться в макросе клавиатуры, и они не записываются в макросе клавиатуры во время его определения.
Однако особые события появляются в last-input-event сразу после их считывания, и именно так определение события находит фактическое событие.
Типы событий iconify-frame, make-frame-visible, delete-frame, drag-n-drop, language-change, и пользовательские сигналы, такие как sigusr1, обычно обрабатываются таким образом. Карта клавиш, которая определяет, как обрабатывать особые события — и какие события являются особыми — находится в переменной special-event-map (см. Управление активными картами).
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/Special-Events.html