# Break key

The Break key (or the symbol ⎉) 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 computer games.

## 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 their 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 their 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-0s 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 ZX80 and ZX81 computers, the Break is accessed by pressing Space. On the 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 a hardware reset which would normally cause a warm restart of the computer. A cold restart is triggered by pressing Ctrl+Break. If a filing system is installed, ⇧ Shift+Break will cause the computer to search for and load or run a file called !Boot on the filing system's default device (e.g. floppy disk 0, network user BOOT). The latter two behaviours were inherited by the successor to Acorn MOS, RISC OS. These behaviours could be changed or exchanged in software, and were often used in rudimentary anti-piracy techniques.
Because of the BBC Micro's near universal usage in British schools, later versions of the machine incorporated a physical lock on the Break key to stop children from intentionally resetting the computer.

## 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 E1$_{hex}$ 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 in PS/2 modes 1 or 2, so it is impossible to determine whether this key is being held down with older devices. In PS/2 mode 3 or USB HID mode, there is a release scancode, so it is possible to determine whether this key is being held down on modern computers.
On modern keyboards, the Break key is usually labeled Pause with Break below, sometimes separated by a line: ⁠Pause/Break⁠, or Pause on the top of the keycap and Break on the front, or only Pause without Break at all. 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.
Substitutes for Break:
* Ctrl+Fn+F11 or Fn+B or Fn+Ctrl+B on certain Lenovo laptops.
* Ctrl+Fn+B or Fn+B on certain Dell laptops.
* Ctrl+Fn+S on some other Dell laptops.
* Fn+Esc on Samsung.
* Ctrl+Fn+⇧ Shift on certain HP laptops.
* Fn+R on certain HP laptops.
* Fn+Ctrl+B on certain Logitech (LOGI) keyboards.
Substitutes for Pause:
* Fn+P or Fn+Ctrl+P or Fn+Alt+P on certain Lenovo laptops.
* Fn+B on certain Dell laptops.
* Fn+⇧ Shift on certain HP laptops.
* Fn+W on certain HP laptops.
For some Dell laptops, without a Break key, press the Alt+Space and select "Interrupt".

## 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.