Обычный способ заставить карту клавиш меню отобразить меню — это сделать ее определением префиксной клавиши. (Программа на Lisp может явно вызвать всплывающее меню и получить выбор пользователя — см. Всплывающие меню.)
Если префиксная клавиша завершается событием мыши, Emacs обрабатывает карту клавиш меню, вызывая отображение видимого меню, чтобы пользователь мог выбрать пункт меню с помощью мыши. Когда пользователь нажимает на пункт меню, генерируется событие, соответствующее символу или знаку, который привел к отображению этого пункта меню. (Пункт меню может генерировать серию событий, если меню имеет несколько уровней или поступает из панели меню.)
Часто лучше использовать событие нажатия кнопки для запуска меню. Затем пользователь может выбрать пункт меню, отпуская кнопку.
Если карта клавиш меню содержит привязку к вложенной карте клавиш, вложенная карта клавиш определяет подменю. Будет пункт меню, помеченный строкой элемента вложенной карты клавиш, и нажатие на этот пункт автоматически вызовет указанное подменю. В качестве особого исключения, если карта клавиш меню содержит одну вложенную карту клавиш и не содержит других пунктов меню, меню отображает содержимое вложенной карты клавиш напрямую, а не как подменю.
Однако, если Emacs скомпилирован без поддержки инструментария X, или на текстовых терминалах, подменю не поддерживаются. Каждая вложенная карта клавиш отображается как пункт меню, но нажатие на нее не вызывает автоматического отображения подменю. Если вы хотите имитировать эффект подменю, вы можете сделать это, дав вложенной карте клавиш строку элемента, начинающуюся с «@». Это заставляет Emacs отображать вложенную карту клавиш с использованием отдельной панели меню; остальная часть строки элемента после «@» — это метка панели. Если Emacs скомпилирован без поддержки инструментария X, или если меню отображается на текстовом терминале, панели меню не используются; в этом случае «@» в начале строки элемента опускается при отображении метки меню и не имеет другого эффекта.