[Next] [Up] [Previous] [Next Section] [Home] [Other]

A related page about keyboards for the IBM PC and their scan codes.


Computer Keyboards

Of course, there are many aspects to the architecture of a computer besides its instruction set. As an example of a user-interface element that varies from one computer to another, here is a laptop-esque keyboard in what I consider to be a very nice, if old style, color scheme:

The various keys are colored as follows:

These choices of color, besides making keys of different general types easy to distinguish, reflect various computer systems or terminals that I have happened to have the opportunity to use. The grey color of the printable character keys, in addition to reflecting many older terminals, also follows innumerable electric typewriters.

This illustration

shows the subtle changes I would like to make to the keyboard that is standard on computers compatible with the IBM PC.

The APL character set is shown on the front of the keys. To allow the correspondence between the APL characters and the usual ASCII characters to seem more sensible, while keeping the APL characters in their usual positions, I had thought to modify the arrangement of the three keys to the right of the letter P. However, for general usefulness, it seems more appropriate to retain the standard typewriter-pairing APL/ASCII encoding, since the only character moved as a result from its conventional position on the APL keyboard is the right-arrow used for branching. As well, if the keys with their scan codes were actually re-arranged, which would seem to be required for maximum compatibility, then international versions of the keyboard would, in some cases, be compromised. Also, for the purpose of keeping paired keys together, the overstruck characters shown in yellow on the right of the front of the keys, while mostly corresponding to the arrangement found on a version of the IBM 3277 display station, are modified by a rearrangement which places the comment or lamp character on the ? and / key.

