Коды клавиш

Когда объект kp. включён (kp.enabled = 1 - YES) и клавиши нажимаются и отпускаются, вы получаете коды этих клавиш (коды клавиш) вместе с состояниями, в которые они перешли.

Как же узнать, какой код ожидать от конкретной клавиши вашей клавиатуры? Этому и посвящён раздел.

Матричные клавиатуры

На матричных клавиатурах код клавиши формируется из номера линии сканирования (биты 7-4 кода клавиши) и номера линии возврата (биты 3-0). Линии сканирования и возврата нумеруются в том же порядке, в каком они перечислены в свойствах kp.scanlinesmapping и kp.returnlinesmapping.

Допустим, у вас клавиатура 4x4 с клавишами <0> ~ <9> , <F1> ~ <F4>, <ENTER> и <CANCEL>. Допустим также, что линии сканирования и возврата определены так:

kp.scanlinesmapping="0,1,2,3"
kp.returnlinesmapping="28,29,30,31"

Вот коды клавиш, которые вы получите. Обратите внимание, что коды клавиш в шестнадцатеричной записи отражают номер линии сканирования (старшая цифра) и линии возврата (младшая цифра):

Диаграмма кодов клавиш клавиатуры 4x4.

Двоичные клавиатуры

На двоичных клавиатурах система TiOS отделена от клавиатуры её схемой сканирования. Обычно эта схема состоит из небольшого микроконтроллера.

Как этот микроконтроллер присваивает код каждой клавише, решали разработчики его прошивки. Никаких правил здесь нет: остаётся только проверить клавиатуру и выяснить, какие коды она выдаёт, начиная с кода простоя, который присутствует на линиях интерфейса, когда ни одна клавиша не нажата.

Исходный материал Tibbo обновлён 12 сентября 2022Оригинал на docs.tibbo.com · Сообщить об ошибке