Нажатие клавиши аппаратной клавиатуры (: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())