

Raw scancode bytes were delivered to programs by the BIOS. A single bit in the byte sent over the wire distinguishes between a key press ( make) or key release event ( break). The IBM PC/XT protocol's scancodes corresponded directly to key positions when scanning the original IBM PC/XT keyboard's matrix.

Scancodes in Set 3 are used in the keyboard protocol for terminals from IBM. Scancodes in Set 2 are used in the protocol used by the AT and PS/2 interfaces. They are still in use internally on systems with IBM PC lineage such as MS Windows and Linux ("raw mode").

Scancodes in Set 1 were used over the XT keyboard interface.
