в Спектруме клавиатура представляет собой матрицу из 8 колонок и 5 строк, в узлах которой находятся контакты, замыкаемые при нажатии на расположенные над ними клавиши (рис 1).
Это базовая схема 40-клавишной клавиатуры. Расширенные клавиатуры отличаются наличием клавиш замыкающих сразу два контакта в матрице. Причем клавишей-модификатором обычно является либо Symbol Shift (S.Sh), либо Caps Shift (C.Sh).
5-разрядная шина строк матрицы подключена к шине данных процессора Z80 через порт клавиатуры, который выбирается младшей половиной адресной шины процессора Z80 и доступен как порт ввода с адресом 0FEh (десятичный адрес 254). Каждая из 5 линий строк подтянута к шине питания (+5V) резистором с номиналом обычно 10 Ком, что при чтении обеспечивает логическую «1» в соответствующих разрядах порта клавиатуры. Старшие 8 бит адресной шины процессора Z80 позволяют выбрать одну или несколько из 8 колонок клавиатурной матрицы как порт ввода, адрес которого состоит из адреса порта клавиатуры и кода старшей половины адресной шины процессора Z80 с нулевым логическим уровнем в соответствующем разряде. Для исключения замыкания адресных линий при нажатии нескольких клавиш на каждой из них включены развязывающие диоды (как вариант могут устанавливаться буферные схемы с открытым коллектором, например 555ЛП9). Для проверки замыкания контакта в одном или нескольких узлах клавиатурной матрицы последовательно считываются состояния портов клавиатуры с низким уровнем в выбранной колонке. При не нажатых клавишах, с шины данных клавиатуры за счет их подтяжки к +5V, читаются сигналы высокого уровня (логическая «1»). Если нажать одну или несколько клавиш, то при чтении порта в соответствующих нажатым узлам битах будут читаться сигналы низкого уровня (логический «0»). Если выбирается несколько колонок, то нажатие клавиш в соседних колонках приводит к формированию в порту сигнала объединенного схемой проводного «И». Таким образом, имеется 40 контактов, замыкание каждого из которых может анализироваться программно чтением 8 портов ввода, состояние каждого из которых определяется замыканием этих контактов.