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

Учебное пособие о том, как добавить курсоры влево/вправо на панель навигации во время ввода текста с помощью Tasker и пользовательской панели навигации. Рут не требуется, Android 7.0+.

Настройка панели навигации была основным элементом пользовательских ПЗУ с тех пор, как Google представила Галактика Нексус с Android 4.0 Ice Cream Sandwich (о Motorola Xoom и Honeycomb в этих краях мы не говорим). Хотя некоторые OEM-производители предлагают некоторую настройку программных клавиш на своих телефонах, это возможно только при наличии первая предварительная версия Android O для разработчиков что Google официально включает настройка навигационной панели. Однако пользователи наших форумов обнаружили, что тюнер навигационной панели Google на самом деле был скрыт в AOSP начиная с Android Nougat, но только на этой неделе мы обнаружили, что этот скрытый тюнер навигационной панели может быть доступ осуществляется через команды оболочки без необходимости использования root, пользовательских ПЗУ или модов системного пользовательского интерфейса.

. Возможно ли теперь реализовать популярные функции пользовательских ПЗУ, такие как добавление курсоров клавиатуры на панель навигации?

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

В этом уроке я покажу вам, как добавьте курсоры клавиатуры влево/вправо на панель навигации, пока отображается клавиатура (Android 7.0+, root не требуется!) Этот урок похож на тот, который я написал для Пользователи Android O, но это руководство будет гораздо более доступным, поскольку оно работает на Android Nougat.

Да-да, мы знаем, что Swiftkey и Gboard, среди прочего, имеют встроенные в клавиатуру курсоры. Однако не каждая клавиатура это делает, и, на мой взгляд, удобнее использовать кнопки на панели навигации, а не кнопки на панели навигации. Swiftkey (которые занимают место) или в Gboard (которые требуют неточных движений по пробелу или переключения на специальную клавишу). режим).


Рекомендуемая литература 1: Как изменить значки панели навигации или переупорядочить кнопки без рута

Рекомендуемая литература 2: Как добавить элементы управления воспроизведением мультимедиа на панель навигации при воспроизведении музыки


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

Требования

Система Требования: вам понадобится устройство Android 7.0+, совместимое с настройщиком панели навигации AOSP. Известно, что Google Nexus, Pixel и некоторые телефоны Sony/HTC работают. На большинстве устройств, близких к стандартному Android, настройщик панели навигации AOSP, скорее всего, не удален, и они должны работать. Это означает, что он, скорее всего, не будет работать на вашем стандартном устройстве LG, Samsung или Huawei/Honor. Смотрите раздел «Совместимость». в первом сообщении этой темы. (Примечание: OEM-производитель вашего устройства может не быть указан в этой теме. Единственный способ узнать наверняка, совместимо ли ваше устройство, — это опробовать приложение, что мы покажем вам ниже.)

Требования к приложению:

  • Пользовательская панель навигации (Бесплатно для 2 профилей)
  • Таскер ($2.99)
  • Автоввод бета-версии (v2.0.5b.bf) (~ 1,70 доллара США)

Причина, по которой нам нужна пользовательская панель навигации, очевидна — это приложение позволит нам изменить панель навигации для отображения этих клавиш воспроизведения мультимедиа. (Технически нам не нужно это приложение для этих модификаций, поскольку мы можем использовать команды оболочки или другие плагины Tasker, но чтобы упростить задачу для наших пользователей мы покажем, как это настроить с помощью этого замечательного приложения.) AutoInput Beta — это плагин Tasker, который поможет нам определить, когда клавиатура показ (технически плагин определит, когда отображается поле ввода текста, а не сама клавиатура, но это самое близкое, что мы можем получать). Наконец, Tasker устраняет разрыв между бета-версией AutoInput и пользовательской панелью навигации.

Настройка: пользовательская панель навигации

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

