The keyboards for IBM PC compatible computers are standardized. However, during the more than 30 years of PC architecture being constantly updated, multiple types of keyboard layout variations have been developed.

A well-known class of IBM PC keyboards is the Model M. Introduced in 1986 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.

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:

Additional MS Windows key (×2) and Menu key added (one MS Windows key to the right of the left control key, the other and the Menu key to the left of the right control key). Introduced for use with the MS Windows 95 operating system. Most modern PCs, whether supplied with MS Windows or not, are now delivered with this layout. Like the Enhanced layout, the MS Windows keyboard layout differs from region to region:

Common additions to the standard layouts include additional power management keys, volume controls, media player controls, 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.[2] 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.[2] 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.[3]

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".[4] 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.[5]BYTE columnist Jerry Pournelle praised the keyboard's feel as "excellent" 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.[6]BYTE's 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".[7]

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.

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

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

~ is the tilde, an accent backspaced and printed over other letters for non-English languages. Nowadays the key does not produce a backspaceable character and is used for 'not' or 'circa'.

` is a grave accent or backtick, 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 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 EBCDICcodepages, vertical bar and divided vertical bar are separate characters). This character is often known as a "pipe" or a "fencepost."

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.[8] 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.

⊞ WinWindows key (also known as the "super" key) 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).

The menu key brings up the active application's context menu, similar to right-clicking.

AltGr works like the Ctrl+Alt key combination, often used in combination with other keys to print special characters like the backslash on non-English keyboards.

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 alternate 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 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.[9]