TAB、RET、BS、LFD、ESC、およびDELは、もともと特定のASCII制御文字の名称であり、非常に頻繁に使用されるため、専用のキーが設けられていました。例えば、TABはC-iの別名でした。その後、Emacsにおいてこれらのキーと、Ctrlキーで入力される対応する制御文字とを区別するのが便利であるとユーザーは考えるようになりました。そのため、ほとんどの現代的なターミナルでは、これらはもはや同一ではなく、TABはC-iとは異なります。
キーボード側で判別できれば、Emacsでもこれら2種類の入力を区別できます。Emacsは特殊キーを、tab、return、backspace、linefeed、escape、deleteという名前のファンクションキーとして扱います。これらのファンクションキーは、独自のバインドが設定されていない場合、対応するASCII文字に自動的に変換されます。その結果、ユーザーもLispプログラムも、特に意識しない限り、この区別に留意する必要はありません。
(例えば)TAB と C-i
を区別したくない場合は、ASCII 文字 TAB(8進数コード 011)に対して1つのバインディングを作成してください。区別したい場合は、この ASCII 文字用に1つ、そしてファンクションキー tab 用にもう1つのバインディングを作成してください。
一般的なASCII端末では、TABとC-i(およびその他の同様のペア)を区別する方法はありません。というのも、端末はどちらの場合でも同じ文字を送信するからです。