Also, largely following an IBM 122-key keyboard designed for APL, the six extra characters added to the APL character set on most ASCII terminals have four of the overstrikes added for APL2 shown as replacements on the right (the braces are left alone). The remaining three new APL2 overstrikes are placed as APL alternate characters on the extra keys. Two that were found on the extra > < key on the 122-key keyboard I used as a basis have been moved to the ~ ` key, since that is part of the real keyboard, however. The seventh extra APL2 character is the APL alternate character on the | \ key.

Other additional APL overstrikes, found on I. P. Sharp's Union keyboard, are placed on the remaining available keys; the > < key has two overstrikes for yen and cent sign as its basic characters, following the pattern of the dollar-sign overstrike in APL/ASCII, with diaresis circle and diaresis null as overrides; admittedly, this makes it awkward to access that full character set, since in general it was thought the overrides would be accessible on an either-or basis.

On the right of the regular face of the keys, also in yellow, are alternate characters for when the keyboard is switched into word processing mode, in which ASCII characters not found on a typewriter are exchanged for characters found on typewriters but not in 7-bit ASCII. On the left is a revised set of alternate characters, sometimes matching those for word processing mode, but not always, for typesetting mode; this, though, is probably excessive.

The extra key found on international versions of the PC keyboard is allowed to be present, but placed in an unobtrusive position. Originally, I had placed it on the left side of the left-hand shift key, but this has been changed to the left side of the CAPS LOCK key for reasons to be explained shortly.

In word processing mode, this key is used for the paragraph and section characters, which replace less than and greater than, and, as well, the comma and period keys are changed so as not to be affected by being shifted.

The keyboard is narrowed on the right-hand side, since the backspace, enter, and shift keys are all wider than necessary, and there is no reason, therefore, to have the | and \ key be wider than the others. But instead of narrowing the keyboard as a whole, the extra space this makes available can be used for two purposes on the left-hand side. The left-hand shift key can be made wider, ensuring that the extra international key (in its original position) is genuinely unobtrusive. As well, if the CAPS LOCK key is limited to normal width, an extra CTRL key can be placed in the traditional location many people are used to.

Placing the CAPS LOCK key on the far side of that extra control key seems reasonable, since a shift key has a greater need to be easily reachable when touch-typing. As well, to resolve the question of what scan code to use for a third control key, this key could be given a new scan code, switchable with that of the normal control key, so that it would have the alternate function of an additional shift key.

Instead, though, rather than switching a third shift key with the control key, I ended up leaving the Caps Lock key where it is; it could be the key to be switched, if desired, with the left-hand Control key. Thus, the international key is now on the far side of the Caps Lock key, and an additional shift key introduced on the outside of the shift keys on both sides of the keyboard.

Thus, the Alt, Windows-shift, and Ctrl keys in the bottom row could correspond to Meta, Hyper, and Super, respectively, while this new shift key could be used for the Greek/Front shift. In that mode, though, the keyboard would have no control key; otherwise, I manage to match the shift capabilities of the (in?)famous Space Cadet keyboard, which is illustrated on the next page.

Note that the additional graphic characters on the keys, such as the complete Greek alphabet and mathematical operators, to be reached with these additional shifts are not depicted on the keyboard; the APL character set is shown instead. But it is to be recognized that the extra shifts are partly to be used for allowing, in normal, non-APL mode, for reaching extra characters like those of the Space Cadet keyboard, as well as providing shortcuts for accessing editing functions within certain editors (particularly Emacs, of course).

But the control shift is also used in that situation. Well, since the Windows shift keys are already pressed into service, why not change the Windows menu key to the Caps Lock key, thereby letting the Caps Lock key be used as the Control key? Of course, the real Space Cadet keyboard, like the 101-key IBM PC keyboard, had paired control keys; one could chop a piece off the left of the space bar, making the new small key and the Windows menu key the control keys, I suppose, thus fitting a Space Cadet-like keyboard into the space of a 101-key PC keyboard, but it would probably be better to expand the keyboard a bit, so that neither the control keys nor the space bar would have to be cramped.

The previous keyboard illustration showed a basic set of keys that could fit on a normal PC keyboard, taking the same amount of space, even though moving the main area of the keyboard slightly to the right created space for a few additional keys. The emphasis was on showing how APL characters could be distributed.

Since, however, among the added keys were the extra shifts used with the Emacs editor, and on the Symbolics LISP machine, this inspired looking again at how an expanded keyboard which provides the extra keys used in a number of environments that people have grown fond of, and which can be hosted on a PC today.

Thus, the keyboard illustrated above has 148 keys, so that someone running Solaris on their machine, or someone running a system based on the old Symbolics LISP Machine software or someone connecting to an IBM mainframe via IBM terminal emulation, and thus wanting the extra keys from the 122-key keyboard: those who were doing any or all of those things would have all the keys they are looking for.

As for this color scheme that I favor, while since it is simply an aid to locating keys on a keyboard that is before one's eyes, there is no need to memorize the scheme; however, the following aid to recalling the scheme has come to my mind (perhaps anticipating its detractors):

On a ten-color keyboard,
the kinds of keys you'll see:

Black special functions,
Yellow cursor keys,
Grey letters, and an
Orange equal sign;
Blue operators.

Brown function keys,

Green control keys;
Cream shift keys;
White number keys,

And a Red Pause and Break key.

The tune to which it is to be sung should be obvious.

But now that doesn't count the eleventh color, light grey, used for keys preserved from the 83-key and 84-key keyboards for the IBM PC and AT... since the way their functions have been re-arranged could potentially create problems with legacy software expecting keys that generate single scan codes. The System Request key, shown for completeness, though, could be omitted: since PC hardware treats it as special, and it wasn't found on the original PC, it's unlikely any old software would have used it as just a key and in various shift states.

In my youth, designing imaginary keyboards with this color scheme, I included keys for "insert mode", "overstrike mode", and "replace mode". The "replace mode" key turned off both insert mode and overstrike mode. Insert mode worked only when the cursor was previously moved to the left using the 'cursor left' key, and worked the way insert mode works on most computers - causing characters to be typed to move those after them to the right. Overstrike mode worked only when the cursor was previously moved to the left using the 'backspace' key. So one could have insert mode and overstrike mode both turned on - and either insert when one used the cursor left key (a key typically found on electronic computer terminals, which could insert) or overstrike when one used the backspace key (found on typewriters, which can do naught but overstrike) or replace by using the "rub out" or "delete" key, nicely located below the right shift key, like the correction key on an IBM Selectric II typewriter.

The keyboard illustrated at the top attempts to be compatible with that of the IBM Personal Computer. Below is illustrated a computer keyboard that does not make such an attempt:

Back in the era of 8-bit computers, the number of keys on the keyboard was kept to a minimum. Sometimes, the type of key used was also compromised in quality. Gradually, however, 8-bit computers came out with larger keyboards and better-quality keys.

For example, the Sinclair QL computer (which was based on a version of the Motorola 68000 that had an 8-bit data bus, so, like the IBM PC, it was a 16-bit home computer) had a set of five function keys, and a full upper- and lower- case ASCII keyboard.

The keyboard above shows what might have become available had that trend continued somewhat further.

Since the computer is designed for home use, it has a main typing area with 44 keys, which is arranged like that of an electric typewriter, even to the extent of having the characters ¢, ½, and ¼. And, furthermore, since it is for home use, and people getting their first computer might previously have had only a manual portable typewriter, the keyboard allows switching to the manual typewriter keyboard arrangement as an option! When the CAPS LOCK key is used, the letter keys produce capital letters when not shifted, but when shifted, they produce 26 additional special characters, which include all the ASCII characters omitted from the main keyboard layout.

A numeric keypad is included, and it's a relatively generous one, including a comma key as may be convenient for entering lists of numbers, and all the basic keys needed for a calculator, even an enter exponent key.

The original IBM PC used the same keys for cursor keys and for the numeric keypad. Here, the four cursor keys are located near the main keyboard in a manner used with several computers and terminals, the Sinclair QL being one of the examples. Instead, to keep from having to add several function keys as well, the numeric keypad does double duty as a set of function keys, under the control of the FUNCTION LOCK (FN LOCK) key. But what if it is desired to use function keys with a spreadsheet program, which, making heavy use of numbers, is one where the numeric keypad is desired? Then Shift-FN LOCK instead turns the top row of 12 keys on the regular keyboard, when unshifted, into function keys.

The Fn key can be used always with both groups of keys for a function key function, and the Alt key can be used with the letter keys when not in caps lock mode for their special characters.

As there is no break key, a combination such as Control-Backspace might serve that function. Word processing programs on the PC often used the Alt key with the letter keys for special functions; here, the Code key may be used for that instead, and the Fn key could also be used with the letter keys for additional functions.

All in all, it seems like this is quite a powerful and convenient keyboard with only 82 keys. Since the +/- or change sign key, and the enter exponent key are only useful when the computer is simulating a calculator, two of the most popular advanced cursor functions, insert and home, are given to these keys as their usual functions. To make the other useful functions of Page Up, Page Down, Delete Char, and End Line as found on the PC keyboard available, at least as shifted functions, other keys along the bottom of the keyboard have been pressed into service.

There is one alternative character set, sadly neglected on today's computers, that I would also wish to include on an ideal keyboard:

The illustration above, of course, shows the keyboard arrangement used for the programming language APL.

The small characters in red on the right of the keys show how the APL keyboard could be related to a particular ASCII keyboard arrangement, the typewriter-pairing keyboard.

Of course, APL was originally used with IBM 2741 terminals, with 88 printable characters other than the space.

ASCII terminals had 94 characters; a standard was agreed upon for the extra six characters, and the first computer terminal I encountered which implemented this standard was the Tektronix 4014. An APL version of the Teletype Model 38 was another one of the earliest terminals to include them.

The Backspace and Enter keys are displaced by the arrangement of printable character keys shown; they return to their traditional 88-character electric typewriter positions with the arrangement found on the 101-key keyboard for the IBM Personal Computer. Unlike some others, as a touch-typist, I felt that IBM had finally gotten it right on their third try.

Incidentally, here is the same keyboard arrangement as it would appear in association with the bit-pairing keyboard arrangement.

Keyboards used on ASCII terminals originally were designed so that the least significant bits of both characters on the key were the same; such terminals were called bit-pairing keyboards. The positions of characters in ASCII were chosen so that this arrangement would have some resemblance to that of characters on a manual typewriter.

The diagram below illustrates the history that led to two different kinds of ASCII keyboard:

The fourth row of keys shows how many of the special characters, particularly those above the numbers, were arranged on a manual typewriter.

When electric typewriters were invented, since the force with which the key hit the paper was provided mechanically, to simplify ensuring that smaller characters such as some punctuation marks struck the paper with a lighter force, such characters were grouped together on the same key, so that it would not be necessary to change a key from light force to full force depending on whether or not shifted characters were being printed.

Thus, the key that used to contain @ and ¢ instead became the " and ' key, and the underscore replaced the asterisk as the shift of the hyphen, as well as the changes shown moving from the manual typewriter arrangement to the electric typewriter arrangement, as shown in the next row above, the third row, on the diagram.

The original ASCII terminal was, of course, the mechanical Teletype model 33. The characters in ASCII were allocated so that their codes would make it easy to give the keyboard of a mechanical teletypewriter an arrangement of characters which would have some resemblance to that of a typewriter. Arranging the codes for ( and ) in a logical manner, and giving both the digit zero and the space codes which ended in four zero bits imposed some limitations that led to the last few special characters being moved left by one key. The manual typewriter, rather than the electric one, was used as a basis, and the changes can be seen going from the second row, with the manual typewriter arrangement, to the fifth row with the bit-pairing arrangement.

Other developments are also shown in the diagram. Going down from the fifth row to the sixth row, we see the changes that were made in going from the teleprinter keyboard to the bit-pairing electronic keyboard which also included lowercae. Going up from the third row to the second row, we see the changes made in going from the electric typewriter to the original typewriter-pairing arrangement, and then going from the second row to the top row, we see the additional changes that took place between that arrangement and the current one on the PC.

Later on, when electronic terminals could easily be given a keyboard arrangement that matched that of a typewriter as closely as possible, the electric typewriter had become more common than the manual typewriter, so it was chosen as the model.


The standard for the bit-pairing keyboard provided for placing the underscore above the zero as its shift, and this would have preserved the full APL keyboard arrangement, but this was uncommon in practice.

For a while, even when the technology used to implement a terminal would have allowed a typewriter-pairing keyboard to be used, it appears to have been felt that either a bit-pairing keyboard was more standard or was preferable for use by programmers. Thus, the HP 2645 terminal, which was initially sold in 1975, and which was microprocessor-based, had this keyboard arrangement:

It was a very sophisticated terminal, allowing protected fields and block mode data transfer, and it could include a pair of cartridge tape drives.

One could obtain a line-drawing character set for it, for use with forms, a set of characters that allowed very large characters to be built up on the screen, or a set of characters designed for producing mathematical equations.

For APL, it was necessary to purchase the 2641 terminal, which included the APL character set as a 128-character block including the bit-pairing APL-ASCII equivalents of the regular 94 printable characters, and a second 64-character block with overstruck characters. This meant that only one of the other optional character sets, which required one 64-character block each, could be added to the terminal. A later addition to the series, the 2648, allowed dot-addressable graphics to be drawn on the screen.

But the keyboard that, when I first saw it in the dealer area at a computer society conference, shocked me because it seemed incredible that such a large and elaborate keyboard would resort to a bit-pairing layout as a cost-saving measure, was that of the UTS 400 terminal from Univac:

However, I may have been somewhat unfair, as the reason may have been to seek compatibility with earlier terminals of theirs.


The original typewriter-pairing keyboard layout for ASCII followed more closely the arrangement of characters on a typewriter, but in this case an electric typewriter. (It was because the quote marks, having a small area, should hit the paper with less force, that they were taken away from sharing keys with two digits, and were placed both on the same key in the electric typewriter.) The APL characters could be used with both a bit-pairing and a typewriter-pairing keyboard; the assignment would produce the same arrangement of APL characters if the underscore were the shift of the zero key. This did not often happen in practice, and was disparaged in the standards. One of the most notable uses of an APL terminal with the bit-pairing arrangement was an APL version of the Teletype Model 37, but at the time, many computers and terminals had bit-pairing keyboards.

An illustration of an APL keyboard in the second edition of APL, an interactive approach by Gilman and Rose shows a diagram based on one from an IBM manual for APL\360, but including three additional keys for the added characters on an ASCII terminal with the APL character set. This diagram shows the open right brace in the shifted position. This would result in the two braces in APL being equivalent to the braces of the opposite type in normal ASCII. On the other hand, the paper by Laurence M. Breed in which the APL-ASCII standard was originally presented gives left brace as occupying the unshifted position; however, left brace is only named, not illustrated, so I was not able to be absolutely certain that left brace meant the opening brace. I was finally able to obtain a definitive resolution of this question, after failing to find images of keyboards of this type at sufficient resolution to settle the question, from a manual for a Decwriter III terminal (this terminal already had an otherwise typewriter-pairing keyboard with the braces and square brackets in the bit-pairing arrangement, like the IBM PC keyboard) which showed the ASCII codes for the various APL characters. This accords with one image of an APL keyboard I had found which, although not clear enough to show which way the braces were, showed that the key with the braces did not have ASCII characters on the front part, the other keys having the ASCII characters present where they disagreed with the APL characters in the same positions.

The two tack characters were easier to distinguish on numerous images of APL-ASCII keyboards. In the paper which originally defined the APL-ASCII keyboard arrangement, the unshifted character is referred to as left tack, and the shifted character is referred to as right tack. As it happens, this convention of naming is now known as the Bosworth convention, and the reverse assignment of names, known as the London convention, is now more common. Under the London convention, shift-B is known as "up tack", and shift-N is known as "down tack". Personally, while I am opposed to using anything but the original names for "left tack" and "right tack", since as soon as a different set of names is used, confusion can arise, I also admit that the London convention clearly makes more sense for "up tack" and "down tack". Thus, rather than preferring the Bosworth convention, my preference is: use the Bosworth convention for "left tack" and "right tack", and, as for the other two characters, always call them "encode" and "decode", and never use the terms "up tack" and "down tack" at all. In APL documentation from IBM, where a name for the symbols based on their graphical appearance, instead of their function in APL, is used, shift-B is called "base", and shift-N is called "top".

On the IBM 1130 computer, the console typewriter had a keyboard which was arranged like that on a keypunch rather than like that on an IBM 2741 terminal. On some small-scale IBM 1130 systems, it had been desirable to provide the ability to use APL from the console typewriter and not just from terminals connected to the computer. In order to permit this, an ingenious keyboard arrangement was devised at IBM:

Three additional keys on the console keyboard were available for use as part of the APL keyboard. The regular shift keys were ignored, and two of the normal character keys were used to shift in either a counterclockwise or a clockwise direction through the three possible shift states. Some of the more common overstruck characters, but not all the possible overstrikes, were provided as single characters on the keyboard.

I have since learned that it was one Charles Brenner who implemented this keyboard for APL on the IBM 1130.


One popular line of terminals that printed on thermal paper also came in a model that used 5-level code. It used a bit-pairing keyboard, as in those days logic gates were still relatively expensive, and so it was hardly surprising that if you wanted to use 5-level code, you had to buy another terminal, as opposed to this just being a switchable feature.

But this inspired me to think of this kind of keyboard:

that could be used on equipment that was switchable between ASCII and 5-level code and EBCDIC.

One starts with a conventional ASCII bit-pairing keyboard. But the letter keys are light gray, to distinguish them, and have on them the set of figures shift characters for 5-level code, only for use when the terminal is in this mode.

Then, on the front of the keys, are characters for use with EBCDIC. Because of the different structure of this code, a different bit is chosen to be the one inverted by the shift key. This arrangement is inspired by a modified Model 35 Teletype I saw in use as a console typewriter with an SDS 930 computer in my days as a student. The BCDIC characters rather than the EBCDIC characters were on the keyboard (so some of the rather unusual characters you might associate with the IBM 1401 were there), and not all the possible shifts were present; thus, period, comma, and some other characters had their own keys and so weren't available as shifts of other keys as well.

Keyboard arrangements discussed, and some others:

Manual typewriter:

!   "   #   $   %   _   &   '   (   )   *   +
1   2   3   4   5   6   7   8   9   0   -   =
                                          ¼
  Q   W   E   R   T   Y   U   I   O   P   ½
                                       :   @
   A   S   D   F   G   H   J   K   L   ;   ¢
                                         ?
     Z   X   C   V   B   N   M   ,   .   /

Electric typewriter:

!   @   #   $   %   ¢   &   *   (   )   _   +
1   2   3   4   5   6   7   8   9   0   -   =
                                          ¼
  Q   W   E   R   T   Y   U   I   O   P   ½
                                       :   "
   A   S   D   F   G   H   J   K   L   ;   '
                                         ?
     Z   X   C   V   B   N   M   ,   .   /

Uppercase bit-pairing ASCII:

!   "   #   $   %   &   '   (   )       *   =
1   2   3   4   5   6   7   8   9   0   :   -
                                  _   @
  Q   W   E   R   T   Y   U   I   O   P
                               [   \   +
   A   S   D   F   G   H   J   K   L   ;
                         ^   ]   <   >   ?
     Z   X   C   V   B   N   M   ,   .   /

Upper- and lower- case bit-pairing ASCII:

!   "   #   $   %   &   '   (   )       =   ~   |
1   2   3   4   5   6   7   8   9   0   -   ^   /
                                          `   {
  Q   W   E   R   T   Y   U   I   O   P   @   [   _
                                       +   *   }
   A   S   D   F   G   H   J   K   L   ;   :   ]
                                 <   >   ?
     Z   X   C   V   B   N   M   ,   .   /

