! Создание отдельного объекта аппаратной клавиатуры (key.connect_keyboard)
Функция доступна в версиях после 20260805.
Объявление
объект_клавиатуры, сообщение_об_ошибке = key.connect_keyboard([свойства_конфигурации])
Параметры
- Свойства конфигурации Таблица, необязательный параметр для задания следующих распространённых свойств устройства; значения в блоке кода используются по умолчанию:
{
VendorID = 0x5858,
ProductID = 0x0001,
Product = "XXTouch Keyboard",
Manufacturer = "XXTouch",
Transport = "USB",
}
Также можно задать VersionNumber, SerialNumber и LocationID. Для остальных свойств работоспособность не гарантируется.
Возвращаемое значение
- Объект аппаратной клавиатуры
Объект аппаратной клавиатуры; при успехе создания возвращается объект, при ошибке —
nil. - Сообщение об ошибке Строка; при ошибке создания возвращает сообщение об ошибке.
При ошибке создания два возвращаемых значения образуют nil, error.
Описание
Создаёт отдельный объект аппаратной клавиатуры; состояние клавиш и жизненный цикл подключения каждого объекта независимы. Во время ожидания подключения выполнение неявно уступается, поэтому до возврата функции другие потоки могут получить возможность работать.
Transportвлияет только на способ распознавания клавиатуры iOS или целевым App. Значения"Bluetooth"и"BluetoothLowEnergy"не устанавливают Bluetooth-соединение, не выполняют трансляцию или сопряжение и не добавляют клавиатуру в списки Bluetooth других устройств.- Одновременно можно удерживать не более 6 обычных клавиш; клавиши-модификаторы не учитываются. При превышении лимита целевая система не распознает конкретные клавиши, поэтому сначала отпустите часть клавиш.
- Целевой App может не различать источники ввода нескольких объектов аппаратной клавиатуры.
- Функция только создаёт отдельный объект и не изменяет существующие интерфейсы
key.*; чтобы существующие интерфейсы использовали аппаратную клавиатуру, вызовитеkey.connect_global_keyboard. - При ошибке отправки автоматического повтора другим способом ввода нет.
Пример
local keyboard, err = key.connect_keyboard({
Product = "XXTouch Keyboard",
})
assert(keyboard, err)
assert(keyboard:press("a"))
assert(keyboard:down("LEFTSHIFT"))
assert(keyboard:press("b"))
assert(keyboard:up("LEFTSHIFT"))
assert(keyboard:send_text("Hello"))
keyboard:disconnect()