メニューキーマップでメニューを表示させる一般的な方法は、それをプレフィックスキーの定義として設定することです。(Lispプログラムでは、明示的にメニューをポップアップ表示させ、ユーザーの選択を受け付けることができます。――ポップアップメニューを参照してください。)
プレフィックスキーがマウスイベントで終了する場合、Emacsは可視メニューをポップアップ表示することでメニューキーマップを処理し、ユーザーがマウスで選択肢を選べるようにします。ユーザーがメニュー項目をクリックすると、そのメニュー項目を呼び出したバインディングを持つ文字やシンボルに応じたイベントが生成されます。(メニューが多階層である場合や、メニューバーから呼び出された場合は、メニュー項目によって一連のイベントが生成されることがあります。)
メニューの表示には、ボタンダウンイベントを利用するのが最適であることが多いです。そうすれば、ユーザーはボタンを離すことでメニュー項目を選択できます。
メニューキーマップにネストされたキーマップへのバインディングが含まれている場合、そのネストされたキーマップはサブメニューを指定します。ネストされたキーマップのアイテム文字列でラベル付けされたメニューアイテムが表示され、このアイテムをクリックすると、指定されたサブメニューが自動的にポップアップ表示されます。特別な例外として、メニューキーマップに単一のネストされたキーマップのみが含まれ、他にメニューアイテムがない場合は、メニューはサブメニューとしてではなく、ネストされたキーマップの内容を直接表示します。
ただし、EmacsがXツールキットのサポートなしでコンパイルされている場合や、テキストターミナル上で動作している場合には、サブメニューはサポートされません。ネストされた各キーマップはメニュー項目として表示されますが、それをクリックしても自動的にサブメニューが展開されることはありません。サブメニューのような動作を再現したい場合は、ネストされたキーマップに ‘@’ で始まるアイテム文字列を指定することで実現できます。これにより、Emacsはネストされたキーマップを別のメニューペインを用いて表示します。‘@’ 以降のアイテム文字列の部分がペインのラベルとなります。EmacsがXツールキットのサポートなしでコンパイルされている場合や、テキストターミナル上でメニューが表示されている場合には、メニューペインは使用されません。その場合、メニューラベルの表示時にアイテム文字列の先頭にある ‘@’ は省略され、それ以外の影響はありません。