The IBM Personal Computer, announced on the historic date of August 12, 1981, and first delivered ahead of schedule in October, had the keyboard arrangement illustrated below:

For simplicity, and to avoid having to abbreviate the legends on some keys, it does not show that many of the keys had a raised central portion, so that the faces of the larger keys were the same size as those of the smaller ones.
The keyboard was not changed when the IBM Personal Computer XT was introduced, which was a modified version of the IBM PC with a 10 megabyte hard drive and with more slots spaced more closely together, and this keyboard design was also retained for the 68000-based CS9000 system from IBM intended for use with laboratory instrumentation.
Essentially the same keyboard had been used prior to the IBM PC, in the IBM System/23 Datamaster computer. This computer appears to have been intended as a successor to the IBM 5110-3 processor which formed the centerpiece of the IBM 5120 system.
When the IBM PC was first introduced, it came with a cassette tape port, and it was envisaged that at least a few people might purchase it for use as a home computer. The design was flexible; it was possible to purchase the computer with the CGA video card, compatible with television standards, to display color graphics, or with a monochrome adapter, which required a monitor, for more attractive display of 80-column text.
As there were a number of less expensive machines aimed at the home market, IBM later came out with a computer based on the IBM PC, but less expensive, which was aimed specifically at the home market. This was the PCjr, the keyboard of which is shown below:

With only 62 keys, the keyboard of the PCjr computer achieves compatibility, or at least near-compatibility, with that of the IBM PC with a very small number of keys.
The Alt and Fn keys are shown in color in this diagram to make it clear that, while most of the functions on the front of the keys are reached by using the Fn key, the printable characters which no longer have their own keys are reached by the use of the Alt key.
The original PCjr keyboard, which had small keys to allow overlays, came in for some unjustified criticism. It may not have looked as much like a regular keyboard as its replacement, but neither the spacing of the keys, nor the technology used for the contacts (and hence the feel of the keyboard) was changed when they replaced the keyboard with one having a more conventional appearance.
Yet, at the time, a number of people did make the claim that the original keyboard had keys spaced too closely together for touch-typing, while the revised keyboard did not, and also claimed that the revised keyboard significantly improved the feel of the original.
It certainly was true that both the original and the revised keyboards for the IBM PCjr did not have the degree of tactile feedback which the IBM PC keyboard provided; however, this was also true for virtually all keyboards offered by competitors of IBM, which was almost alone in offering a mechanical keyboard rather than one with rubber contacts.
This keyboard came out before the 101-key keyboard, and, thus, was IBM's first PC keyboard to put both shift keys, the Enter key, and the Backspace key all in their correct positions, as found on a 44-key electric typewriter. This was unusual and unfortunate, as IBM had made many terminal devices with excellent keyboard arrangements.
Another early computer from IBM which was based on the IBM PC but which had a different keyboard arrangement was the IBM 3270 Personal Computer. The arrangement of keys on this computer's keyboard is shown below:

The positioning of the Enter key and the left shift key on the original IBM Personal Computer keyboard were unpopular with many users; these things were corrected in the keyboard for the IBM Personal Computer AT:

This keyboard, except for the extra System Request key, has exactly the same keys as the original PC keyboard, they are only arranged differently. This keyboard was very popular with computer users, despite the fact that now the Backspace key was hard to reach. So much so that when the 101-key Enhanced Keyboard, which will be discussed next, started to become common, many manufacturers of keyboards compatible with that keyboard produced keyboards with a layout that was modified to follow that of the 84-key AT keyboard more closely. (As will be clear from what follows, I am of the opinion that this was a mistake.)
The diagram below shows the arrangement of keys on the 101-key Enhanced Keyboard. As this keyboard arrangement is likely to be very familiar, and to be at least the basis of the arrangement used on the computer at which you are viewing this web site, even if it is a Macintosh, it may seem hardly necessary to include an image.

