RS2376 parallel ASCII keyboard with ECMA23/ISO layout.Acorn BBC Microcomputer with ECMA23/ANSI layout, @ is a singleton key and Shift-underline generates £ as character 96.Modern Dell keyboard customised with ECMA23/ISO layout.IBM keyboard with Japanese EMCA23/ANSI layout.
ECMA-23 is a standard for a bit-paired keyboard layout adopted in 1969 and revised in 1975. As a bit-paired layout, shifted keys correspond to toggling bits in the ASCII keycode. This is most visible in the digits on the top row, where shifting 6789 give &'(), and each of are paired ;–+, :–* and -–=.
The ECMA-23 layout has two options, being the same as the ISO 2530 or the ANSI-X4.14 bit-paired layout.
In the UK, ECMA-23 layout keyboards were used on most 8-bit computers such as the Acorn BBC computers and the earlier Atom and Systems, the Amstrad CPC series, and (to an extent) the ZX Spectrum. While bit-paired layouts have generally given way to typewriter layouts, the Japanese keyboard layout still uses one.
Technical details
The _ and \| keys may be at the left as per ISO2530 or at the right as per ANSI-X4.14.
Character 96 is generated either with Shift-_ with @ a singleton key, or with Shift-@ with _ a singleton key.
Underline may be generated with Shifted-0 instead of with its own key. If this is done then Shift-@ is used to generate character 96.
If a key is labelled ← Backspace it should be at the top-right; if a key is labelled DELETE it should be at the bottom-right.
If the key to the left of 1 is not _, it is ESCAPE.
The most common layouts are:
"BBC Micro": ECMA23/ANSI with Shift-_ generating character 96
"Japan": ECMA23/ANSI with Shift-@ generating character 96 and an extra key to the right of /? generating \_
"PC": ECMA23/ISO with Shift-_ generating character 96
Examples
Acorn Atom and Acorn System
ECMA23/ANSI
:^\[] shuffled
RS2376 keyboard
ECMA23/ISO
character 96 generated with Shift-@
BBC Microcomputer series
ECMA23/ANSI
character 96 as £ generated with Shift-_
Amstrad CPC
ECMA23/ANSI
:* and ;+ swapped, \ moved, Shift-\ and Shift-@ swapped, DELETE in the ← Backspace location