Клавиатура - это главный текстовый инструмент, который обладает 100% точностью передачи данных. Сего помощью можно отправлять сообщения, ожидать нажатия и выполнять различные комбинации клавиш. На этой странице представлена вся необходимая информация по управлению клавиатурой со стороны программного робота RPA.
В отличие от многих RPA платформ, pyOpenRPA обладает функциями, которые не зависят от текущей раскладки клавиатуры. За счет этого надежность и стабильность программного робота существенно возрастает.
Используется компонент setxkbmap: apt-get install x11-xkb-utils (компонент для взаимодействия с клавиатурой, [https://command-not-found.com/setxkbmap](https://command-not-found.com/setxkbmap))
Особенности ОС Linux позволяют выполнять ввод разноязычного текста только через переключение раскладок клавиатуры в режиме реального времени
По умолчанию установлены следующие раскладки для Русского и английского языков:
Keyboard.KEY_RUS_LAYOUT = «ru» # NEED FOR LINUX (FOR LAYOUT SWITCH)
Keyboard.KEY_ENG_LAYOUT = «us» # NEED FOR LINUX (FOR LAYOUT SWITCH)
Проверить, что данные раскладки работают корректно, можно с помощью следующей команды в терминале:
После ввода попробуйте ввести английские символы, после чего переключиться на другой язык с помощью комбинации клавиш Alt+Shift
Если у вас используются другие layout, то вы можете указать их в переменных Keyboard.KEY_RUS_LAYOUT и Keyboard.KEY_ENG_LAYOUT для русского и английского языков соответственно.
* **inWaitAfterSecFloat** (*float**, **опциональный*) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)
* **inDelaySecFloat** (*float**, **опциональный*) – Интервал между нажатиями. Необходим в связи с тем, что операционной системе требуется время на реакцию на нажатие клавиш, по умолчанию: 0.3
* **inWaitAfterSecFloat** (*float**, **опциональный*) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)
**inWaitAfterSecFloat** (*float**, **опциональный*) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)
ВНИМАНИЕ! НЕ ЗАВИСИТ ОТ ТЕКУЩЕЙ РАСКЛАДКИ КЛАВИАТУРЫ
```
# Keyboard: Взаимодействие с клавиатурой
from pyOpenRPA.Robot import Keyboard
Keyboard.HotkeyCtrlV()
```
* **Параметры**
**inWaitAfterSecFloat** (*float**, **опциональный*) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)
L+,W+: Имитация нажатия/отпускания любой физической клавиши. Посылает событие в операционную систему, которые выполняет нажатие и отпускание данной клавиши
* **inWaitAfterSecFloat** (*float**, **опциональный*) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)
* **inWaitAfterSecFloat** (*float**, **опциональный*) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)
* **inWaitAfterSecFloat** (*float**, **опциональный*) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)
L+,W+: Печатает текст, который был передан в переменной inTextStr (поддерживает передачу в одной строке символов разного языка). Не зависит от текущей раскладки клавиатуры! Посылает искусственные клавишные события в ОС, моделируя печать данного текста. Знаки, не доступные на клавиатуре, напечатаны как явный unicode знаки, использующие определенную для ОС функциональность, такие как alt+codepoint.
Чтобы гарантировать текстовую целостность, все в настоящее время нажатые ключи выпущены прежде текст напечатан, и модификаторы восстановлены впоследствии.
ВНИМАНИЕ! ПЕЧАТАЕТ ЛЮБУЮ СТРОКУ, ДАЖЕ В СОЧЕТАНИИ НЕСКОЛЬКИХ ЯЗЫКОВ ОДНОВРЕМЕННО. ДЛЯ РАБОТЫ С ГОРЯЧИМИ КЛАВИШАМИ ИСПОЛЬЗУЙ ФУНКЦИЮ Send, Up, Down, HotkeyCombination
* **inRestoreStateAfterBool** (*bool**, **опциональный*) – Может использоваться, чтобы восстановить регистр нажатых ключей после того, как текст напечатан, т.е. нажимает ключи, которые были выпущены в начало.
* **inWaitAfterSecFloat** (*float**, **опциональный*) – Количество секунд, которые ожидать после выполнения операции. По умолчанию установлено в настройках модуля Keyboard (базовое значение 0.4)