Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Mail Systems
Eclipse Documentation

How To Guides
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Problem Solutions
Privacy Policy




57.4.8 Named ASCII Control Characters

<TAB>, <RET>, <BS>, <LFD>, <ESC> and <DEL> started out as names for certain ASCII control characters, used so often that they have special keys of their own. For instance, <TAB> was another name for C-i. Later, users found it convenient to distinguish in Emacs between these keys and the “same” control characters typed with the <CTRL> key. Therefore, on most modern terminals, they are no longer the same, and <TAB> is distinguishable from C-i.

Emacs can distinguish these two kinds of input if the keyboard does. It treats the “special” keys as function keys named tab, return, backspace, linefeed, escape, and delete. These function keys translate automatically into the corresponding ASCII characters if they have no bindings of their own. As a result, neither users nor Lisp programs need to pay attention to the distinction unless they care to.

If you do not want to distinguish between (for example) <TAB> and C-i, make just one binding, for the ASCII character <TAB> (octal code 011). If you do want to distinguish, make one binding for this ASCII character, and another for the “function key” tab.

With an ordinary ASCII terminal, there is no way to distinguish between <TAB> and C-i (and likewise for other such pairs), because the terminal sends the same character in both cases.

  Published under the terms of the GNU General Public License Design by Interspire