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

Нажатие клавиши аппаратной клавиатуры (:down)

Метод доступен в версиях после 20260805.

Объявление

успех, сообщение_об_ошибке = объект_аппаратной_клавиатуры:down(код_клавиши)
успех, сообщение_об_ошибке = объект_аппаратной_клавиатуры:down(Usage_Page, Usage_ID)

Параметры

  • Код клавиши Строка, использует ту же таблицу имён клавиш, что и key.press.
  • Usage Page Целое число; текущий объект принимает только Keyboard/Keypad Usage Page 0x07.
  • Usage ID Целое число, номер физической клавиши, а не код символа.

Возвращаемое значение

  • Успех Логическое значение: при успехе отправки возвращает true, при ошибке — false.
  • Сообщение об ошибке Строка; при ошибке отправки возвращает сообщение об ошибке.

Описание

Нажимает клавишу аппаратной клавиатуры. После нажатия следует вызвать соответствующий :up, чтобы отпустить клавишу.

  • Если на этой клавиатуре выполняется последовательность :press или :send_text, метод возвращает false, "hardware keyboard is busy".
  • Одновременно можно удерживать не более 6 обычных клавиш; клавиши-модификаторы не учитываются. При превышении лимита целевая система не сможет распознать конкретные клавиши.
  • При ошибке отправки возвращаются false и сообщение об ошибке; автоматического повтора другим способом ввода нет.

Пример

local keyboard = assert(key.connect_keyboard())

assert(keyboard:press(0x07, 4)) -- Keyboard A
assert(keyboard:down(0x07, 0xE1)) -- Left Shift
assert(keyboard:up(0x07, 0xE1))

assert(keyboard:disconnect())