1
2
3
4
5
6
|
<h3 class="section">Special Events</h3> <p>Certain <em>special events</em> are handled at a very low level—as soon as they are read. The <code>read-event</code> function processes these events itself, and never returns them. Instead, it keeps waiting for the first event that is not special and returns that one. </p> <p>Special events do not echo, they are never grouped into key sequences, and they never appear in the value of <code>last-command-event</code> or <code>(this-command-keys)</code>. They do not discard a numeric argument, they cannot be unread with <code>unread-command-events</code>, they may not appear in a keyboard macro, and they are not recorded in a keyboard macro while you are defining one. </p> <p>Special events do, however, appear in <code>last-input-event</code> immediately after they are read, and this is the way for the event’s definition to find the actual event. </p> <p>The events types <code>iconify-frame</code>, <code>make-frame-visible</code>, <code>delete-frame</code>, <code>drag-n-drop</code>, <code>language-change</code>, and user signals like <code>sigusr1</code> are normally handled in this way. The keymap which defines how to handle special events—and which events are special—is in the variable <code>special-event-map</code> (see <a href="controlling-active-maps">Controlling Active Maps</a>). </p><div class="_attribution">
<p class="_attribution-p">
Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc. <br>Licensed under the GNU GPL license.<br>
<a href="https://www.gnu.org/software/emacs/manual/html_node/elisp/Special-Events.html" class="_attribution-link">https://www.gnu.org/software/emacs/manual/html_node/elisp/Special-Events.html</a>
</p>
</div>
|