Способы ввода (Enterprise)
Способы ввода.
В программе есть 5 способов ввода символов с клавиатуры.

Ввод символов по-разному работает на устройствах, поэтому наличие нескольких способов дает возможность самостоятельно подобрать оптимальный. Первые четыре варианта позволяют вводить любые символы, вкл ючая эмодзи, последний же работает только с ASCII.
Если переключить настройку у уже запущенного устройства, экшены ввода могут завершаться ошибкой Используемый способ ввода не соответствует настройкам. Чтобы применить новый способ, перезапустите устройство.
Подробное описание.
ZennoKeyboard.
Собственная клавиатура ZennoLab, способ ввода по умолчанию начиная с версии 2.6.1.0. Как и ADBKeyboard, автоматическ и устанавливается при подключении к устройству и вводит символы так, как если бы их набирали на виртуальной клавиатуре.
Обменивается данными с программой напрямую, поэтому спецсимволы не нужно экранировать, а результат ввода подтверждается устройством: если поле не приняло текст или приложение закрылось, экшен сразу завершится ошибкой, а не продолжит работу так, будто текст введён.
Пока клавиатура активна, внизу экрана вместо клавиш видна строка ZennoKeyboard {ON}.
Ввод работает только тогда, когда поле ввода находится в фокусе - Android подключает клавиатуру к приложению именно в этот момент. Если поля в фокусе нет, в логе появится сообщение ZennoKeyboard не отв ечает. Убедитесь, что поле ввода в фокусе.
Требуется Android 8.1 и выше. На более старых устройствах используйте ADBKeyboard.
ADBKeyboard.
Применяется сторонняя клавиатура. Автоматически устанавливается при подключении к устройству. Позволяет вводить символы, как если бы их набирали на виртуальной клавиатуре.
AccessibilityService.
Используется UiAutomator2. Позволяет задать любое значение полю, которое находится в фокусе.
По своей сути не является вводом симв олов, а просто меняет у поля свойство Text на нужное значение.
Не будет работать в приложениях, в которых нет стандартного дерева элементов. Например, в играх.
Native input + Clipboard.
Ввод символов осуществляется через интерфейс IInputManager и IClipboard. Работает достаточно быстро.
Ввод кириллицы/эмодзи возможен только на Android 7 и выше, ASCII - на любых устройствах.
Input text.
Аналог команды input text, но с добавлением всех необходимых преобразований текста для корректного ввода спецсимволов < > | ) ( и прочих. Позволяет вводить только ASCII символы.
Посимвольный ввод работает медленно, поэтому лучше выбирать тип ввода с отключенной задержкой.
Не установилась клавиатура ZennoKeyboard. Что делать?
- Нужно установить на телефон приложение com.zennolab.zennokeyboard.apk (файл лежит в папке Android корневой папки с программой). Например, с помощью экшена Установить приложение.
- Зайти на телефоне в настройки экранной клавиатуры, включить ZennoKeyboard и выбрать её способом ввода по умолчанию.
- Выполнить экшен Запустить ВМ. Клавиатура появится в любом поле, где нужно ввести текст - снизу вы увидите строку
ZennoKeyboard {ON}.
Если в логе появляется сообщение Не удалось включить ZennoKeyboard, значит системе не хватает прав на смену способа ввода. На устройстве с Root ZennoDroid выдаёт их автоматически, без Root клавиатуру нужно включить вручную - как в пункте 2.
Не установилась клавиатура ADBKeyboard. Что делать?
- Нужно установить на телефон приложение com.android.adbkeyboard.apk (файл лежит в папке Android корневой папки с программой). Например, с помощью экшена Установить приложение.
- Зайти на телефоне в настройки языка ввода и поставить галку на AdbKeyboard.
- Выполнить экшен Запустить ВМ. Это активирует клавиатуру. Она появится в любом поле, где нужно ввести текст - снизу вы увидите маленькое уведомление
Adb keyboard ON.