Некоторые специальные события обрабатываются на очень низком уровне — как только они считываются. Функция 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 (см. Управление активными картами клавиш).