IBM PC keyboard

The keyboard for IBM PC-compatible computers is standardized. However, during the more than 30 years of PC architecture being frequently updated, many keyboard layout variations have been developed.

A well-known class of IBM PC keyboards is the Model M. Introduced in 1984 and manufactured by IBM, Lexmark, Maxi-Switch and Unicomp, the vast majority of Model M keyboards feature a buckling spring key design and many have fully swappable keycaps.

Keyboard layouts

The PC keyboard changed over the years, often at the launch of new IBM PC versions.

Name Keys Description Image
Model F (PC/XT) 083 Original left-hand side function key (F key) columns, F1 through F10; electronically incompatible with PC/AT keyboard types 83-key PC/XT keyboard Introduced with original IBM PC August 1981.
Model F (PC/AT) 084 Additional SysRq (system request) key; numerical block clearly separated from main keyboard; added indicator LEDs for Caps/Scroll/Num lock 84-key PC/AT keyboard Introduced August 1984.
Model M (Enhanced) Additional navigation and control keys; 12 F keys in separate row along top, grouped F1–4, F5–8, and F9–12. Early models of Enhanced keyboard (notably those manufactured by Northgate Ltd.) maintained the layout with function keys on the left side, arranged in two columns of six pairs. This layout was more efficient for touch typists but was superseded in the marketplace by that with F-keys along the top. PS/2 released April 1987. There are different versions of the Enhanced keyboard layout:
101 standard US layout
  • double-width Return key (spanning C12 and C13) with a 1.5-width key at D13
  • double-width Backspace key (spanning E13 and E14)
101-key Enhanced keyboard Introduced April 1986.[1]
102 European layouts
  • different shaped Return key (spanning 1.5-width D13 and C13) with the U.S. D13 at C12 and single width
  • double-width Backspace key (spanning E13 and E14)
  • additional 1 key to the right of the Left Shift key (B00)
102-key Enhanced keyboard Introduced April 1986.
103 Korean layout
  • different shaped Return key (spanning 1.5-width D13 and C13) with the U.S. D13 at C12 and single width
  • double-width Backspace key (spanning E13 and E14)
  • additional 2 keys: one to the left (A03) and one to the right (A07) of the space bar; both language input keys
104 Brazilian ABNT NBR 10346 variant 2 (alphanumeric portion) and 10347 (numeric portion).
  • different shaped Return key (spanning 1.5-width D13 and C13) with the U.S. D13 at C12 and single width
  • double-width Backspace key (spanning E13 and E14)
  • additional 3 keys: one to the right of the Left Shift key (B00), one to the left of the Right Shift key (B11), and one on the numeric keypad above Enter (C54)
104-key Windows keyboard
106 Japanese JIS layout
  • different shaped Return key (spanning 1.5-width D13 and C13) with the U.S. D13 at C12 and single width
  • single-width Backspace key (at E14)
  • additional 5 keys: one to the left (A03) of the space bar, two to the right (A06 and A07) of the space bar, one to the left of the Right Shift key (B11), and one to the left of the Backspace key (E13); three of which are language input keys
  • the key at E00 is another language input key but exists on the 101-key U.S. layout
106-key Enhanced keyboard
Windows[2] Additional Windows key (×2) and Menu key added (one Windows key to the right of the left control key, the other and the Menu key to the left of the right control key).[2][3] Introduced in the Microsoft Natural keyboard for use with the Windows 95 operating system.[4] Most modern PCs, whether supplied with Microsoft Windows or not, are now delivered with this layout.[5] Like the Enhanced layout, there are regional variants of the Windows keyboard layout:[5]
104 standard US layout (as above) Modern 104-key Windows keyboard
105 European layouts[5] (as above) 105-key Windows keyboard
106 Korean layout (as above) Modern 106-key Windows keyboard
107 Brazilian ABNT NBR 10346 variant 2 (alphanumeric portion) and 10347 (numeric), as above Modern 107-key Windows keyboard
109 Japanese layout (as above)
Esc F1 F2 F3 F4 F5 F6 F7 F8 F9 F10 F11 F12 PrtScn/
SysRq
Scroll
Lock
Pause/
Break
TildeExclamation markAt signNumber signDollar signPercent signCaretAmpersandAsteriskParenthesisParenthesisUnderscorePlus signBackspaceBacktick1 (number)2 (number)3 (number)4 (number)5 (number)6 (number)7 (number)8 (number)9 (number)0Hyphen-minusEquals signBackspaceTab keyQWERTYUIOPCurly bracketCurly bracketVertical barTab keyQWERTYUIOPSquare bracketSquare bracketBackslashCaps lockASDFGHJKLColon (punctuation)Quotation markEnter keyCaps lockASDFGHJKLSemicolonApostropheEnter keyShift keyZXCVBNMBracketBracketQuestion markShift keyShift keyZXCVBNMComma (punctuation)Full stopSlash (punctuation)Shift keyControl keyWindows keyAlt keySpace barAlt keyWindows keyMenu keyControl key
Insert Home PgUp Num
Lock
Delete End PgDn 7 8 9 +
4 5 6
1 2 3 Enter
   0
   Ins
 . 
