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

Способы ввода (Enterprise)

Способы ввода.​

В программе есть 5 способов ввода символов с клавиатуры.
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. Что делать?​

  1. Нужно установить на телефон приложение com.zennolab.zennokeyboard.apk (файл лежит в папке Android корневой папки с программой). Например, с помощью экшена Установить приложение.
  2. Зайти на телефоне в настройки экранной клавиатуры, включить ZennoKeyboard и выбрать её способом ввода по умолчанию.
  3. Выполнить экшен Запустить ВМ. Клавиатура появится в любом поле, где нужно ввести текст - снизу вы увидите строку ZennoKeyboard {ON}.
Внимательно.

Если в логе появляется сообщение Не удалось включить ZennoKeyboard, значит системе не хватает прав на смену способа ввода. На устройстве с Root ZennoDroid выдаёт их автоматически, без Root клавиатуру нужно включить вручную - как в пункте 2.


Не установилась клавиатура ADBKeyboard. Что делать?​

  1. Нужно установить на телефон приложение com.android.adbkeyboard.apk (файл лежит в папке Android корневой папки с программой). Например, с помощью экшена Установить приложение.
  2. Зайти на телефоне в настройки языка ввода и поставить галку на AdbKeyboard.
  3. Выполнить экшен Запустить ВМ. Это активирует клавиатуру. Она появится в любом поле, где нужно ввести текст - снизу вы увидите маленькое уведомление Adb keyboard ON.