Установите приложение из магазина Google Play, затем откройте приложение и перейдите к вводным экранам. Пользовательская панель навигации попросит вас предоставить ей определенное разрешение WRITE_SECURE_SETTINGS, чтобы продолжить использование приложения. Как указано в приложении, это можно сделать двумя способами.

  1. Если у вас есть рутированное устройство, пользовательская панель навигации запросит доступ суперпользователя. Предоставьте это, и приложение автоматически предоставит себе это разрешение.
  2. Если ваше устройство не рутировано, вам необходимо будет предоставить разрешение через ADB. Откройте командную строку/терминал на своем компьютере и введите следующую команду: adb shell pm grant xyz.paphonb.systemuituner android.permission.WRITE_SECURE_SETTINGS

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

Настройка: бета-версия автоввода

Чтобы AutoInput Beta обнаруживал, когда отображается поле ввода текста, нам необходимо включить его службу специальных возможностей. Все, что вам нужно сделать, это зайти в «Настройки» -> «Доступность» (в зависимости от вашего устройства оно может находиться в другом подменю) и найти «Автоввод» в списке «Службы». Нажмите на него, затем нажмите переключатель вверху, чтобы включить службу специальных возможностей.


Руководство

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

  1. Откройте приложение «Пользовательская панель навигации» и нажмите Профили в разделе Автоматизация.
  2. Нажмите на + значок в правом верхнем углу, чтобы добавить новый профиль.
  3. Нажмите на только что созданный профиль.
  4. В разделе «Профиль» нажмите «Имя» и назовите этот профиль. Курсоры на клавиатуре.
  5. В разделе «Дополнительная левая кнопка» нажмите Тип. Установите Тип на Ключевой код.
  6. В разделе «Дополнительная левая кнопка» должны появиться две новые опции: «Код клавиши» и «Значок». Нажать на Ключевой код.
  7. Прокрутите вниз и выберите Dpad слева.
  8. Теперь нажмите на Икона в разделе «Дополнительная левая кнопка».
  9. Выберите шеврон левый икона.
  10. Повторите шаги 5–9 для «дополнительной правой кнопки». Однако установите код ключа на Dpad вправо и установите значок на шеврон правый.
  11. Резервное копирование вверху в разделе «Профиль», нажмите на Включено чтобы протестировать этот профиль. Если вы видите всплывающие стрелки влево и вправо на панели навигации, значит, все работает правильно.

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

  1. Откройте Tasker и создайте новый профиль, нажав на значок + значок в правом нижнем углу.
  2. Выберите Событие контекст.
  3. Выбирать Плагин -> Автоввод -> Действие пользовательского интерфейса. Коснитесь значка карандаша, чтобы открыть конфигурацию автоввода.
  4. В конфигурации действий автоматического ввода пользовательского интерфейса нажмите Типы действий. Выбирать Элемент ввода сфокусирован и Фокус элемента ввода потерян. Не обращайте внимания на раздел «Текст элемента». Когда закончите, нажмите на значок галочки вверху.
  5. Вернитесь на главный экран Tasker, и Tasker попросит вас прикрепить задачу к этому профилю. Выберите создание новой задачи. Не утруждайтесь названием задачи.
  6. Добавьте действие к этой задаче, нажав значок + значок внизу посередине.
  7. Идти к Задача --> Если. Установите его на Если %aifocus ~ true. ~ — это «совпадения».
  8. Для второго действия перейдите к Плагин -> Пользовательская панель навигации.. Нажмите значок карандаша, чтобы открыть конфигурацию. Для действия выберите Включить профиль. В разделе «Выбрать профиль» выберите Курсоры на клавиатуре профиль, который мы сделали ранее.
  9. Для третьего действия перейдите к Задача --> Еще.
  10. Для четвертого действия перейдите к Плагин -> Пользовательская панель навигации.. Нажмите значок карандаша, чтобы открыть конфигурацию. Для действия выберите Отключить профиль. В разделе «Выбрать профиль» выберите Курсоры на клавиатуре профиль еще раз.
  11. Для последнего действия перейдите к Задача -> Завершить, если.
  12. Нажмите «Назад» и выйдите из экрана редактирования задачи.

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


Использование команд оболочки

