ISO/IEC 9995 Information technology — Keyboard layouts for text and office systems is an ISO/IEC standard series defining layout principles for computer keyboards. It does not define specific layouts but provides the base for national and industry standards which define such layouts.
The project of this standard was adopted at ISO in Berlin in 1985 under the proposition of Dr Yves Neuville. The ISO/IEC 9995 standard series dates to 1994 and has undergone several updates over the years.
The ISO/IEC 9995 standard series currently (as of September 2015) consists of the following parts:
(ISO 9995-6:2006 Function section was withdrawn 2009-10-08.)
ISO/IEC 9995-1 provides a fundamental description of keyboards suitable for text and office systems, and defines several terms which are used throughout the ISO/IEC 9995 standard series.
The figure shows the division of a keyboard into sections, which are subdivided into zones.
The presence of a numeric section is not required by the standard. Also, the standard does not prevent a numeric section to be placed left of the alphanumeric section.
By means of the reference grid, each key can be identified by a unique combination of a letter (indicating the row) and a sequence of two digits (indicating the column). E.g., the key containing the digit one on several layouts is identified as “Key E01”. The labeling rules do allow for function keys to be arranged other than above of the alphanumeric section, or to be arranged in more than one row (thus, e.g. an AT keyboard is compliant to the standard):
The grid may be angled (as shown in the figure within the alphanumeric section), or squared (thus, keyboards where the alphanumeric keys are ordered in pure vertical columns are compliant to the standard).
The standard does not constrain the numbers of rows and columns in the alphanumeric section.
The selection of level and group during the input of a character (e.g. by means of a shift key, an AltGr key, or a group selection key or key sequence) is specified in ISO/IEC 9995-2.
The characters which can be input by the keys in the alphanumeric section usually are organized in levels. For two-cased scripts like Latin, the basic level (“Level 1”) contains lower-case letters, while the “Level 2” contains capital letters (therefore, these levels are usually called “unshifted” and “shifted”). For characters which are not letters (like punctuation marks), no rules are given regarding their distribution among the levels. While digits are commonly in Level 1, there are exceptions (e.g. the French keyboard layout).
The standard allows for a third level (but not for more than three levels). Usually (but not mandatory by the standard), characters in such a level are selected by the means of an AltGr key.
If the organization into three levels is not sufficient to accommodate all characters to be contained in a specific layout, then "groups" may be defined, which then constitute a higher hierarchical unit than levels. Thus, each such group is usually subdivided into up to three levels. Common examples are layouts allowing the input of characters of different scripts. On the Japanese keyboard layout, the kana constitutes the second group. The Canadian Québec layout (1992) and the German T2 layout (2012) allow the input of considerably more characters than their preceding editions, to overcome the historic limits of mechanical typewriters.
The "Group selector" is defined in ISO/IEC 9995-2. As the US-International layout has four levels, the AltGr key or level 3 selector is repurposed as a group selector for the secondary group. Before ISO/IEC 9995-2, the new secondary group was called third level and fourth level. On layouts complying to ISO/IEC 9995-2’s initial design, the simultaneously pressed Shift and AltGr keys act as a group selector, since level 4 is prohibited as inaccessible, much like level 2 and level 3 are inaccessible depending on the disability, which is addressed by the sticky keys feature.
According to ISO/IEC 9995-1, the level is indicated by the row where the character is depicted on the keytop:
The group is indicated by the column on the keytop:
When letters on a case pair are associated with a key, only the capital character needs to be shown on the keytop for the primary group, while the lowercase character only is shown for the secondary group.
Thus, on the depicted key of the German T2 layout, in the primary group are the characters “#” in Level 1 (unshifted), “'” in Level 2 (shifted), and “®” in Level 3 (accessed by the AltGr key). In the secondary group, there is the lowercase letter “ə” in Level 1 (unshifted) and its capital counterpart “Ə” in Level 2 (shifted).
For layouts containing only one group, characters in Level 3 may be depicted in the lower right corner of a keytop, to allow larger depictions for ergonomic reasons. For instance, on the depicted key of the German T1 layout, the “\” is in Level 3 (of the only defined group), to be accessed by the AltGr key.
ISO/IEC 9995-2 specifies requirements for the keys contained in the alphanumeric section (see the description of ISO/IEC 9995-1 above).
The alphanumeric zone (being a part of the alphanumeric section) has to contain 47 or more keys used to input characters, including the Space bar which has to be placed in the lowest row (row A according to the reference grid specified in ISO/IEC 9995-1). Also, there must be:
The space bar has to expand at least over the positions A03 to A07. This implies that Japanese keyboards containing muhenkan, henkan, and the Katakana/Hiragana switch keys (the first one left, the other two right of the space bar) are not compliant to the standard if taken literally. This, however, is considered neglectable as the space bar has less importance in Japanese writing than in Latin or similar ones, as Japanese words usually are not separated by spaces.
Layouts which are designed for the Latin script must contain at least the 26 basic letters A…Z and a…z, the decimal digits 0…9, and the following characters contained in ISO 646: ! " % & ' * ( ) + , - . / : ; < = > ? _ and space.
The keys shown grey in the figure, all being function keys, constitute the left and right function zones, while all other keys constitute the alphanumeric zone. The reference grid position of any function key may vary according to the specifications listed below. Especially, on a keyboard with considerably more than 47 keys in the alphanumeric zone, the right function keys will get higher column numbers.
The symbols shown for the function keys are specified in ISO/IEC 9995-7. Letterings which are commonly used instead of the symbols are shown in their English version in parentheses.
Keyboards which comply to this narrower specification contain all the keys shown in white in the figure above, the key at C12 shown in yellow, and one of the two keys at E13 and B00 shown in red. The standard does not require this; it only says that keyboards complying to this narrower specification can be called such.
A key at E00 is not required, but when it is present on the keyboard, the positions E13 and B00 (shown in red) may have no key (e. g. the US layout with the Backspace or Delete key at E14 enlarged to E13 and the left Shift key at B99 enlarged to B00); but most international layouts having a key at E00 also have at least one key on E13 (with a narrow Backspace or Delete key on row E at E14, but a left Shift key at B99 enlarged to B00) or B00 (with a narrow left Shift key at B99, but a Backspace or Delete key at E14 enlarged to E13). Key at E00 may also be used to allocate a function key (notably the Escape key on compact keyboards), in which case a key will generally be present at E13 (on compact US layout), or B00, or both (on compact international layouts). Finally the key at E00 may also be used to place the digit 0 at start of the row instead of the more common location at E10, in which case there two positions E13 and B00 may be used to enlarge both the Backspace or Delete key at E14 to E13 and the left Shift Key at B99 to B00).
In fact, several layouts (e. g. the US layout), to allow a wider return key, have a key at D13 (shown in green) instead of C12 (shown in yellow). Thus, while they cannot be called “harmonized 48 graphic key keyboards” according to the standard, they still comply to the standard itself. ISO/IEC 9995-3:2010, in referring to the basic layout within its specific scope, does take a possible substitution of C12 by D13 into account.
A tabulation key shall be present, occupying position D00 (i. e., the key may be wider, spanning over additional positions like D99 left of D00).
A key providing one of the functions Capitals lock (usually called “Caps Lock”), Level 2 lock (i. e. “Shift lock”), or Generalized lock shall be present, occupying the position C00. (The function “Generalized lock” is not specified in the ISO/IEC 9995 series). The specific way the Caps Lock or Shift Lock works (i. e. swapping the lock state by hitting the key, as it is usually implemented) is not specified in the ISO/IEC 9995 series. Thus, solutions avoiding the status dependency as well as the problem of inadvertent hitting (e.g., the lock key pressed together with Shift turns Shift lock on, together with AltGr turns Caps Lock on, pressed alone switches off any lock status but has no effect when no lock status is activated) would not prevent compliance to the standard.
A Return key has to be present, right of the character input keys in row C. It is recommended that it expands to row D (thus spanning over position D13 when located on position C13 as shown in the figure), as it e. g. does on the German layout.
A key providing one of the functions Backspace or Backward erase shall be present in row A or (as it is more common) Row E, right of the character input keys.
If at least one Alternate key (commonly called “Alt key”) is present, it is to be positioned left of the space bar (or, if a function key specific to the writing system supported by the keyboard layout is there, left of that key).
If at least one Control key (commonly abbreviated “Ctrl”) is present, it has to be placed leftmost in row A (as it is more common), or row B.
If a Function key (commonly abbreviated “Fn”) is present, it is to be positioned left the space bar and left of an “Alternate” key, if such one is present. (It is allowed but explicitly not recommended to place the “Function” key left of the “Control” key.)
To select the Level 2 (commonly called “shifted”, see the subsection “Levels and Groups” of the section “ISO/IEC 9995-1” above), two keys shall be present in row B (commonly called Shift keys). The left one shall occupy position B99, while the right one shall be located right of the character input keys of that row. The exact function of these keys (commonly pressing them together with the affected character input key) is not specified in the standard. Thus, solutions where the shift key is pressed, then released before the character input key is pressed, are compliant with the standard.
To select the Level 3 (if this is present on a layout), at least one Level 3 select key (frequently marked AltGr) shall be present. On keyboards compliant to the “harmonized 48 graphic key keyboard arrangement” (see above), such keys shall be placed in row A or row B. Like for the shift keys, the exact function of these keys (commonly pressing them together with the affected character input key) is not specified in the standard.
For layouts containing more than one group, several mechanisms for group selection are specified. A dedicated Group selection key (marked by ⇨ according to ISO/IEC 9995-7), if present, shall be positioned adjacent to a “Level 3 select” (AltGr) key. For layouts containing a “Group 2” as specified in ISO/IEC 9995-3, this key shall work as a “latch” (i. e., when it is pressed and then released, the actuation of the next character input key causes the selection of a character of Group 2. After this, the status is reverted, thus subsequent character input key actuations refer to the basic group unless the “group selection” key is actuated again). If no dedicated “Group selection” key is present, its function is obtained by pressing the “Level 2 select” and “Level 3 select” (i. e. “Shift” and “AltGr”) key simultaneously and releasing them before actuating the selected character input key.
An informative annex “Allocation guidelines” provides a basic pattern for arrangements of Latin letters, which in fact specifies a foundation for the kinds of keyboard layouts known as QWERTY, QWERTZ, or AZERTY. As this annex is not normative, it does not prevent other arrangements like the Dvorak keyboard or the Turkish F-keyboard being compliant to the ISO/IEC 9995 standard series.
The figure shows letters in black where a unique position is given, while the letters shown in red may alternatively occupy any of the positions where they are shown. Digits may be allocated on Level 0 (unshifted) or Level 1 (shifted). An asterisk indicates “any other character”.
The amendment 1 of ISO/IEC 9995-2:2009, which was published in 2012, specifies two ways of the emulation of a numeric keypad within the alphanumeric section of a keyboard. One way, with mappings to keys in the left half of the alphanumeric section (shown green in the diagram above), emulates a numeric keypad with the digits 1,2,3 in the upper row. The other way, with mappings to keys in the right half (shown blue in the diagram above), emulates one with the digits 7,8,9 in the upper row. The affected keys of any emulation, if in effect, are to be pressed simultaneously with the Function key (which has to be present outside of the alphanumeric section) to provide the effect of the according key of a numeric keypad.
ISO/IEC 9995-3:2010 defines a common secondary layout (“common secondary group”) for the alphanumeric keyboard. These are engraved on the right part of the keytops; the standard defines their position independent of the characters of the primary layout. Thus, e. g. the Yen symbol “¥” occupies the shifted position on the 6th letter key of the second row, whether this is the Y key on a QWERTY keyboard (like the US layout) or the Z key on a QWERTZ keyboard (like the German layout).
The diacritical marks contained in the common secondary group act as dead keys, i.e. they are to be entered before the base characters they apply to. This mechanism is also to be used for sequences of more than one diacritical marks, to write languages like Vietnamese and Navajo.
Moreover, ISO/IEC 9995-3:2010 defines a list of “Peculiar Characters which can be entered as combinations using diacritical marks”. This list specifies combinations of a diacritical mark and a second key. E.g., symbols like the not-equal sign “≠” (Unicode U+2160) can be entered this way. Especially, letters with a horizontal stroke (like Serbo-Croatian Đ/đ, Maltese Ħ/ħ, or Comanche Ʉ/ʉ) are entered this way using the "horizontal stroke accent" located on the K key.
The standard additionally defines an “outdated common secondary group” for compatibility purposes only. This resembles the “common secondary group” defined in the earlier edition of the standard, ISO/IEC 9995-3:2002.
For cases where no national keyboard layout is available, or to be used as an additional group on layouts designed for other scripts than Latin, the standard specifies a “Complementary Latin group layout”. It is based on the “harmonized 48 graphic key keyboard arrangement” as defined in ISO/IEC 9995-2 (see description above). The assignment shown with red background shall occur once at one of the indicated positions.
ISO/IEC 9995-4 specifies the layout of the numeric section of a keyboard, if such one exists. It is subdivided into the function zone (shown with grey background in the left figure) and the numeric zone (shown with white background). The leftmost key in the lowest row may span to the left, occupying the position shown with yellow background.
The decimal digits 1…9 may be arranged in an “1-2-3 layout” (shown in green, named according to the keys in the D row), or in a ”7-8-9 layout” (shown in blue).
On a keyboard used for telematic functions, the symbols ⚹ and ⌗ represent the initiator and the terminator. On a keyboard used for office purposes, the key denoted by ⌗ shall show the decimal separator (usually a dot or a comma, dependent on the user language). On such keyboards, the key position marked by the asterisk may be an extension of the “0” key, or a “double zero” key. Accordingly, if the yellow key position is used, it may be also an extension of the “0” key, a “double zero” key, or a “triple zero” key.
The keys in the function zone may be associated to the arithmetic function they denote, or to the arithmetic characters, dependent of the software which is used. If an additional tabulator key or another special key is used, it shall be located at the position C54 (according to the reference grid specified in ISO/IEC 9995-1), thus occupying the lower half of the place shown for the “=” key.
Numeric sections on usual keyboards for personal computers do not comply to the standard, as they usually have a Num lock key in the upper left corner where the standard requires the “+” key, and therefore also show a different arrangement of the other arithmetic keys (usually lacking an “=” key; see the second picture). By this, the standard in its present form (ISO/IEC 9995-4:2009) can be considered outdated.
ISO/IEC 9995-5 specifies the layout of the editing and function section of a keyboard. In fact, it specifies only two items:
ISO/IEC 9995-7 specifies several keyboard symbols used to represent functions. Some of these symbols have been encoded as Unicode code points; the figure shown above in the ISO/IEC 9995-2 section shows several examples. The rest have been proposed for encoding, but (as of November 2021) have been postponed pending evidence of use in running text other than by ISO and DIN. They are used extensively e. g. in the keyboard standard of the Province of Quebec, Canada.
ISO/IEC 9995-8:2009 defines an assignment identical to E.161 of the 26 letters A–Z to the number keys of a numeric keypad. The space character is not assigned.
ISO/IEC 9995-9:2016 defines multi-lingual, multiscript keyboard layouts.
ISO/IEC 9995-10 specifies several symbols to enable the unique identification of characters on keytops which otherwise can easily be misidentified (as em vs. en dashes). Also, it specifies a way to present diacritical marks, especially on dead keys. There is a publicly available listing of these symbols in a proposal to encode them as Unicode characters (which has been postponed for lack of demonstrated use, as of November 2021).
ISO/IEC 9995-11:2015 is related to the “functionality of dead keys and repertoires of characters entered by dead keys”. It has a limited scope of specifying an algorithm designed to palliate certain limitations in keyboard layout drivers on a widely used platform, and thus “is primarily intended for word-processing and text-processing applications.”