This keyboard arrangement was introduced on the IBM RT PC, which was IBM's first RS/6000-based workstation, and which ran IBM's AIX operating system, its licensed implementation of UNIX.
This keyboard design attracted notice, and became the industry standard, after the introduction of IBM's Personal System/2 line of computers, on which it was used; however, before then, it was used on other IBM systems, including the IBM XT 286, some later models of the Personal Computer AT. Also, prior to the Personal System/2, the Compaq Deskpro 386 offered a keyboard in this style as an option.
This keyboard finally placed both shift keys, the Enter key, and the Backspace key all in the locations familiar to typists. As well, it offered a cursor keypad that was always available, so that one could keep the keyboard in Num Lock mode, and have the numeric keypad available as well.
One noted computer columnist criticized the keyboard for having two extra function keys which would be unlikely to be used by software, due to compatibility concerns, for quite some time to come. This was, in itself, a valid criticism, but he overlooked the justification for this addition: that IBM's mainframe terminals generally had a set of either 12 or 24 function keys, and thus this change made terminal emulation programs for them more convenient; on older keyboards, the programs could use the other keyboard mappings already used for those keyboards.
Of course, I have always wondered why IBM didn't think a bit harder, and move a few keys around to keep the left shift key and the enter key (or, in the case of this keyboard's native application, the Field Exit or New Line key) in their standard positions, like this:

And, for that matter, they could very easily have avoided the same problem with the IBM Personal Computer as well:

and with the IBM Personal Computer AT, the required alteration would have been truly trivial:

Since there is some software that can benefit from a 122-key keyboard, but it has the disadvantage of a layout that differs from the 101-key standard, I've always wished that somewhat more elaborate keyboards might be available that attempt to combine the best of both arrangements:

Note that, in the numeric keypad, there are two adjacent keys which both generate the - character. This may strike some viewers as bizarre. As may be obvious, though, the intent is that the numeric keypad might be used for a calculator, and the white - key would be the "change sign" key, while the blue - key would be the "subtract" key. These keys can be provided with distinct scan codes by having the "change sign" key use the same scan code as the key on the main typing keyboard with a differentiating prefix while the "subtract" key uses the distinct scan code used for the minus sign on the numeric keypad. This sort of thing is discussed on the following page about the scan codes of keyboards for the IBM Personal Computer and its successors.
Actually, in practice, it might be necessary to get just a little bit more ultimate:

