! Ввод текста аппаратной клавиатурой (:send_text)
Метод доступен в версиях после 20260805.
Объявление
успех, сообщение_об_ошибке = объект_аппаратной_клавиатуры:send_text(текст[, задержка_между_клавишами, задержка_Shift])
Параметры
- Текст
Строка, вводимый текст; поддерживаются только английские буквы, цифры, пробелы, однобайтовые символы, а также
"\b","\r","\t". - Задержка между клавишами Вещественное число, необязательный параметр; задержка между операциями с клавишами в миллисекундах, по умолчанию 0.
- Задержка Shift Вещественное число, необязательный параметр; задержка до и после нажатия или отпускания Shift в миллисекундах, по умолчанию 0.
Возвращаемое значение
- Успех
Логическое значение: если весь текст отправлен успешно, возвращает
true, при ошибке —false. - Сообщение об ошибке Строка; при ошибке отправки возвращает сообщение об ошибке.
Описание
Формирует клавиши и сочетания с Shift по текущей американской раскладке Lua. Ожидание во время ввода неявно уступает выполнение, поэтому до возврата метода другие потоки могут получить возможность работать.
- Итоговые вводимые символы по-прежнему зависят от раскладки клавиатуры целевой системы.
- Метод сохраняет обычные клавиши и клавиши-модификаторы, нажатые до вызова.
- Если на этой аппаратной клавиатуре выполняется последовательность
:pressили:send_text, новая операция возвращаетfalse, "hardware keyboard is busy". - При ошибке отправки автоматического повтора другим способом ввода нет.
Пример
local keyboard = assert(key.connect_keyboard())
assert(keyboard:send_text("Hello"))
assert(keyboard:send_text("Hello", 30, 10))
assert(keyboard:disconnect())