Typewriter-pairing ASCII (original form):

!   @   #   $   %   ^   &   *   (   )   _   +   ~
1   2   3   4   5   6   7   8   9   0   -   =   `
                                          ]   |
  Q   W   E   R   T   Y   U   I   O   P   [   \
                                       :   "   }
   A   S   D   F   G   H   J   K   L   ;   '   {
                                 <   >   ?
     Z   X   C   V   B   N   M   ,   .   /

IBM 2741 terminal:

=   <   ;   :   %   '   >   *   (   )   _   +
1   2   3   4   5   6   7   8   9   0   -   &
                                          ¢
  Q   W   E   R   T   Y   U   I   O   P   @
                                       !   "
   A   S   D   F   G   H   J   K   L   $   #
                                 |   ¬   ?
     Z   X   C   V   B   N   M   ,   .   /

Keypunch

    #   ,   $   .               0
    @   %   *   <           -   /
  +   _   )   ¢  082  |   1   2   3   &
  Q   W   E   R   T   Y   U   I   O   P
       >   :   ;   ¬   '   4   5   6
   A   S   D   F   G   H   J   K   L
         ?   "   =   !   (   7   8   9
     Z   X   C   V   B   N   M   ,   .

Keyboard for 5-level code (US version):

  1   2   3   4   5   6   7   8   9   0
  Q   W   E   R   T   Y   U   I   O   P
   -  BEL  $   !   &   #   '   (   )
   A   S   D   F   G   H   J   K   L
     "   /   :   ;   ?   ,   .
     Z   X   C   V   B   N   M

Three-bank manual typewriter keyboard:

  1   2   3   4   5   6   7   8   9   0
  Q   W   E   R   T   Y   U   I   O   P
   @   $   %   !   _   *   /   -   #
   A   S   D   F   G   H   J   K   L
     (   )   ?   '   "   :   ;   &
     Z   X   C   V   B   N   M   ,   .

Note that the original version of the lower-case bit-pairing keyboard is also shown; many lower-case bit-pairing keyboards had the {[ and }] keys next to each other horizontally as on the modern modified typewriter-pairing arrangement on the IBM PC (and the DECwriter III and the VT 100), but the arrangement shown is the one that can be matched up to the APL keyboard image above. I had thought that it was the VT 100 terminal,

from 1978, that introduced this modification to ASCII keyboards that were designed to be like a typewriter. The previous VT52 terminal

had a standard, conventional typewriter-pairing keyboard.

This change became popular quickly; thus, the award-winning HP 300 computer, from 1979, incorporated it:

However, I have since learned that HP was there first; the HP 9845A calculator, from 1977, had a keyboard with a generally typewriter-like layout, but with the braces and square brackets arranged in the bit-pairing fashion.

Incidentally, this diagram:

illustrates both that the IBM PC keyboard would have to be changed slightly if the PC were a typewriter, and why the columns of keys in the main area of a typewriter or computer keyboard are slanted in just the way they are, with two rows of keys placed, like bricks, so that keys in one row are centred where the boundary between two keys in the other row is located, and these two groups of two rows are then offset by one-quarter of the width of a key. This lets the centers of the keys be distinct, each separated from the closest other one by 3/16 of an inch. To fit the space bar in, the levers leading to some keys are then placed halfway between these levers, so they are on odd centers, with a spacing of 3/32 of an inch. The tabulator, on an office manual typewriter, would, like the space bar, be supported by two levers.

For a bit more about how dimensions relate to each other in a keyboard, for the keyboard illustrated in this diagram:

this diagram

shows the widths of the various keys in that keyboard.

Also, this next diagram illustrates a consideration of something that was once a characteristic of all but the cheapest computer keyboards, but which has now fallen into disuse, is shown: so that the keyboard can be tilted upwards, and yet the thrust on the keys still point straight downwards, one would have to increase the space between rows of keys on the printed circuit board. At first, a Pythagorean triple that could yield a slope of about 12.68 degrees and give an exact decimal multiple of the millimeter as the spacing of rows of keys on the printed circuit board was considered; however, as the height of the triangle doesn't have to be rational, the fact that one inch is 2.54 centimeters was put to use to allow a slope of 10.1 degrees, closer to what I felt desirable, with a spacing of rows of keys on the printed circuit board of 19.35 mm, as contrasted with the basic key spacing of 19.05 mm or three-quarters of an inch. An alternative Pythagorean triple is also possible, giving a slope of about 10.39 degrees.


[Next] [Up] [Previous] [Next Section] [Home] [Other]