Як додати курсор клавіатури вліво/вправо на панель навігації під час введення тексту

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

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

Будьте впевнені, оскільки це відкриття відкрило шлюз для безкорінної настройки навігаційної панелі, і на передовій стоїть старший член XDA paphonb який розробив додаток під назвою Спеціальна панель навігації щоб допомогти користувачам змінювати навігаційну панель без виконання команд оболонки. Його програма досить багатофункціональна; наприклад, він забезпечує a Tasker плагін, щоб ви могли контекстно змінювати панель навігації. Оскільки багато користувачів не знайомі з 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 профілів)
  • Tasker ($2.99)
  • AutoInput Beta (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

Щоб бета-версія AutoInput виявляла, коли відображається поле введення тексту, ми маємо ввімкнути його службу доступності. Усе, що вам потрібно зробити, це перейти до Налаштування --> Доступність (залежно від вашого пристрою, це може бути в іншому підменю) і знайти Автовведення у списку Послуг. Торкніться його, а потім натисніть перемикач угорі, щоб увімкнути службу доступності.


Підручник

Коли ви переконаєтеся, що користувацька навігаційна панель сумісна з вашим пристроєм і що службу спеціальних можливостей увімкнено для бета-версії AutoInput, настав час усе це налаштувати. Перше, що нам потрібно зробити, це створити новий профіль у користувальницькій навігаційній панелі, яка, коли ввімкнено, додасть клавіші ліворуч/праворуч до нашої панелі навігації. Ось покрокові інструкції:

  1. Відкрийте програму Custom Navigation Bar і торкніться Профілі у розділі Автоматизація.
  2. Натисніть на + у верхньому правому куті, щоб додати новий профіль.
  3. Торкніться щойно створеного профілю.
  4. У розділі «Профіль» натисніть «Назва» та назвіть цей профіль Курсори клавіатури.
  5. У розділі «Додаткова ліва кнопка» натисніть Тип. Встановіть Тип на Ключовий код.
  6. У розділі «Додаткова ліва кнопка» повинні з’явитися дві нові опції під назвою «Код ключа» та «Іконка». Торкніться Ключовий код.
  7. Прокрутіть вниз і виберіть Dpad ліворуч.
  8. Тепер торкніться значок у розділі «Додаткова ліва кнопка».
  9. Виберіть шеврон ліворуч значок.
  10. Повторіть кроки 5-9 для «додаткової правої кнопки». Проте встановіть Keycode на Dpad праворуч і встановіть піктограму на шеврон справа.
  11. Створення резервної копії вгорі в розділі «Профіль» торкніться Увімкнено щоб перевірити цей профіль. Якщо на панелі навігації з’являються стрілки вліво та вправо, це означає, що це працює правильно.

Тепер, коли ми налаштували спеціальний профіль панелі навігації, ми готові налаштувати наш профіль Tasker, який увімкне/вимкне цей профіль, коли буде виявлено/зникне введення тексту. Все це буде зроблено в одному профілі. Ось інструкції:

  1. Відкрийте Tasker і створіть новий профіль, натиснувши на + унизу праворуч.
  2. Виберіть Подія контекст.
  3. Виберіть Плагін --> AutoInput --> Дія інтерфейсу користувача. Торкніться значка олівця, щоб відкрити налаштування автовведення.
  4. У конфігурації AutoInput UI Action натисніть Типи дій. Виберіть Зосереджений елемент введення і Втрачено фокус елемента введення. Ігноруйте розділ «Текст елемента». Торкніться значка галочки вгорі, коли закінчите.
  5. Поверніться на головний екран Tasker, і Tasker попросить вас приєднати завдання до цього профілю. Виберіть створення нового завдання. Не соромтеся називати Завдання.
  6. Додайте дію до цього завдання, торкнувшись + значок унизу посередині.
  7. Йти до Завдання --> Якщо. Установіть значення Якщо %aifocus ~ істина. ~ означає "збіги".
  8. Для другої дії перейдіть до Плагін --> Користувацька панель навігації. Натисніть значок олівця, щоб відкрити конфігурацію. Для дії виберіть Увімкнути профіль. У розділі «Вибрати профіль» виберіть Курсори клавіатури профіль, який ми створили раніше.
  9. Для третьої дії перейдіть до Завдання --> Інше.
  10. Для четвертої дії перейдіть до Плагін --> Користувацька панель навігації. Натисніть значок олівця, щоб відкрити конфігурацію. Для дії виберіть Вимкнути профіль. У розділі «Вибрати профіль» виберіть Курсори клавіатури профіль ще раз.
  11. Для останньої дії перейдіть до Завдання --> Кінець Якщо.
  12. Натисніть назад і вийдіть з екрана редагування завдань.

Коли ви виконаєте всі описані вище дії, ми готові! Спробуйте це, відкривши будь-яке поле введення тексту та подивившись, чи зміниться панель навігації, включивши курсори клавіатури ліворуч/праворуч. Якщо це не працює, ще раз перевірте, чи ввімкнено службу доступності AutoInput.


Використання команд оболонки

Враховуючи, наскільки легко користуватися XDA Senior Member paphonb's Спеціальна панель навігації я справді не бачу потреби надавати докладні покрокові інструкції щодо того, як це зробити з іншими плагінами Tasker, такими як SecureTask або AutoTools (або функція запуску оболонки в 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 і співвідносячи це з an еталонна таблиця розміру значка. 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-Developers у будь-який спосіб! Нещодавно ми виявили, що було кілька блогів, вирізаних, скопійованих, вставлених нашими оригінальними посібниками та іншим вмістом, яким наші користувачі поділилися на форумах. Ці блоги намагаються приписати величезну кількість зусиль, які ми докладаємо для збирання цих посібників, а не надавати якісний вміст самостійно. Ви не знайдете таких посібників, як ті, які ми написали в нашому категорія підручників або навчальні посібники з наших форумів деінде.

Слідкуй за нами на Twitter, Google+, Facebook, або YouTube. Перевірте наш Лабораторії XDA додаток для швидкого перегляду наших форумів (і подумайте про отримання XDA без реклами також!) на своєму мобільному пристрої та перегляньте наш нещодавно випущений Стрічка XDA якщо у вас є OnePlus 3 або OnePlus 3T! Дякуємо та чекайте на наш наступний урок!