while using the ten keys to the left of the main keyboard for the left-over functions is sensible, as there are different Group 3 scan codes defined for the keys involved, it seems necessary to keep the keys in the traditional 101-key keyboard positions. As well, an Fn key is added, to allow choosing between different scan code sets for compatibility with different 122-key keyboards, for example.
Note that the three keys to the right of the letter P do not have the same positions as on the 102-key keyboard. As well, if I had been designing a keyboard from scratch, rather than one to provide compatibility with a number of keyboards for the IBM PC, I would have interchanged the backslash (\) and tilde (~) characters, so that the \ ` key would be at a remote position on the keyboard, while the | ~ key would be the one key with less common characters within the main 44-key area of the keyboard. (Of course, having an [ ] key in that position would have the advantage of providing the uppercase subset of ASCII, along with the lower-case letters, in that area, as was done on the TRS-80 Model 100 notebook computer, but as that loses the arrangement of { [ and } ] keys, I would not consider it.)
Thus, the first keyboard shown here was a 130-key keyboard; the 122-key keyboard with five calculator keys and three Windows keys added, and this keyboard is now a 139-key keyboard, with five keys from the 101-keyboard returned to the array, and three keys from the 84-key keyboard of the IBM Personal Computer AT added for total compatibility with really old computer games, and with an Fn key added.
Other rearrangements are possible, such as the following:

This keyboard can also be trimmed down to eliminate the keys peculiar to the 122-key keyboard:

or, perhaps better yet:

One key is left that seems to be a vestige of the 122-key keyboard, the key to the left of the left-hand shift key with < and > on it; but this key was also used on the 102-key keyboard, the international version of the 101-key keyboard, so this keyboard is simply a re-arrangement of the keys on the standard 105-key keyboard.
A more compact keyboard, applicable only to the 105-key keyboard, is shown on the page concerning keyboards in general, but a compact ultimate keyboard building on that keyboard could be the following:

However, that keyboard, although it has many keys on it, could still be considered to be a bit provincial.
The keyboard design below:

takes note of the fact that the Apple (or Swedish tourist attraction) key on Macintosh keyboards, as well as the Meta key on Sun keyboards, is between the spacebar and the key labelled as the Alt key, while the added Windows key on newer keyboards for the PC is on the outside of the Alt key.
So, having added keys on both sides of the Alt key leads to a keyboard that can be designed for use on the Macintosh and on Sun computers, as well as on PCs, as well as providing a clear and unambiguous location for Meta, Super, and Hyper.
The parenthesis keys are moved from the numeric keypad to be accessible instead from the main part of the keyboard by LISP programmers, and a colon key accompanies them. The Fn key is placed above the extra key for international keyboards, which is in turn placed above the right symbol shift key, which is above the Windows Menu key, and these four keys are placed in the area between the numeric keypad and the main keyboard.
Since Sun has made a version of Solaris available for the x86 architecture that runs on PC-compatible hardware, it would seem to be high time to have available a keyboard that supports that operating system on the one hand, as well as the use of Emacs and LISP, and IBM terminal emulation on the other hand.
And the Caps Lock key is switched with the left-hand Ctrl key so as to return the left-hand Ctrl key to its traditional location.
As well, the keyboard of the VT220 terminal, which will be shown below on this page, also supplied some items seen on this keyboard; the extra set of 10 function keys further to the left of the keyboard, legends in the lower half of the six keys found above the cursor keys (the top half being from the PC, and the front of the keys being from the 122-key keyboard) and in the first set of 10 function keys to the left of the keyboard (the top half being from the Sun keyboard, and the front of the keys from the 122-key keyboard again). The special coloring on PF1 and PF2 hearkens back to the VT78, the tradition of which affects how the VT220 is still used; in general, though, the coloring of keys on DEC terminals is not a major influence on the color scheme of this keyboard.
Or, for something which stays a bit closer to the conventional PC keyboard arrangement (omitting the VT220, but including the Sun and LISP machines as influences):

While a keyboard such as this may seem completely outré, it may be noted that there are firms which make multi-platform keyboard/video/mouse (KVM) switches which can allow one keyboard and mouse to control a number of computers, some of which are PC-compatible and some of which are Sun workstations. Allowing the PC-compatible computers to be used for 3270 emulation, and, thus, merging the Sun Type 5/6/7 keyboard design with that of the 122-key Host Connected Keyboard from IBM is not, in itself, necessarily lacking in practical merit.
But going beyond that to include the three keys whose scan codes were dispersed in going from the 84-key AT keyboard to the 104-key keyboard, presumably to allow the effective use of a very few very old PC programs, and providing support for perhaps running a LISP Machine emulator, yes, these are things that do have to be acknowledged as going too far. So, if we remove those excesses, we obtain something like this:

which also no longer shows the APL character set, plus an alternate word processing keyboard layout, on the keys, as well. Of course, a real product would likely not have the elaborate color scheme shown in this diagram either.
Keyboards with the backspace key, and/or the Enter key, in unusual positions were very common from a great many computer makers because of the fact that 94, rather than 88, characters need to be produced by a keyboard for ASCII with lower case. Displacing the shift key, on the other hand, is very unusual.
But it occasionally does happen. Displacing the right-hand shift key one position over, rather than the left-hand shift key as on the IBM PC, was done on the Atari 400 and 800 computers, and on at least one IBM product:

the fondly remembered IBM 5100 portable computer. One bit of trivia: yes, its APL program was a modified version of APL/SV, but its processor was not able to run IBM 370 code. Instead, it ran a program to emulate much of the IBM 370 instruction set.
The IBM 5110 began life as a computer that strongly resembled the IBM 5100, but which had a different color scheme. As well, it was marketed for different uses involving larger configurations. This led to the introduction of the IBM 5110-3 processor, which then formed part of the IBM 5120 system. It had the same keyboard layout as the IBM 5100, but the screen had an 8 inch diagonal instead of a 5 inch diagonal, and it used 8-inch floppy disks rather than a cartridge tape for removable data storage.
The IBM System/23 Datamaster computer had basically the same form factor as the IBM 5110-3, and was clearly intended as its successor. As that computer had the same keyboard layout as the IBM PC, and the same team that worked on it had the IBM PC as their next project, that computer is generally considered to be the predecessor of the IBM PC.
As for the left-hand shift key, several IBM products which preceded the IBM PC placed an extra printable character key between the key for the letter Z and that shift key. IBM had felt the need to extend the keyboards on its products so that they could include characters found in ASCII which had not previously been used with their computers.
ASCII is a 7-bit code; IBM computers used EBCDIC, an 8-bit code, but IBM terminals usually used graphic characters only from a 6-bit subset of EBCDIC, with the possible addition of lower-case letters. So there was room to define EBCDIC characters to represent the additional graphics from ASCII.
This happened across several IBM product lines.
For example, here is one of the more popular keyboard arrangements for the original IBM 3277 Display Station, part of the IBM 3270 display subsystem:

Well before the IBM PC came out, this terminal was updated, and its replacement, the IBM 3278 Display Station, had this as one of its keyboard arrangements:

Another IBM product whose successor was affected by this transformation was the IBM System/32, whose keyboard is shown below:

This was the keyboard of the computer itself; workstations could be attached to it which usually had a different keyboard arrangement without a numeric keypad. It used a small plasma display with eight lines of text.
Later, the IBM 5251 Display Station was used with the System/34 computer, and its keyboard had the following arrangement:

An almost identical terminal, the IBM 5253 Display Station, but with different labels on the keys, was used with another IBM product of that time, a document management system. Similar terminals were also used with the IBM 5280 Distributed Data System, the IBM System/38 computer, and the IBM Series/1 minicomputer.
As the diagram below illustrates,

the keyboard of this terminal had the same number of keys as that of the IBM PC, and there were only some minor differences in the widths of a few keys.
And, thus it was, that when IBM came out with its Displaywriter standalone word processor, which used the IBM 8086 microprocessor and 8-inch floppies, some time before the IBM Personal Computer was introduced, it had a keyboard which in some ways resembled that of the 5251:

Even the humble Selectric typewriter, the keyboard of which was similar in layout to that of the IBM 2741 printing terminal, shown below:

was altered when the Selectric III typewriter was introduced:

Here, since the Selectric III typewriter was a mechanical device that didn't connect to anything, it wasn't compatibility with ASCII that was the goal, but a larger character set was still useful, to provide accented letters for foreign languages without having, in turn, to scrimp on punctuation marks and special symbols when doing so.
Also, the VT220 terminal from the Digital Equipment Corporation in 1983 includes a key between the key for Z and the left-hand shift key; this is after the introduction of the IBM PC, but before the 101-key keyboard came out:

This keyboard is also sometimes referred to by its own part number, the LK201 keyboard. On the later VT330 terminal, the LK401 keyboard was used, which had basically the same layout, except that there was an "Alt Function" key on both sides of the space bar, and a second right "Compose Character" key.
Incidentally, the PF1 key on the VT100 or the VT220 is sometimes called the "gold key", particularly when this terminal is used with editor software, even today by VMS users.
This key is the same color as the other PF keys on the VT100 terminal, and on the earlier VT52 terminal, the key in the corresponding position is red in color. The solution to this apparent mystery lies in the keyboard of another device which closely resembles the VT52 terminal in general appearance:

The VT78 word processing system from DEC, powered by a small internal computer sharing the PDP-8 architecture, is the one that had a gold-colored key in this position, giving it its name.
As well, displacement of both the left-hand shift key, and the Enter key as well, survives to this day on the international version of the keyboard for the successors of the IBM Personal Computer,

even in the United Kingdom of Great Britain and Northern Ireland, as the diagram above illustrates.
Looking at things from the other perspective, in the sense of looking for computer terminals and microcomputers where the back space, Enter (or carriage return) and shift keys were all in the right places, one can go back to the IBM 2741 terminal itself as an early example. When it comes to ASCII terminals and microcomputers, generally the best of the typewriter-pairing ASCII terminals had most of the keys in the right place, but the back space key was moved over one position to make way for the tilde and opening quote. Two early exceptions were the Radio Shack Model 100 portable computer, and the Radio Shack Model II computer (illustrated below); both of these achieved a typewriter-like arrangement through omitting some keys.

A terminal used with the WANG 2000 computer system also used this approach.
The Macintosh, even when it first became available in 1984, used a keyboard which moved the tilde and opening quote to where the Escape key is usually placed, the arrangement that later became standard for the IBM PC. Also, full ASCII keyboards with a more typewriter-like arrangement were offered for the IBM PC by third-party manufacturers from a relatively early date.
Copyright (c) 2003, 2005, 2007 John J. G. Savard