Перейти к основному содержимому

! Ввод текста аппаратной клавиатурой (: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())