In computing, a keyboard is an input device, partially modeled after the typewriter keyboard, which uses an arrangement of buttons or keys, to act as mechanical levers or electronic switches. A keyboard typically has characters engraved or printed on the keys and each press of a key typically corresponds to a single written symbol. However, to produce some symbols requires pressing and holding several keys simultaneously or in sequence. While most keyboard keys produce letters, numbers or signs (characters), other keys or simultaneous key presses can produce actions or computer commands.
In normal usage, the keyboard is used to type text and numbers into a word processor, text editor or other program. In a modern computer, the interpretation of keypresses is generally left to the software. A computer keyboard distinguishes each physical key from every other and reports all keypresses to the controlling software. Keyboards are also used for computer gaming, either with regular keyboards or by using keyboards with special gaming features, which can expedite frequently used keystroke combinations. A keyboard is also used to give commands to the operating system of a computer, such as Windows' Control-Alt-Delete combination, which brings up a task window or shuts down the machine.
Standard keyboards for desktop computers, such as the 101-key US traditional keyboards or the 104-key Windows keyboards, Include alphabetic characters, punctuation symbols, numbers and a variety of function keys. The internationally-common 102/105 key keyboards have a smaller 'left shift' key and an additional key with some more symbols between that and the letter to its right (usually Z or Y). Computer keyboards are similar to electric-typewriter keyboards but contain additional keys.
Keyboards on laptops and notebook computers usually have a shorter travel distance for the keystroke and a reduced set of keys. They may not have a numerical keypad, and the function keys may be placed in locations that differ from their placement on a standard, full-sized keyboard.
Keyboards with extra keys, such as multimedia keyboards, have special keys for accessing music, web and other frequently used programs. For example, 'ctrl+marked on color-coded keys are used for some software applications and for specialized uses such as video editing.
Smaller keyboards have been introduced for laptops, PDAs, cellphones or users who have a limited workspace. The size of a standard keyboard is dictated by the practical consideration that the keys must be large enough to be easily pressed by fingers. To reduce the size of the keyboard, the numeric keyboard to the right of the alphabetic keyboard can be removed, or the size of the keys can be reduced, which makes it harder to enter text.
Another way to reduce the size of the keyboard is to reduce the number of keys and use chording keyer, i.e. pressing several keys simultaneously. For example, the GKOS keyboard has been designed for small wireless devices. Other two-handed alternatives more akin to a game controller, such as the AlphaGrip, are also used as a way to input data and text. Another way to reduce the size of a keyboard is to use smaller buttons and pack them closer together. Such keyboards, often called a "thumbboard" (thumbing) are used in some personal digital assistants such as the Palm Treo and BlackBerry and some Ultra-Mobile PCs such as the OQO.
Numeric keyboards contain only numbers, mathematical symbols for addition, subtraction, multiplication, and division, a decimal point, and several function keys (e.g. End, Delete, etc.). They are often used to facilitate data entry with smaller keyboard-equipped laptops or with smaller keyboards that do not have a numeric keypad. A laptop does sometimes have a numeric pad, but not all the time. These keys are also known as, collectively, a numeric pad, numeric keys, or a numeric keypad, and it can consist of the following types of keys:
A keyset or Virtual keyboards, such as the I-Tech Virtual Laser Keyboard, project an image of a full-size keyboard onto a surface. Sensors in the projection unit identify which key is being "pressed" and relay the signals to a computer or personal digital assistant. There is also a virtual keyboard, the On-Screen Keyboard, for use on Windows. The On-Screen Keyboard is an image of a standard keyboard which the user controls by using a mouse to hover over the desired letter or symbol, and then clicks to enter the letter. The On-Screen Keyboard is provided with Windows as an accessibility aid, to assist users who may have difficulties using a regular keyboard. The iPhone uses a multi-touch screen to display a virtual keyboard.
Touchscreens, such as with the iPhone and the OLPC laptop, can be used as a keyboard. (The OLPC initiative's second computer will be effectively two tablet touchscreens hinged together like a book. It can be used as a convertible Tablet PC where the keyboard is one half-screen (one side of the book) which turns into a touchscreen virtual keyboard.)
Foldable (also called flexible) keyboards are made of soft plastic or silicone which can be rolled or folded on itself for travel. When in use, these keyboards can conform to uneven surfaces, and are more resistant to liquids than standard keyboards. These can also be connected to portable devices and smartphones. Some models can be fully immersed in water, making them popular in hospitals and laboratories, as they can be disinfected.
Some devices have recently been produced which project a keyboard layout onto any flat surface using a laser. These devices detect key presses via infrared, and can artificially produce the tapping or clicking sound of a physical keyboard through their software.
There are a number of different arrangements of alphabetic, numeric, and punctuation symbols on keys. These different keyboard layouts arise mainly because different people need easy access to different symbols, either because they are inputting text in different languages, or because they need a specialized layout for mathematics, accounting, computer programming, or other purposes. Most of the more common keyboard layouts (QWERTY-based and similar) were designed in the era of the mechanical typewriters, so their ergonomics had to be slightly compromised in order to tackle some of the mechanical limitations of the typewriter.
As the letter-keys were attached to levers that needed to move freely, inventor Christopher Sholes developed the QWERTY layout to reduce the likelihood of jamming. With the advent of computers, lever jams are no longer an issue, but nevertheless, QWERTY layouts were adopted for electronic keyboards because they were widely used. Alternative layouts such as the Dvorak Simplified Keyboard are not in widespread use.
The QWERTZ layout is fairly widely used in Germany and much of Central Europe. The main difference between it and QWERTY is that Y and Z are swapped, and most special characters such as brackets are replaced by diacritical characters.
Another situation takes place with “national” layouts. Keyboards designed for typing in Spanish have some characters shifted, to release the space for Ñ ñ; similarly, those for French and other European languages may have a special key for the character Ç ç . The AZERTY layout is used in France, Belgium and some neighbouring countries. It differs from the QWERTY layout in that the A and Q are swapped, the Z and W are swapped, and the M is moved from the right of N to the right of L (where colon/semicolon is on a US keyboard). The digits 0 to 9 are on the same keys, but to be typed the shift key must be pressed. The unshifted positions are used for accented characters.
Keyboards in many parts of Asia may have special keys to switch between the Latin character set and a completely different typing system. In Japan, keyboards often can be switched between Japanese and the Latin alphabet, and the character ¥ (the Yen currency) is used instead of "\". In the Arab world, keyboards can often be switched between Arabic and English.
In bilingual regions of Canada and in the French-speaking province of Québec, keyboards can often be switched between an English and a French-language keyboard; while both keyboards share the same QWERTY alphabetic layout, the French-language keyboard enables the user to type accented vowels such as "é" or "à" with a single keystroke. Using keyboards for other languages leads to a conflict: the image on the key does not correspond to the character. In such cases, each new language may require an additional label on the keys, because the standard keyboard layouts do not share even similar characters of different languages (see the example in the figure above).
Alphabetical, numeric, and punctuation keys are used in the same fashion as a typewriter keyboard to enter their respective symbol into a word processing program, text editor, data spreadsheet, or other program. Many of these keys will produce different symbols when modifier keys or shift keys are pressed. The alphabetic characters become uppercase when the shift key or Caps Lock key is depressed. The numeric characters become symbols or punctuation marks when the shift key is depressed. The alphabetical, numeric, and punctuation keys can also have other functions when they are pressed at the same time as some modifier keys.
The Space bar is a horizontal bar in the lowermost row, which is significantly wider than other keys. Like the alphanumeric characters, it is also descended from the mechanical typewriter. Its main purpose is to enter the space between words during typing. It is large enough so that a thumb from either hand can use it easily. Depending on the operating system, when the space bar is used with a modifier key such as the control key, it may have functions such as resizing or closing the current window, half-spacing, or backspacing. In computer games and other applications the key has myriad uses in addition to its normal purpose in typing, such as jumping and adding marks to check boxes. In certain programs for playback of digital video, the space bar is used for pausing and resuming the playback.
Modifier keys are special keys that modify the normal action of another key, when the two are pressed in combination. For example, <Alt> + <F4> in Microsoft Windows will close the program in an active window. In contrast, pressing just <F4> will probably do nothing, unless assigned a specific function in a particular program. By themselves, modifier keys usually do nothing.
The most widely-used modifier keys include the Control key, Shift key and the Alt key. The AltGr key is used to access additional symbols for keys that have three symbols printed on them. On the Macintosh and Apple keyboards, the modifier keys are the Option key and Command key, respectively. On MIT computer keyboards, the Meta key is used as a modifier and for Windows keyboards, there is a Windows key. Compact keyboard layouts often use a Fn key. "Dead keys" allow placement of a diacritic mark, such as an accent, on the following letter (e.g., the Compose key).
The Enter/Return key typically causes a command line, window form or dialog box to operate its default function, which is typically to finish an "entry" and begin the desired process. In word processing applications, pressing the enter key ends a paragraph and starts a new one.
Navigation keys include a variety of keys which move the cursor to different positions on the screen. Arrow keys are programmed to move the cursor in a specified direction; page scroll keys, such as the 'Page Up and Page Down keys', scroll the page up and down. The Home key is used to return the cursor to the beginning of the line where the cursor is located; the End key puts the cursor at the end of the line. The Tab key advances the cursor to the next tab stop.
The Insert key is mainly used to switch between overtype mode, in which the cursor overwrites any text that is present on and after its current location, and insert mode, where the cursor inserts a character at its current position, forcing all characters past it one position further. The Delete key discards the character ahead of the cursor's position, moving all following characters one position "back" towards the freed place. On many notebook computer keyboards the key labeled Delete (sometimes Delete and Backspace are printed on the same key) serves the same purpose as a Backspace key. The Backspace key deletes the preceding character.
Lock keys lock part of a keyboard, depending on the settings selected. The lock keys are scattered around the keyboard. Most styles of keyboards have three LEDs indicating which locks are enabled, in the upper right corner above the numpad. The lock keys include Scroll lock, Num lock (which allows the use of the numeric keypad), and Caps lock.
The SysRq / Print screen commands often share the same key. SysRq was used in earlier computers as a "panic" button to recover from crashes. The Print screen command used to capture the entire screen and send it to the printer, but in the present it usually puts a screenshot in the clipboard. The Break key/Pause key no longer has a well-defined purpose. Its origins go back to teletype users, who wanted a key that would temporarily interrupt the communications line. The Break key can be used by software in several different ways, such as to switch between multiple login sessions, to terminate a program, or to interrupt a modem connection.
In programming, especially old DOS-style BASIC, Pascal and C, Break is used (in conjunction with Ctrl) to stop program execution. In addition to this, Linux and variants, as well as many DOS programs, treat this combination the same as Ctrl+C. On modern keyboards, the break key is usually labeled Pause/Break. In most Windows environments, the key combination Windows key+Pause brings up the system properties.
The Escape key (often abbreviated Esc) is used to initiate an escape sequence. As most computer users no longer are concerned with the details of controlling their computer's peripherals, the task for which the escape sequences were originally designed, the escape key was appropriated by application programmers, most often to mean Stop. This use continues today in Microsoft Windows's use of escape as a shortcut in dialog boxes for No, Quit, Exit, Cancel, or Abort.
A common application today of the Esc key is as a shortcut key for the Stop button in many web browsers. On machines running Microsoft Windows, prior to the implementation of the Windows key on keyboards, the typical practice for invoking the "start" button was to hold down the control key and press escape. This process still works in Windows 2000, XP, Windows Vista and Windows 7.
The Menu key or Application key is a key found on Windows-oriented computer keyboards. It is used to launch a context menu with the keyboard rather than with the usual right mouse button. The key's symbol is a small icon depicting a cursor hovering above a menu. This key was created at the same time as the Windows key. This key is normally used when the right mouse button is not present on the mouse. Some Windows public terminals do not have a Menu key on their keyboard to prevent users from right-clicking (however, in many windows applications, a similar functionality can be invoked with the Shift+F10 keyboard shortcut).
Many, but not all, computer keyboards have a numeric keypad to the right of the alphabetic keyboard which contains numbers, basic mathematical symbols (e.g., addition, subtraction, etc), and a few function keys. On Japanese/Korean keyboards, there may be Language input keys. Some keyboards have power management keys (e.g., Power key, Sleep key and Wake key); Internet keys to access a web browser or E-mail; and/or multimedia keys, such as volume controls.
Keyboards and keypads may be illuminated from inside, especially on equipment for mobile use. Illumination facilitates the use of the keyboard or keypad in dark environments. Some gaming keyboards have lighted keys, to make it easier for gamers to find command keys while playing in a dark room. Some computers may have small LED lights in a few important function keys, to remind users that the function is activated (see photo).
"Dome-switch" keyboards (sometimes incorrectly referred to as membrane keyboards) are the most common type now in use. When a key is pressed, it pushes down on a rubber dome sitting beneath the key. A conductive contact on the underside of the dome touches (and hence connects) a pair of conductive lines on the circuit below. This bridges the gap between them and allows electric current to flow (the open circuit is closed). A scanning signal is emitted by the chip along the pairs of lines in the matrix circuit which connects to all the keys. When the signal in one pair becomes different, the chip generates a "make code" or "scan code" corresponding to the key connected to that pair of lines.
Keycaps are also required for most types of keyboards; while modern keycaps are typically surface-marked, they can also be 2-shot molded, or engraved, or they can be made of transparent material with printed paper inserts
Keys on older IBM keyboards were made with a "buckling spring" mechanism, in which a coil spring under the key buckles under pressure from the user's finger, pressing a rubber dome, whose inside is coated with conductive graphite, which connects two leads below, completing a circuit. This produces a clicking sound, and gives physical feedback for the typist indicating that the key has been depressed. When a key is pressed and the circuit is completed, the code generated is sent to the computer either via a keyboard cable (using on-off electrical pulses to represent bits) or over a wireless connection. While not nearly as popular as dome-switch keyboards, these "clicky" keyboards have been making a comeback recently, particularly among writers and others who use keyboards heavily.
A chip inside the computer receives the signal bits and decodes them into the appropriate keypress. The computer then decides what to do on the basis of the key pressed (e.g. display a character on the screen, or perform some action). When the key is released, a break code (different from the make code) is sent to indicate the key is no longer pressed. If the break code is missed (e.g. due to a keyboard switch) it is possible for the keyboard controller to believe the key is pressed down when it is not, which is why pressing then releasing the key again will release the key (since another break code is sent). Other types of keyboards function in a similar manner, the main differences being how the individual key-switches work. For more on this subject refer to the article on keyboard technology.
Certain key presses are special, namely Ctrl-Alt-Delete and SysRq, but what makes them special is a function of software. In the PC architecture, the keyboard controller (the component in the computer that receives the make and break codes) sends the computer's CPU a hardware interrupt whenever a key is pressed or released. The CPU's interrupt routine which handles these interrupts usually just places the key's code in a queue, to be handled later by other code when it gets around to it, then returns to whatever the computer was doing before. The special keys cause the interrupt routine to take a different "emergency" exit instead. This more trusted route is much harder to intercept.
The layout of a keyboard can be changed by remapping the keys. When you remap a key, you tell the computer a new meaning for the pressing of that key. Keyboard remapping is supported at a driver-level configurable within the operating system, or as add-ons to the existing programs.
The modern PC keyboard has more than just switches. It also includes a control processor and indicator lights to provide feedback to the user about what state the keyboard is in. Depending on the sophistication of the controller's programming, the keyboard may also offer other special features. The processor is usually a single chip 8048 microcontroller variant. The keyboard switch matrix is wired to its inputs and it processes the incoming keystrokes and sends the results down a serial cable (the keyboard cord) to a receiver in the main computer box. It also controls the illumination of the "caps lock", "num lock" and "scroll lock" lights.
One test for whether the computer has crashed is pressing the "caps lock" key. The keyboard sends the key code to the keyboard driver running in the main computer; if the main computer is operating, it commands the light to turn on. All the other indicator lights work in a similar way. The keyboard driver also tracks the shift, alt and control state of the keyboard.
When pressing a keyboard key, the key "bounces" like a ball against its contacts several times before it settles into firm contact. When released, it bounces some more until it reverts to the uncontacted state. If the computer were watching for each pulse, it would see many keystrokes for what the user thought was just one. To resolve this problem, the processor in a keyboard (or computer) "debounces" the keystrokes, by aggregating them across time to produce one "confirmed" keystroke that (usually) corresponds to what is typically a solid contact.
Some low-quality keyboards suffer problems with rollover (that is, when multiple keys are pressed in quick succession); some types of keyboard circuitry will register a maximum number of keys at one time. This is undesirable for games (designed for multiple keypresses, e.g. casting a spell while holding down keys to run) and undesirable for extremely fast typing (hitting new keys before the fingers can release previous keys). A common side effect of this shortcoming is called "phantom key blocking": on some keyboards, pressing three keys simultaneously sometimes resulted in a 4th keypress being registered.
Modern keyboards prevent this from happening by blocking the 3rd key in certain key combinations, but while this prevents phantom input, it also means that when two keys are depressed simultaneously, many of the other keys on the keyboard will not respond until one of the two depressed keys is lifted. With better keyboards designs, this seldom happens in office programs, but it remains a problem in games even on expensive keyboards, due to wildly different and/or configurable key/command layouts in different games.
There are several ways of connecting a keyboard using cables, including the standard AT connector commonly found on motherboards, which was eventually replaced by the PS/2 and the USB connection. Prior to the iMac line of systems, Apple used the proprietary Apple Desktop Bus for its keyboard connector.
Wireless keyboards have become popular for their increased user freedom. A wireless keyboard often includes a required combination transmitter and receiver unit that attaches to the computer's keyboard port (see Connection types above). The wireless aspect is achieved either by radio frequency (RF) or by infrared (IR) signals sent and received from both the keyboard and the unit attached to the computer. A wireless keyboard may use an industry standard RF, called Bluetooth. With Bluetooth, the transceiver may be built into the computer. However, a wireless keyboard needs batteries to work and may pose a security problem due to the risk of data "eavesdropping" by hackers. Also many bluetooth keyboards can sometimes become slower than standard corded keyboards An early example of a consumer wireless keyboard is that of the Olivetti Envision.
Optical character recognition (OCR) is preferable to rekeying for converting existing text that is already written down but not in machine-readable format (for example, a Linotype-composed book from the 1940s). In other words, to convert the text from an image to editable text (that is, a string of character codes), a person could re-type it, or a computer could look at the image and deduce what each character is. OCR technology has already reached an impressive state (for example, Google Book Search) and promises more for the future.
Speech recognition converts speech into machine-readable text (that is, a string of character codes). The technology has already reached an impressive state and is already implemented in various software products. For certain uses (e.g., transcription of medical or legal dictation; journalism; writing essays or novels) it is starting to replace the keyboard; however, it does not threaten to replace keyboards entirely anytime soon. It can, however, interpret commands (for example, "close window" or "undo that") in addition to text. Therefore, it has theoretical potential to replace keyboards entirely (whereas OCR replaces them only for a certain kind of task).
Pointing devices can be used to enter text or characters in contexts where using a physical keyboard would be inappropriate or impossible. These accessories typically present characters on a display, in a layout that provides fast access to the more frequently used characters or character combinations. Popular examples of this kind of input are Graffiti, Dasher and on-screen virtual keyboards.
Keystroke logging (often called keylogging) is a method of capturing and recording user keystrokes. While it is used legally to measure employee productivity on certain clerical tasks, or by law enforcement agencies to find out about illegal activities, it is also used by hackers for various illegal or malicious acts. Hackers use keyloggers as a means to obtain passwords or encryption keys and thus bypass other security measures.
Keystroke logging can be achieved by both hardware and software means. Hardware key loggers are attached to the keyboard cable or installed inside standard keyboards. Software keyloggers work on the target computer’s operating system and gain unauthorized access to the hardware, hook into the keyboard with functions provided by the OS, or use remote access software to transmit recorded data out of the target computer to a remote location. Some hackers also use wireless keylogger sniffers to collect packets of data being transferred from a wireless keyboard and its receiver, and then they crack the encryption key being used to secure wireless communications between the two devices.
Anti-spyware applications are able to detect many keyloggers and cleanse them. Responsible vendors of monitoring software support detection by anti-spyware programs, thus preventing abuse of the software. Enabling a firewall does not stop keyloggers per se, but can possibly prevent transmission of the logged material over the net if properly configured. Network monitors (also known as reverse-firewalls) can be used to alert the user whenever an application attempts to make a network connection. This gives the user the chance to prevent the keylogger from "phoning home" with his or her typed information. Automatic form-filling programs can prevent keylogging entirely by not using the keyboard at all. Most keyloggers can be fooled by alternating between typing the login credentials and typing characters somewhere else in the focus window.
Electromagnetic waves released every time key is pressed on the keyboard can be detected by a nearby antenna and interpreted by computer software to work out exactly what was typed.
The use of any keyboard may cause serious injury (that is, carpal tunnel syndrome or other repetitive strain injury) to hands, wrists, arms, neck or back. The risks of injuries can be reduced by taking frequent short breaks to get up and walk around a couple of times every hour. As well, users should vary tasks throughout the day, to avoid overuse of the hands and wrists. When inputting at the keyboard, a person should keep the shoulders relaxed with the elbows at the side, with the keyboard and mouse positioned so that reaching is not necessary. The chair height and keyboard tray should be adjusted so that the wrists are straight, and the wrists should not be rested on sharp table edges. Wrist or palm rests should not be used while typing.
Some Adaptive technology ranging from special keyboards, mouse replacements and pen tablet interfaces to speech recognition software can reduce the risk of injury. Pause software reminds the user to pause frequently. Switching to a much more ergonomic mouse, such as a vertical mouse or joystick mouse may provide relief. Switching from using a mouse to using a stylus pen with graphic tablet or a trackpad such as a Smart Cat trackpad can lessen the repetitive strain on the arms and hands.