Break key

From Infogalactic: the planetary knowledge core
(Redirected from )
Jump to: navigation, search
Break/Pause key on PC keyboard

The Break key of a computer keyboard refers to breaking a telegraph circuit, and originated with 19th century practice. In modern usage, the key has no well-defined purpose, but while this is the case it can be used by software for miscellaneous tasks, such as to switch between multiple login sessions, to terminate a program, or to interrupt a modem connection.

Because the break function is usually combined with the pause function on one key since the introduction of the IBM Model M 101-key keyboard in 1985, the Break key is also called the Pause key. It can be used to pause some games, such as Deus Ex and the Call Of Duty series.

History

A standard telegraph circuit connects all the keys, sounders and batteries in a single series loop. Thus the sounders actuate only when both keys are down (closed, also known as "marking" — after the ink marks made on paper tape by early printing telegraphs). So the receiving operator has to hold his key down, or close a built-in shorting switch, in order to let the other operator send. As a consequence the receiving operator could interrupt the sending operator by opening his key, breaking the circuit and forcing it into a "spacing" condition. Both sounders stop responding to the sender's keying, alerting the sender. (A physical break in the telegraph line would have the same effect.)

Teleprinter

The teleprinter operated in a very similar fashion except that the sending station kept the loop closed (logic 1 or "marking") even during short pauses between characters. Holding down a special "break" key opened the loop, forcing it into a continuous logic 0 or "spacing" condition. When this occurred, the teleprinter mechanisms continually actuated without printing anything as the all-0's character is the non-printing NUL in both Baudot and ASCII. The resulting noise got the sending operator's attention.

This practice carried over to teleprinter use on time-sharing computers. A continuous spacing (logical 0) condition violates the rule that every valid character has to end with one or more logic 1 (marking) "stop" bits. The computer (specifically the UART) recognized this as a special "break" condition and generated an interrupt that typically stopped a running program or forced the operating system to prompt for a login. Although asynchronous serial telegraphy is now rare, the Break key once used with terminal emulators can still be used by software for similar purposes.

Sinclair

On the Sinclair ZX80 and ZX81 computers, the Break is accessed by pressing Space. On the Sinclair ZX Spectrum it is accessed by Caps Shift+Space. The Spectrum+ and later computers have a dedicated Break key. It does not trigger an interrupt but will halt any running BASIC program, or terminate the loading or saving of data to cassette tape. An interrupted BASIC program can usually be resumed with the CONTINUE command. The Sinclair QL computer, without a Break key, maps the function to Ctrl+Space.

BBC Micro

On a BBC Micro computer, the Break key generates an interrupt which would normally cause a warm restart of the computer. A cold restart is triggered by typing Ctrl+Break. If a DFS ROM is installed, Shift+Break will cause the computer to search for and load a file called !Boot on the floppy disk in drive 0. The latter two behaviours were inherited by the successor to Acorn MOS, RISC OS.

Modern keyboards

On many modern PCs, Pause interrupts screen output by BIOS until another key is pressed. This is effective during boot in text mode and in a DOS box in Windows safe mode with 50 lines. On early keyboards without a Pause key (before the introduction of 101/102-key keyboards) the Pause function was assigned to Ctrl+NumLock, and the Break function to Ctrl+ScrLock; these key-combinations still work with most programs, even on modern PCs with modern keyboards. Pressing the dedicated Pause key on 101/102-key keyboards sends the same scancodes as pressing Ctrl, then NumLock, then releasing them in the reverse order would do; additionally, an E1hex prefix is sent which enables 101/102-key aware software to discern the two situations, while older software usually just ignores the prefix. The Pause key is different from all other keys in that it sends no scancodes at all on release; therefore it is not possible for any software to determine whether this key is being held down.[1]

On modern keyboards, the Break key is usually labeled Pause with Break below, sometimes separated by a line, or Pause on the top of the keycap and Break on the front. In most Windows environments, the key combination Win+Pause brings up the system properties.

Keyboards without Break key

Compact and notebook keyboards often do not have a dedicated Pause/Break key. These may use the following substitutes for Break:

  • Ctrl+Fn+F11 or Fn+B or Fn+Ctrl+B (on certain Lenovo laptops).[2][3]
  • Fn+Esc on Samsung.

Substitutes for Pause:

  • Fn+P or Fn+Ctrl+P or Fn+Alt+P (on certain Lenovo laptops).[3]

Apple keyboards do not have the Pause/Break key, as Mac OS X does not use it.[4]

Usage for breaking the program's execution

While both Ctrl+Break and Ctrl+C combination are commonly implemented as a way of breaking the execution of a console application, they are also used for similar effect in integrated development environments.[5][6] Although these two are often considered interchangeable,[7] compilers and execution environments usually assign different signals to these.[8] Additionally, in some kernels (e.g. miscellaneous DOS variants) Ctrl+C is detected only at the time OS tries reading from a keyboard buffer and only if it's the only key sequence in the buffer,[9][10] while Ctrl+Break is often translated instantly (e.g. by INT 1Bh under DOS). Because of this, Ctrl+Break is usually a more effective choice under these operating systems; sensitivity for these two combinations can be enhanced by the BREAK=ON CONFIG.SYS statement.

References

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. http://forum.thinkpads.com/viewtopic.php?f=60&t=98708
  3. 3.0 3.1 http://forum.thinkpads.com/viewtopic.php?t=105807
  4. Computer Hope, Pause key http://www.computerhope.com/jargon/p/pausekey.htm
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. [1] Archived October 22, 2012 at the Wayback Machine
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.

See also