Как добавить курсоры влево/вправо на панель навигации во время ввода текста на Android O

click fraud protection

Учебное пособие о том, как отображать кнопки курсора влево/вправо на панели навигации в Android O, но только когда активно поле ввода текста.

Одним из старейших дополнений к пользовательским ПЗУ, которое еще не вошло в официальную версию Android, является возможность вручную перемещать курсор ввода текста. В зависимости от вашего ПЗУ у вас может быть возможность перемещать курсор ввода текста с помощью кнопок громкости или нажатия виртуальных кнопок на панели навигации. Эта функция важна, если вы часто возвращаетесь, чтобы внести исправления при наборе текста, но без специального ПЗУ вы не сможете ею пользоваться.

Однако, если вы используете Предварительная версия Android O для разработчиков у которого есть новый настройщик навигационной панели скрыт в SystemUI Tuner, вы можете добавить курсоры клавиатуры влево/вправо на панель навигации. Все, что вам нужно сделать, это установить левую клавишу панели навигации на KEYCODE_DPAD_LEFT (#21) и правую клавишу навигационной панели, чтобы KEYCODE_DPAD_RIGHT

(#22). Что касается значков, то наиболее разумным является использование значков со стрелками влево/вправо по умолчанию. Этот метод определенно работает, как отметил Андроид Полиция, но он несовершенен, поскольку требует размещения этих ключей постоянно на панели навигации.

Если у тебя естьбылследующий мой предыдущийобучающие программы в настройщике панели навигации Android O, вы узнаете, что можно изменить две клавиши панели навигации на основе любых критериев, которые мы хотим. Таким образом, чтобы сделать наши новые курсоры для ввода текста/клавиатуры более контекстно-зависимыми, мы можем использовать Tasker для показывать кнопки курсора на клавиатуре только во время ввода текста на Android O. В этом руководстве мы предоставим пошаговые инструкции, но вы также можете перейти к нижней части, чтобы загрузить профиль и импортировать его.

Спасибо Эли Ирвину за тестирование моего профиля Tasker и запись экрана!


Показывать курсоры влево/вправо на панели навигации во время ввода текста

Требования:

  • Таскер ($2.99)
  • SecureTask
  • Автоввод бета-версии (~$1.70)

Tasker необходим, потому что это приложение автоматизации, которое мы используем, которое, когда AutoInput обнаруживает текстовое поле, отправляет команды через плагин SecureTask для изменения нашей панели навигации. После того, как вы установили эти приложения, нам нужно их настроить.

Хотя прямого способа определить, когда отображается клавиатура, не существует, мы можем отслеживать только то, когда текстовое поле находится в фокусе. Вы узнаете, когда поле ввода текста находится в фокусе, наблюдая за мигающим курсором в текстовом поле. Мы можем отслеживать их, используя последнюю бета-версию AutoInput, которая была только что выпущена, что позволяет нам добиться этого. Чтобы AutoInput мог отслеживать текстовые поля, нам необходимо включить службу специальных возможностей.

Сделать это очень быстро: просто зайдите в «Настройки» -> «Доступность» и найдите «Автоввод» в списке служб. Включите службу специальных возможностей.

Далее нам нужно предоставить SecureTask возможность изменять системные настройки на нашем устройстве. Для этого мы должны предоставить SecureTask специальное разрешение, известное как WRITE_SECURE_SETTINGS, которое обычно недоступно для обычных приложений, но может быть предоставлено пользователем вручную с помощью ADB. Таким образом, чтобы все заработало, вам понадобится запустить ADB на вашем компьютере. К счастью, это разрешение предоставляется только один раз, поэтому, если вы планируете следовать любому из наших другие руководства, связанные с Android O, в конце концов вам придется это сделать.

Настройка АБР

Первое, что вам нужно сделать, это загрузить двоичный файл ADB для вашей конкретной ОС. Вы можете сделать это здесь. После того, как вы их загрузили, вам необходимо убедиться, что у вас есть правильный водитель если вы используете Windows.

После того, как вы извлекли двоичный файл в отдельную папку и установили драйвер, нам нужно включить отладку по USB на смартфоне. Для этого откройте «Настройки» и перейдите в «О телефоне». Нажмите на номер сборки 7 раз, пока не появится диалоговое окно с сообщением о том, что вы разблокировали параметры разработчика. Теперь вы можете получить доступ к параметрам разработчика в настройках. Очевидно, в Android O вам необходимо ввести свой PIN-код/пароль, прежде чем вы сможете открыть параметры разработчика. Сделайте это и найдите «Отладка по USB», затем включите его.

Теперь подключите телефон и откройте командную строку в том же каталоге, куда вы распаковали двоичный файл ADB. (Пользователи Windows: удерживайте клавишу Shift+щелкните правой кнопкой мыши по этой папке и выберите «Открыть командную строку здесь».) Введите adb devices в командную строку. Вы увидите сообщение о том, что сервер ADB запускается, затем на вашем телефоне появится приглашение с просьбой предоставить вашему компьютеру доступ к ADB. Принять это. Теперь, когда вы входите adb devices в командной строке вы должны увидеть серийный номер вашего устройства, если да, то вы добились успеха.

Предоставление WRITE_SECURE_SETTINGS для SecureTask

В открытой командной строке ADB введите следующую команду, чтобы предоставить SecureTask необходимое разрешение.

adbshellpmgrantcom.balda.securetaskandroid.permission.WRITE_SECURE_SETTINGS

SecureTask теперь будет иметь возможность изменять настройки системы без root-доступа! Теперь мы готовы перейти к Tasker.

Настройка профиля Tasker

Откройте Tasker и создайте новый профиль, нажав кнопку +. Назови это Курсоры на клавиатуре и выберите Событие Контекст. Идти к Плагин -> Автоввод -> Действие пользовательского интерфейса. В разделе «Типы действий» выберите Элемент ввода сфокусирован и Фокус элемента ввода потерян. Оставьте поле «Текст элемента» пустым. Добавление этого контекста автоввода запустит службу мониторинга автоввода, чтобы определить, когда ввод текста поле получает или теряет фокус и сохраняет его в переменной как логическое значение (истина/ложь), которое мы можем читать.

Как только вы закончите создание профиля, Tasker попросит вас добавить задачу. Выберите создание новой задачи, но не утруждайте себя присвоением ей имени. На экране редактирования задачи добавьте следующие действия:

  1. А1: Задача --> Если. Установите значение %aifocus ~ true. Это будет нашим условием, когда AutoInput обнаружит, что поле ввода текста находится в фокусе. Следующие два действия установят клавиши панели навигации на клавиши DPAD_LEFT и DPAD_RIGHT.
  2. А2: Плагин -> SecureTask -> Настройки безопасности.. Действие: Писать. Параметр: secure sysui_nav_bar_left. Ценить: key(21:com.android/systemui/2131230907).
  3. А3: Плагин -> SecureTask -> Настройки безопасности.. Действие: Писать. Параметр: secure sysui_nav_bar_right. Ценить: key(22:com.android/systemui/2131231004).
  4. А4: Задача --> Еще. Это когда для %aifocus установлено значение false, то есть поле ввода текста потеряло фокус. Затем мы очистим клавиши панели навигации.
  5. А5: Плагин -> SecureTask -> Настройки безопасности.. Действие: Писать. Параметр: secure sysui_nav_bar_left. Ценить: null.
  6. А6: Плагин -> SecureTask -> Настройки безопасности.. Действие: Писать. Параметр: secure sysui_nav_bar_right. Ценить: null.
  7. А7: Задача -> Завершить, если.

Вы закончили работу со сценарием Tasker. Теперь каждый раз, когда функция автоматического ввода обнаруживает, что поле ввода текста находится в фокусе (что соответствует тому, когда ваша клавиатура находится в фокусе). показ), вы увидите две новые клавиши курсора на панели навигации, которые исчезнут, когда поле ввода текста больше не будет отображаться. в фокусе.


Скачать и импортировать

Как и во всех руководствах, связанных с Tasker, мы предоставим XML-файл, который вы сможете загрузить и импортировать. Загрузите файл .prf.xml с AndroidFileHost ниже и сохраните его во внутренней памяти. Откройте Tasker и нажмите и удерживайте вкладку «Профили» вверху, пока не увидите кнопку «Импорт». Нажмите на него и найдите только что сохраненный XML-файл, затем выберите его, чтобы импортировать. Убедитесь, что у вас включена служба специальных возможностей AutoInput и предоставлено разрешение WRITE_SECURE_SETTINGS в SecureTask, как указано в моей статье, иначе этот профиль не подойдет. что-нибудь на вашем телефоне!

Загрузите профиль «Курсоры клавиатуры» с AndroidFileHost.

Если вам интересно, какие еще полезные клавиши мы можем добавить на панель навигации, чтобы сделать Android O более приятным, мы покажем вам альтернативную настройку в будущее руководство.