Tab key

Tab key on a standard keyboard (on upper left)

Tab ↹ Tab key (abbreviation of tabulator key[1] or tabular key[2]) on a keyboard is used to advance the cursor to the next tab stop.

History

The tab rack from a Flexowriter model 2201. On this machine, the tab-rack is removable for easy reconfiguration.

The word tab derives from the word tabulate, which means "to arrange data in a tabular, or table, form." When a person wanted to type a table (of numbers or text) on a typewriter, there was a lot of time-consuming and repetitive use of the space bar and backspace key. To simplify this, a horizontal bar was placed in the mechanism called the tabulator rack. Pressing the tab key would advance the carriage to the next tabulator stop. The original tabulator stops were adjustable clips that could be moved from place to place on the tabulator rack. Fredric Hillard filed a patent application for such a mechanism in 1900.[3]

The tab mechanism came into its own as a rapid and consistent way of uniformly indenting the first line of each paragraph, often a first tab stop at 5 or 6 characters was used for this, far larger than the indentation used when typesetting. For numeric data, however, the logical place for the tab stop is the location of the least significant digit. Tabbing to this location and then pressing the backspace key to back up to the position of the first digit is practical but slow. Various schemes for numeric tabs were proposed. For example, in 1903, Harry Dukes and William Clayton filed for a patent on a tab mechanism with multiple tab keys numbered 1, 10, 100, etc. Pressing 1 was a simple tab. Pressing 10 advanced to the space before the tab, pressing 100 advanced to the position 2 spaces before the tab.[4]

Initially tab stops were set by adding and removing clips from the tab rack, but Edward Hess working for the Royal Typewriter Company filed for a patent in 1904 covering a system where the tab stops were permanently mounted on the tab bar. To set or reset a tab for a particular column, the tab stop for that column was simply rotated in or out of engagement.[5] In 1940, James Koca filed for a patent on a mechanism allowing the tab stops for each column to be set and cleared from the keyboard, eliminating the need for the typist to bend over the back of the machine to directly manipulate the tab rack.[6] These keys, if present, are typically labeled tab set and tab clear.

Modern usage

In word processing and text editing the Tab key will often move the insertion point to the next tab stop in a table, or may insert the ASCII tab character or many space characters.

When filling out a computerized form, pressing Tab will move the cursor to the next field (and Shift-Tab will move the cursor to the previous field), eliminating the need to use a mouse to click in an adjacent field.

In many graphical applications, especially on Windows, the Tab key will move the focus to every control or widget such as buttons so that the user interface can be used without a mouse at all (this was part of the IBM Common User Access design). On OS X, this is an option called "Full Keyboard Access".

Tab may be used to complete a partially typed piece of text. For example, in some command-line interfaces, you may type the first few characters of a command or file-name, then press Tab. If there is no ambiguity about your intent, the rest of the characters will appear automatically. This usage is more common on Unix than Windows.

In 'PC' video games, the Tab key is very often used to show scores in multiplayer games. For single player games it is also used to show the world map or the player's inventory (or any other useful info).

Tab characters

The most known and common tab is a horizontal tab (HT), which in ASCII has the decimal character code of 9, and may be referred to as Ctrl+I or ^I. In C and many other programming languages the escape code \t can be used to put this character into a string constant. The horizontal tab is usually generated by the Tab key on a standard keyboard.

A vertical tab (VT) also exists and has ASCII decimal character code 11 (Ctrl+K or ^K), escape character \v.

In EBCDIC the code for HT is 5, and VT is 11 (coincidentally the same as in ASCII).

Originally, printer mechanisms used mechanical tab stops to indicate where the tabs went. This was done horizontally with movable metal prongs in a row, and vertically with a loop of mylar or other tape the length of a page with holes punched in it to indicate the tab stops. These were manually set to match the pre-printed forms that were loaded into the printer.

The intention was to have the printers be programmed with control characters to set and clear the stops: ISO 6429 includes the codes 136 (Horizontal Tabulation Set), 137 (Horizontal Tabulation with Justification) and 138 (Vertical Tabulation Set). In practice, settable tab stops were rather quickly replaced with fixed tab stops, de facto standardized at every multiple of 8 characters horizontally, and every 6 lines vertically. A printing program could send zero or more tabs to get to the closest tab stop above and left of where it wanted to print, then send line feeds and spaces to get to the final location. Tab characters simply became a form of data compression.

Despite five characters being ½" and the typical paragraph indentation at that time, the horizontal tab size of 8 evolved because as a power of two it was easier to calculate with the limited digital electronics available. Vertical tab was rarely supported on these terminals. Many IDEs, especially on Windows, use a default horizontal tab size of 4, yet this has failed to eradicate the 8 standard.

Tab-separated values (TSV)

Tab-separated values (TSV) are a common de facto standard for exporting and importing database or spreadsheet field values. Text divided into fields delimited by tabs can often be pasted into a word processor and formatted into a table with a single command. For example, in Microsoft Word 2010, Insert > Table > Convert Text to Table... is the necessary command, producing a dialog where the user selects further details.

The TSV convention for exporting data may be compared to the alternative comma-separated values (CSV) convention.

Gopher menus use tab-separated values to indicate selectors.

TSV has also been cited in a modern approach to solving the programming debate regarding the use of tabs and spaces for code alignment called elastic tabstops[7]. This idea uses a scheme called tab-separated columns (TSC) rather than the similar tab-separated values (TSV).

HTML

In HTML the horizontal tab is coded using &#9; or &Tab;,[8][9] but as with all whitespace characters in HTML, this will be displayed as a single space except inside <pre> tags or other elements with CSS attribute white-space set to pre.

In CSS, tabs are preserved in an element as shown above if the attribute white-space set to pre. CSS 3 defines tab-size property, which adjusts the number of spaces for the tab character from the default of 8.[10] The latest version of WebKit supports the tab-size property. The Opera web browser supports the -o-tab-size CSS property, the Firefox web browser supports the -moz-tab-size CSS property with the same meaning.[11]

The vertical tab is &#xB; but is not allowed in SGML; this includes XML 1.0[12] and HTML.

Unicode

The Unicode code points for the (horizontal) tab character, and the more rarely used vertical tab character are copied from ASCII:[13]

The tab characters can be graphically represented by special symbols:

Unicode also has characters for the symbols to represent or be printed on the tab key:[14]

See also

References

  1. "Underwood Portable Typewriter Gallery". Retrieved 2011-04-09.
  2. "Instructions for Using the Underwood Typewriter" (PDF). Retrieved 2011-04-09.
  3. Fredric W. Hillard, Type-writing machine, U.S. Patent 720,520, granted Feb. 10, 1903.
  4. Harry S. Dukes and William H. Clayton, Tabulating mechanism for type-writing machines, U.S. Patent 908,221, granted Dec. 29, 1908.
  5. Edward B. Hess, Writing Machine, U.S. Patent 931,305, granted Aug. 17. 1909.
  6. James F. Koca, Typewriter stop mechanism, U.S. Patent 2,358,517, granted Sep. 19, 1944.
  7. http://nickgravgaard.com/elastic-tabstops/
  8. See Character encodings in HTML#HTML character references
  9. http://dev.w3.org/html5/html-author/charref
  10. "CSS 3 tab-size property W3 specification".
  11. "CSS tab-size property on Mozilla Developer Network".
  12. Extensible Markup Language W3C Recommendation (5th Edition). http://www.w3.org/TR/xml/#charsets
  13. "C0 Controls and Basic Latin" (PDF). Retrieved 2013-12-13.
  14. "Arrows – Unicode" (PDF). Retrieved 2013-12-13.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.