Del

Common additions to the standard layouts include additional power management keys, volume controls, media player controls (e.g. "Play/Pause", "Previous track", "Next track) and miscellaneous user-configurable shortcuts for email client, World Wide Web browser, etc.

The IBM PC layout, particularly the Model M, has been extremely influential, and today most keyboards use some variant of it. This has caused problems for applications developed with alternative layouts, which require keys that are in awkward positions on the Model M layout – often requiring the pinkie to operate – and thus require remapping for comfortable use.[6] One notable example is the escape key, used by the vi editor: on the ADM-3A terminal this was located where the Tab key is on the IBM PC, but on the IBM PC the Escape key is in the corner; this is typically solved by remapping Caps Lock to Escape.[6] Another example is the Emacs editor, which makes extensive use of modifier keys, and uses the Control key more than the meta key (IBM PC instead has the Alt key) – these date to the Knight keyboard, which had the Control key on the inside of the Meta key, opposite to the Model M, where it is on the outside of the Alt key; and to the space-cadet keyboard, where the four bucky bit keys (Control, Meta, Super, Hyper) are in a row, allowing easy chording to press several, unlike on the Model M layout. This results in the "Emacs pinky" problem.[7]

Reception

Although PC Magazine praised most aspects of the 1981 IBM PC keyboard's hardware design, it questioned "how IBM, that ultimate pro of keyboard manufacture, could put the left-hand shift key at the awkward reach they did".[8] The magazine reported in 1982 that it received more letters to its "Wish List" column asking for the ability to determine the status of the three lock keys than on any other topic.[9] Byte columnist Jerry Pournelle described the keyboard as "infuriatingly excellent". He praised its feel but complained that the Shift and other keys' locations were "enough to make a saint weep", and denounced the trend of PC compatible computers to emulate the layout but not the feel.[10] He reported that the layout "nearly drove" science-fiction editor Jim Baen "crazy", and that "many of [Baen's] authors refused to work with that keyboard" so could not submit manuscripts in a compatible format.[11] The magazine's official review was more sanguine. It praised the keyboard as "bar none, the best ... on any microcomputer" and described the unusual Shift key locations as "minor [problems] compared to some of the gigantic mistakes made on almost every other microcomputer keyboard".[12]

"I wasn't thrilled with the placement of [the left Shift and Return] keys, either", IBM's Don Estridge stated in 1983. He defended the layout, however, stating that "every place you pick to put them is not a good place for somebody ... there's no consensus", and claimed that "if we were to change it now we would be in hot water".[13]

Standard key meanings

The PC keyboard with its various keys has a long history of evolution reaching back to teletypewriters. In addition to the 'old' standard keys, the PC keyboard has accumulated several special keys over the years. Some of the additions have been inspired by the opportunity or requirement for improving user productivity with general office application software, while other slightly more general keyboard additions have become the factory standards after being introduced by certain operating system or GUI software vendors such as Microsoft.

From mechanical typewriters

  • Shift selects the upper character, or upper case of letters. The Shift key in typewriters was attached to a lever that moved the character types so that the uppercase characters could be printed on the paper. Unlike mechanical typewriters, PC keyboards do not capitalize all letters properly when both shift keys are engaged simultaneously.[citation needed]
  • Caps Lock selects upper case, or if shift is pressed, lower case of letters. In mechanical typewriters, it worked like the Shift key, but also used a lock to keep the Shift key depressed. The lock was released by pressing the Shift key.[citation needed]
  • Enter wraps to the next line or activates the default or selected option. ASCII keyboards were labeled CR or Return. Typewriters used a lever that would return the cylinder with the paper to the start of the line.
  • Tab produces an ASCII tab character, moving to the next tab stop.

From Teletype keyboards

  • Ctrl shifts the value of letters and numbers from the ASCII graphics range, down into the ASCII control characters. For example, CTRL-S is XOFF (stops many programs as they print to screen) CTRL-Q is XON (resume printing stopped by CTRL-S).
  • Esc produces an ASCII escape character. It may be used to exit menus or modes.
  • ~ is the tilde, an accent backspaced and printed over other letters for non-English languages. Nowadays the key does not produce a backspaceable character in US/UK keyboard layouts, and is used for 'not' or 'circa'.
  • ` is a backtick or grave accent, also formerly backspaced over letters to write non-English languages; on some systems it is used as an opening quote. The single quote ' is normally used for an acute accent.
  • ^ is a circumflex, another accent for non-English languages. Also used to indicate exponentiation where superscript is not available.
  • * is an asterisk, used to indicate a note, or multiplication.
  • _ is an underscore, which can be backspaced and overprinted to add emphasis, or in certain Programming Languages in place of a Space to form a compound word where the use of Space would yield several separate words.
  • | is a vertical bar, originally used as a typographic separator for optical character recognition. Many character sets break it in the middle so it cannot be confused with the numeral "1" or the letter "l" (in most EBCDIC codepages, vertical bar and divided vertical bar are separate characters). This character is often known as a "pipe" (after its use in Unix shells) or a "fencepost".

Invented for computers with video displays

  • Function keys are the F-numbered keys. Their use varies by program; F1 is often Help.
  • Cursor keys (, , , ) move the cursor on the screen. When shifted, they select items.
  • Home moves the cursor to the start of text, usually the left side of the screen.
  • End moves the cursor to the end of the current line.
  • PgUp and PgDn move through the document by pages.
  • Del (Delete) deletes the character after the cursor, or the selected items.
  • Ins (Insert) originally toggled between text insertion and overwrite modes. Importantly, it is involved along with Ctrl and Shift keys in keyboard shortcuts for copy (Ctrl+Insert) and paste (⇧ Shift+Insert) according to the IBM CUA user interface guidelines; the IBM CUA shortcuts are still widely supported by most current PC operating systems, and many PC users who learned those shortcuts between the late 1980s and the early 1990s may still find them more natural, convenient, or ergonomic than their "modern" Ctrl+X/C/V counterparts, given the close proximity of the Ctrl, Shift and Insert keys to the cursor movement keys. This particular role of the Insert key is often overlooked by modern-times documentation, if not hardware design, which tend to attribute to "Insert" only its more obvious, but much less frequently used and somewhat obsolete, original function.
  • Print Screen originally printed a text image of the screen. (On modern computers, Ctrl+Print Screen usually takes a screenshot.) With the Alt key, it switched to SysRq, a different keycode.
  • Num Lock toggles the state of the numeric keypad. When off, the keypad acts as arrow and navigational keys. When on, it is a 10-key number pad similar to a standard calculator. Preferences vary so much that a favorite default for this key can often be configured in the BIOS. The key continues to exist on keyboards with separate arrow keys to accommodate those who still prefer the toggleable keypad.
  • Scroll Lock is little-used. IBM documentation described it as "inactive", and the key's purpose was a mystery even to keyboard manufacturers.[14] In modern software, typing text usually causes previous text to scroll off the top of the screen or window. Some old programs could disable this and restart at the top of the window when scroll lock was pressed. The advantage is that the entire screenful of text does not shift, making it easier to read. Scroll Lock was also used to lock the cursor on its line and scroll the work area under it. In spreadsheets such as Microsoft Excel, it locks the cell pointer on the current cell, allowing the user to use the arrow keys to move the view window without moving the cell pointer. On some consoles (such as the Linux console), it prevents scrolling of messages until another key combination is pressed. Many hardware KVM switches use Scroll Lock to switch between the devices they control.
  • Pause pauses output or processing. In combination with Ctrl, it produces a keycode for Break. Ctrl+Break traditionally stopped programs in DOS. Ctrl+Break is also used to halt execution of the debugger in some programming environments such as Microsoft Visual Studio. In combination with the Windows key, it opens the System Properties window in Microsoft Windows environments.
  • Alt shifts the letters and numbers into the range above hex 0x80 where the international characters and special characters exist in the PC's standard character set. Alt plus a number typed on the numeric keypad produces special characters; see Windows Alt keycodes.
  • Win (sometimes known outside Windows as Super) is a quick way to open the Start menu in Microsoft Windows's standard Explorer shell, and can usually be configured to open the main menu in other operating systems. In Microsoft Windows, the Windows key can also be used in combination with other keys to perform desktop-related actions (e.g. ⊞ Win+M to minimize all open windows, then again to restore them). When connected to a Macintosh computer, the Windows key behaves like the Command key.
  • Menu brings up the active application's context menu, in a similar way to right-clicking.
  • Copilot opens Microsoft Copilot in Windows. It superseded the menu key on January 4, 2024.[15][16] The key actually enters ⊞ Win+⇧ Shift+F23.[17]
  • AltGr is often used in combination with other keys to print special characters like the backslash on non-English keyboards. It can often be emulated by Ctrl+Alt.
  • Fn may be present on compact keyboards such as those built into laptop computers. When depressed in combination with other keys, it either enables the user to access key functions that do not have dedicated keys on the compact keyboard (such as the numeric keypad simulation block), or it controls hardware functions such as switching between the built-in screen and an external display, changing screen brightness, or changing speaker volume. These secondary meanings are usually indicated with text or symbols of a different color printed on the key, with the 'Fn' key text having that same color.
  • Turbo is present on some keyboards. It is usually on the right side of the right Shift key. When depressed in combination with a function key it sets the key repeat rate.[18]

Connection

System Connector Image Pinout Transmission Protocol Command Strings
PC (Type 1) [19] 5-pin DIN
(DIN 41524)
5-pin DIN connector 1 CLK

2 DATA
3 -RESET
4 GND
5 +5V

2 start bits,
8 data bits,
make/break bit (keydown/keyup),
1 stop bit

keyboard reset via pin 3 to ground

Not supported
XT (Type 2) [20] 1 CLK

2 DATA
3 N/C
4 GND
5 +5V

2 start bits,
8 data bits,
make/break bit (keydown/keyup),
1 stop bit

keyboard reset via sequence on DATA and CLK lines

AT 1 CLK

2 DATA
3 N/C
4 GND
5 +5V

1 start bit,
8 data,
1 parity (odd),
1 stop bit
keyboard reset via command string
Supported
PS/2
"PS/2 port"
6-pin Mini-DIN
(DIN 45322)
6-pin DIN connector 1 DATA

2 N/C (or MOUSE DATA)
3 GND
4 +5V
5 CLK
6 N/C (or MOUSE CLK)

Later
PC compatibles
4-pin USB
Type A connector
USB Type A connector 1 +5V

2 Data −
3 Data +
Ground

sync field plus
8-bit bytes as packets
(HANDSHAKE, TOKEN, DATA, Special packets),
least-significant bit first.

See also

Notes

  1. ^ IBM. IBM Enhanced Keyboard for the Personal Computer Announcement Letter. 1986-04-18.
  2. ^ a b Ivens, Kathy (1998). Using Microsoft Windows 95 (4th ed.). Que. p. 165. ISBN 978-0-78971573-9.
  3. ^ Mueller, Scott (1998). Upgrading and Repairing PCs. The Scott Mueller library series. Vol. 1 (10th ed.). Que. p. 450. ISBN 978-0-78971636-1.
  4. ^ Corcoran, Cate T. (1994-09-05). "Microsoft keyboard ships". InfoWorld. p. 36.
  5. ^ a b c Mueller, Scott (2011). Upgrading and Repairing PCs (20th ed.). Que. pp. 1115–16. ISBN 978-0-13268218-3.
  6. ^ a b Lee, Xah. "History of Emacs & vi Keys (Keyboard Influence on Keybinding Design)".
  7. ^ Lee, Xah. "How To Avoid The Emacs Pinky Problem". Retrieved 2009-11-08.
  8. ^ Edlin, Jim; Bunnell, David (February–March 1982). "IBM's New Personal Computer: Taking the Measure / Part One". PC Magazine. p. 42. Retrieved 20 October 2013.
  9. ^ Edlin, Jim (November 1982). "The PC's Keys". PC Magazine. p. 175. Retrieved 21 October 2013.
  10. ^ Pournelle, Jerry (November 1984). "NCC Reflections". BYTE. p. 361. Retrieved 23 October 2013.
  11. ^ Pournelle, Jerry (June 1983). "Zenith Z-100, Epson QX-10, Software Licensing, and the Software Piracy Problem". BYTE. Vol. 8, no. 6. p. 411. Retrieved 20 October 2013.
  12. ^ Williams, Gregg (January 1982). "A Closer Look at the IBM Personal Computer". BYTE. p. 36. Retrieved 19 October 2013.
  13. ^ Curran, Lawrence J.; Shuford, Richard S. (November 1983). "IBM's Estridge". BYTE. pp. 88–97. Retrieved 19 March 2016.
  14. ^ Sandler, Corey (January 1983). "Key Tronic's Soft Touch". PC Magazine. p. 347. Retrieved 21 October 2013.
  15. ^ "Microsoft's new Copilot key is the first big change to Windows keyboards in 30 years". The Verge. Vox Media. January 4, 2024. Retrieved January 6, 2024.
  16. ^ "Introducing a new Copilot key to kick off the year of AI-powered Windows PCs - Windows Experience Blog". blogs.windows.com. Retrieved 2024-01-06.
  17. ^ "Windows Copilot key is secretly from the IBM era — but you can remap it with the right tools". www.tomshardware.com. Retrieved 2024-10-22.
  18. ^ Belkin International. Knowledge Base Article 3532
  19. ^ International Business Machines Corporation (1983): IBM Personal Computer XT Technical Reference Manual, pages D-12 to D-13.
  20. ^ International Business Machines Corporation (1983): IBM Personal Computer XT Technical Reference Manual, pages D-14 to D-15.