Учитывая, насколько легко использовать XDA Senior Member пафонб's Пользовательская панель навигации app, я не вижу необходимости предоставлять подробные пошаговые инструкции о том, как это сделать с другими плагинами Tasker, такими как SecureTask или АвтоИнструменты (или функцию оболочки запуска в Tasker). Однако это, безусловно, возможно, и, по крайней мере, я предоставлю краткое описание команд, необходимых для репликации этой настройки без использования приложения paphonb.

Первое, что вам нужно сделать, это установить SecureTask или AutoTools. Вам нужно будет предоставить разрешение WRITE_SECURE_SETTINGS любому выбранному вами приложению, чтобы управлять настройщиком панели навигации.

Для SecureTask:

adbshellpmgrantcom.balda.securetaskandroid.permission.WRITE_SECURE_SETTINGS

Для AutoTools:

adbshellpmgrantcom.joaomgcd.autotoolsandroid.permission.WRITE_SECURE_SETTINGS

Далее вам нужно будет загрузить значки, которые вы будете использовать для клавиш предыдущей/следующей. Вам понадобятся значки в формате PNG, а что касается размера, вы можете определить размер нужных вам значков, посмотрев показатели плотности отображения устройства на Material.io и соотносим это с Справочная таблица размеров значков. IconsDB.com — хороший ресурс бесплатных иконок. Сохраните значки, которые вы будете использовать, как left.png и right.png в папке /NavIcons в корневом каталоге вашего хранилища.

Наконец, вы введете эту команду, чтобы отобразить кнопки управления мультимедиа:

settings put secure sysui_nav_bar "key(21:file:///storage/emulated/0/NavIcons/left.png),back; home; recent, key(22:file:///storage/emulated/0/NavIcons/right.png)"

где ключ № 21 относится к KEYCODE_DPAD_LEFT и ключ № 22 относится к KEYCODE_DPAD_RIGHT.

Затем, чтобы вернуть клавиши панели навигации к раскладке по умолчанию (т. фокус ввода текста потерян), введите следующую команду:

settings put secure sysui_nav_bar "space, back; home; recent, menu_ime"

По сути, настройка профиля Tasker будет точно такой же, как и настройка, описанная выше, за исключением того, что вместо двух пользовательских действий Tasker на панели навигации вы будете использовать SecureTask/AutoTools/Run Shell. Просто обратите внимание: если у вас нет root-прав и вы не используете действие «запустить оболочку» в Tasker, весь процесс ввода этих команд в SecureTask или AutoTools лежит на вас. На самом деле это не так уж сложно сделать, но многим пользователям проще использовать приложение paphonb, поэтому я не буду здесь вдаваться в подробности.


Заключение

Вот и все, что касается этого урока. Я буду время от времени публиковать будущие руководства, когда найду более практическое применение изменения панели навигации, особенно контекстуально, с помощью приложения автоматизации, такого как Tasker. Если у вас есть умные идеи, но вы не знаете, как их реализовать самостоятельно, отправьте нам сообщение, используя наш Форма чаевых или напишите нам напрямую, и мы сделаем все возможное, чтобы разобраться в этом!

Пожалуйста, поддержите разработчиков XDA любым возможным способом! Недавно мы обнаружили, что в нескольких блогах были вырезаны, скопированы и вставлены наши оригинальные руководства и другой контент, которым наши пользователи делились на форумах. Эти блоги пытаются приписать себе огромные усилия, которые мы прилагаем для составления этих руководств, а не предоставлять качественный контент самостоятельно. Вы не найдете таких руководств, как те, которые мы написали в нашем категория обучающих программ или руководства с наших форумов где-либо еще.

Подпишитесь на нас в Твиттер, Гугл+, Фейсбук, или YouTube. Ознакомьтесь с нашим XDA Лаборатория приложение для быстрого просмотра наших форумов (и рассмотрите возможность получения XDA без рекламы тоже!) на своем мобильном устройстве и ознакомьтесь с нашими недавно выпущенными XDA-канал приложение, если у вас есть OnePlus 3 или OnePlus 3T! Спасибо и следите за обновлениями для нашего следующего урока!