Bell character

From Wikipedia, the free encyclopedia
(Redirected from Control-G)

Template:Short description Template:Refimprove Script error: No such module "Distinguish".

Radiotelegraph receiver (1914); the bell at right would ring to alert the operator to an incoming message.

A bell character (sometimes bell code) is a device control code originally sent to ring a small electromechanical bell on tickers and other teleprinters and teletypewriters to alert operators at the other end of the line, often of an incoming message. Though tickers punched the bell codes into their tapes,[1] printers generally do not print a character when the bell code is received. Bell codes are usually represented by the label BEL. They have been used since 1870 (initially in the Baudot code).[2]

To maintain backward compatibility, video display terminals (VDTs) that replaced teletypewriters included speakers or buzzers to perform the same function, as did the personal computers that followed. Modern terminal emulators often integrate the warnings to the desktop environment (e.g., the macOS Terminal will play the system warning sound) and also often offer a silent visual bell feature that flashes the terminal window briefly.

Representations

In ASCII the bell character's value is 7 and is named "BELL" or "BEL". Unicode does not give names to control characters but has assigned it the alias "ALERT" and abbreviation "BEL". It can sometimes be typed as Script error: No such module "key". and displayed as Page Template:Mono/styles.css has no content.^G in caret notation. Unicode also includes characters for the visual representation of the character: Page Template:Mono/styles.css has no content.U+2407 Script error: No such module "Unicode data". and Page Template:Mono/styles.css has no content.U+237E Script error: No such module "Unicode data"..

In the 5-bit Baudot codes, BEL is represented by the number 11 (0x0B) when in "figures" mode.[3] The code 47 (Page Template:Mono/styles.css has no content.0x2F) is used in EBCDIC.

In the programming language C (created in 1972), and in many languages influenced by it such as Python, the bell character can be placed in a string or character constant with \a. 'a' stands for "alert" or "audible" and was chosen because \b was already used for the backspace character.[4]

Usage

photograph of the keyboard for an Osborne 1 computer showing how the word "Bell" is also printed on the key for the letter "G"
Keyboard for the Osborne 1

On Unix-like systems, or on MS-DOS or Windows, a user can cause the equivalent of ringing the bell to happen by typing at the command prompt the command:

echo ^G

where the Page Template:Mono/styles.css has no content.^G is produced by holding down Script error: No such module "key". and typing Script error: No such module "key".. On Unix the user may need to type Script error: No such module "key".+Script error: No such module "key". first to "quote" the Page Template:Mono/styles.css has no content.^G.

On POSIX systems, one may also use:

printf '\a'

and in the Bash shell, one may use ANSI-C quoting:[5]

echo $'\a'

An alternative is to use the tput command, which as a part of the ncurses library is available on most Unix/Linux operating systems:

tput bel

A program can get the same result by printing the BEL character to a terminal.

On modern systems this may not make a noise; it may instead make a visual indication such as flashing the screen, or do nothing at all.

See also

References

Page Template:Reflist/styles.css has no content.

  1. ^ Page Module:Citation/CS1/styles.css has no content."Baudot". Archived from the original on December 19, 2008. Retrieved February 1, 2009.
  2. ^ Page Module:Citation/CS1/styles.css has no content.Smith, Gil (2001). "Teletype Communication Codes" (PDF). Baudot.net. Archived (PDF) from the original on 20 August 2008. Retrieved 2008-07-11.
  3. ^ Page Module:Citation/CS1/styles.css has no content."The Lorenz Cipher and how Bletchley Park broke it". www.codesandciphers.org.uk. Retrieved 9 July 2016.
  4. ^ Page Module:Citation/CS1/styles.css has no content."2. Lexical analysis — Python 2.7.18 documentation". docs.python.org. Retrieved 2021-02-05.
  5. ^ ANSI-C quoting