Introduction to keyboards

Physical keyboard layout

The physical layout of a keyboard describes the placement of keys on the keyboard. The keyboard hardware assigns a binary scancode value to each key. The keyboard hardware does not know or care what is engraved on the keytop.

Keyboards come in a variety of physical layouts. The most common client keyboards are based on PC enhanced keyboards. The full keyboard layout, as shown in Figure 1, has 101 keys. This consists of a basic alphanumeric keypad, a row of function keys, a cursor keypad, and a numeric keypad. This layout was introduced in 1984 and is now standard for full size keyboards.


101 Key Layout (US)
Figure 1: 101 Key Layout (US)


Reduced-size keyboards such as those on laptops leave off the numeric keypad and move the cursor keypad and function keys to conserve space. Many client keyboards now add three Windows keys in the row with the spacebar. Some keyboards such as those used in retail, have a large number of additional function keys.

In dealing with globalization issues we can generally ignore all sections of the keyboard except the basic alphanumeric keypad, which is based on the layout of keys on a typewriter. The keys in the various rows are offset because this was required in mechanical typewriters.

Most keyboards for European languages are based on the 102 key layout. This is similar to the 101 key layout, but adds a key to the right of the left shift key. The enter key is changed in orientation, and the key above the enter key is moved to left of the enter key.


102 Key Layout (France)
Figure 2: 102 Key Layout (France)


The keyboards used for Japanese and Traditional Chinese are based on the 106 key keyboard. This adds two letter keys (from within the backspace and right shift keys). It also adds three function keys along the space bar. These extra function keys are used to control the Input Method Editor (IME).


106 key layout (Japan)
Figure 3: 106 key layout (Japan)


When a key on the keyboard is pressed or released, the binary scancode is sent to the operating system. The keyboard hardware also sends repeat events when a key is held down. The keyboard hardware does not assign any meaning to the pressing or releasing of a key.