The Break key is a key on a computer keyboard. The Break key originated with 19th century telegraph practice. While the Break key might no longer have a well-defined purpose, it can be used by software to switch between multiple login sessions, to terminate a program, or to interrupt a modem connection.
A standard telegraph circuit connects all the keys, sounders and batteries in a single series loop so the sounders actuate only when both keys are down (closed or "marking", after the ink marks made on paper tape by early printing telegraphs). The receiving operator thus has to hold his key down or close a built-in shorting switch to let the other operator send. 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.)
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.
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.
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.
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.
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. Compact and notebook keyboards often have the Pause/Break key mapped to a function command: for example ^ Ctrl+Fn+F11 or Fn+B or Fn+^ Ctrl+B (on certain Lenovo laptops).
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. Although these two are often considered interchangeable, compilers and execution environments usually assign different signals to these. 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, 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.
- "Keyboard 101- and 102-Key". PS/2 Hardware Interface Technical Reference. IBM. October 1990. p. 19. "Except for the Pause key, all keys are make/break."
- Computer Hope, Pause key http://www.computerhope.com/jargon/p/pausekey.htm
- "CTRL+C (Break)". Msdn.microsoft.com. 2010-03-30. Retrieved 2010-10-22.
- "Debug Break". Msdn.microsoft.com. 2010-03-30. Retrieved 2010-10-22.
- "Ctrl-Break definition of Ctrl-Break in the Free Online Encyclopedia". Encyclopedia2.thefreedictionary.com. Retrieved 2010-10-22.
- "Vim documentation: vim online". Vim.org. Retrieved 2010-10-22.
- "ClipX — DOS 5.0 Ref. - int 23h ctrl-c handler". Ousob.com. Retrieved 2010-10-22.