Свойство .scanlinesmapping
| Назначение: | Задаёт список из не более чем восьми линий ввода-вывода, которые служат линиями сканирования матричной клавиатуры. |
| Тип: | String |
| Диапазон значений: | Можно перечислить до восьми номеров линий ввода-вывода через запятую (по умолчанию = ""). |
| См. также: | Подключение матричных клавиатур, Подключение бинарных клавиатур, Подготовка клавиатуры к работе, kp.returnlinesmapping |
Подробности
Свойство должно содержать список номеров линий ввода-вывода через запятую, например: "28, 30, 31." Номера линий соответствуют перечислению pl_io_num, которое зависит от платформы. Объявления pl_io_num находятся в разделе «Platform-Dependent Constants» документации по платформе вашего устройства (например, для EM1000 оно здесь).
Строка kp.scanlinesmapping должна содержать только список десятичных чисел. То есть нужно писать "28", а не "28 - PL_IO_NUM_28." Обрабатываются только цифровые символы, поэтому запись "28 - PL_IO_NUM_28,30 - PL_IO_NUM_30" установит свойство в "28,30." Можно, конечно, поступить и так:
kp.scanlinesmapping = str(28- PL_IO_NUM_28)+","+str(30-PL_IO_NUM_30)
Порядок, в котором вы перечисляете линии сканирования, имеет значение - именно в этом порядке линии нумеруются. Порядок линий сканирования в этом свойстве напрямую влияет на формирование кодов клавиш.
На платформах с управлением выходным буфером все предполагаемые линии сканирования следует настроить как выходы (см. io.num и io.enabled).
Это свойство можно изменять только при отключённой клавиатуре (kp.enabled = 0 - NO). Значение "" означает, что у клавиатуры нет линий сканирования; это тоже допустимая конфигурация клавиатуры.
Линии сканирования клавиатуры должны быть отдельными от возвратных линий (см. kp.returnlinesmapping). Клавиатура не будет работать правильно, если назначить какую-либо линию ввода-вывода одновременно линией сканирования и возвратной линией.
Линии сканирования нужны только при работе с матричной клавиатурой.