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.

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

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

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

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.
 * 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.
 * 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; 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 and paste  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, 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. 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. traditionally stopped programs in DOS.  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.
 * 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.
 * (sometimes known outside Windows as ) 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. to minimize all open windows, then again to restore them). When connected to a Macintosh computer, the Windows key behaves like the Command key.
 * brings up the active application's context menu, in a similar way to right-clicking.
 * opens Microsoft Copilot in Windows. It superseded the menu key on January 4, 2024.
 * 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.
 * 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.