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

Підручник про те, як показувати кнопки курсору вліво/вправо на панелі навігації в Android O, але лише коли поле введення тексту активне.

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

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

як зазначив Android Police, але він має недоліки, оскільки вимагає розміщення цих ключів постійно на панелі навігації.

Якщо ти маєшбувнаступні мій Попереднійпідручники на настроювачі панелі навігації Android O, тоді ви дізнаєтеся, що можна змінити дві клавіші панелі навігації на основі будь-яких критеріїв, які ми хочемо. Таким чином, щоб зробити наші нові курсори введення тексту/клавіатури більш зрозумілими для контексту, ми можемо використовувати Tasker для показувати кнопки курсору на клавіатурі лише тоді, коли в Android O відображається введення тексту. У цьому посібнику ми надамо покрокові інструкції, але ви також можете перейти до кінця, щоб завантажити профіль і імпортувати його.

Дякую Елі Ірвіну за тестування мого профілю Tasker і запис цього екрана!


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

Вимоги:

  • Tasker ($2.99)
  • SecureTask
  • AutoInput Beta (~$1.70)

Tasker необхідний, оскільки це програма для автоматизації, яку ми використовуємо, яка, коли AutoInput виявляє текстове поле, надсилає команди через плагін SecureTask, щоб змінити нашу панель навігації. Коли ви встановите ці програми, нам потрібно їх налаштувати.

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

Зробити це дуже швидко, просто перейдіть у «Налаштування» --> «Спеціальні можливості» та знайдіть «Автовведення» у списку служб. Увімкніть службу доступності.

Далі нам потрібно надати SecureTask можливість змінювати параметри системи на нашому пристрої. Щоб зробити це, ми повинні надати SecureTask спеціальний дозвіл, відомий як WRITE_SECURE_SETTINGS, який зазвичай недоступний для звичайних програм, але може бути наданий користувачем вручну за допомогою ADB. Таким чином, вам знадобиться запустити ADB на вашій машині, щоб це запрацювало. На щастя, цей дозвіл надається лише одноразово, тож якщо ви плануєте дотримуватися будь-якого з наших інші посібники, пов’язані з Android O, зрештою вам доведеться це зробити.

Налаштування ADB

Перше, що вам потрібно зробити, це завантажити двійковий файл ADB для вашої конкретної ОС. Зробити це можна тут. Після того як ви їх завантажите, вам потрібно переконатися, що у вас є правильний водій якщо ви використовуєте Windows.

Після того, як ви розпакували двійковий файл в окрему папку та встановили драйвер, нам потрібно ввімкнути USB Debugging на смартфоні. Для цього відкрийте «Налаштування» та перейдіть до «Про телефон». Торкніться номера збірки 7 разів, доки не з’явиться діалогове вікно про те, що ви розблокували параметри розробника. Ви можете отримати доступ до параметрів розробника в налаштуваннях зараз. Вочевидь, в Android O вам потрібно ввести PIN-код/пароль, перш ніж ви зможете відкрити параметри розробника. Зробіть це та знайдіть пункт USB Debugging, а потім увімкніть його.

Тепер підключіть свій телефон і відкрийте командний рядок у тому самому каталозі, де ви роздобули двійковий файл 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 і створіть новий профіль, натиснувши кнопку +. Назвіть це Курсори клавіатури і виберіть Подія Контекст. Йти до Плагін --> AutoInput --> Дія інтерфейсу користувача. Для типів дій виберіть Зосереджений елемент введення і Втрачено фокус елемента введення. Залиште текст елемента порожнім. Додавання цього контексту AutoInput запустить службу моніторингу AutoInput для виявлення введення тексту поле отримує або втрачає фокус і зберігає його в змінній як логічне значення (true/false), яке ми можемо читати.

Коли ви завершите створення профілю, Tasker попросить вас додати завдання. Створіть нове завдання, але не давайте йому назву. На екрані редагування завдань додайте такі дії:

  1. A1: Завдання --> Якщо. Встановіть значення, якщо %aifocus ~ true. Це буде наша умова, коли AutoInput виявляє, що поле введення тексту знаходиться у фокусі. Наступні дві дії встановлять клавіші панелі навігації на клавіші DPAD_LEFT і DPAD_RIGHT.
  2. A2: Плагін --> SecureTask --> Secure Settings. Дія: Напишіть. налаштування: secure sysui_nav_bar_left. Значення: key(21:com.android/systemui/2131230907).
  3. A3: Плагін --> SecureTask --> Secure Settings. Дія: Напишіть. налаштування: secure sysui_nav_bar_right. Значення: key(22:com.android/systemui/2131231004).
  4. A4: Завдання --> Інше. Це коли для %aifocus встановлено значення false, у порядку слів поле введення тексту втратило фокус. Потім ми очистимо клавіші панелі навігації.
  5. A5: Плагін --> SecureTask --> Secure Settings. Дія: Напишіть. налаштування: secure sysui_nav_bar_left. Значення: null.
  6. A6: Плагін --> SecureTask --> Secure Settings. Дія: Напишіть. налаштування: secure sysui_nav_bar_right. Значення: null.
  7. A7: Завдання --> Кінець Якщо.

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


Завантажити та імпортувати

Як і з усіма навчальними посібниками, пов’язаними з Tasker, ми надамо файл XML, який ви можете завантажити та імпортувати. Завантажте файл .prf.xml із AndroidFileHost нижче та збережіть його у внутрішній пам’яті. Відкрийте Tasker і натисніть і утримуйте вкладку Профілі вгорі, доки не побачите кнопку Імпортувати. Торкніться цього та знайдіть XML-файл, який ви щойно зберегли, а потім виберіть його, щоб імпортувати. Переконайтеся, що ви ввімкнули службу доступності AutoInput і дали дозвіл WRITE_SECURE_SETTINGS до SecureTask, як зазначено в моїй статті, інакше цей профіль не працюватиме будь-що на вашому телефоні!

Завантажте профіль «Курсори клавіатури» з AndroidFileHost

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