Щоб точно досягти мети, нам потрібні встановлені Xposed Additions Pro та Tasker , де для першого потрібен кореневий доступ та встановлений Xposed Framework (стабільна збірка).
Після встановлення Xposed Additions вам буде запропоновано активувати його модуль у Xposed Framework. Активуйте його.
Ми будемо використовувати здатність Xposed Addition перехоплювати натискання клавіші і надаватиме умові та дії, які слід виконати для цього натискання клавіші. Ми будемо використовувати Tasker, щоб обійти обмежений набір можливостей Xposed Addition.
Примітка . Усі розділи перевірені на Android 4.4.2 та 5.0.2.
Інструкції щодо розкритих доповнень
- Запустіть розкриті доповнення → натисніть кнопку
- Торкніться опції Додати новий ключ
- Натисніть кнопку пристрою , які будуть використовуватися в якості клавіатури ↑ ключа
- Я вибрав кнопку збільшення гучності / +
- Торкніться кнопки, яку ви вибрали раніше
- Натисніть Додати нову умову
- Торкніться списку Завантажити програми
- Виберіть додаток, де ви хочете, щоб кнопка збільшення гучності імітувала ↑ клавішу клавіатури
- Торкніться введення раніше вибраного додатка
- Установіть прапорець, щоб активувати Клацання
- Торкніться клацання
- Оберіть DPad Up aka Directional Pad Up - це KeyEvent
(Клацніть зображення, щоб збільшити; наведіть курсор, щоб дізнатися деталі)
(Порядок зображень. Дотримуйтесь зображень зліва направо в кожному рядку)
Тепер створіть дію для зменшення гучності / - кнопкою вищезазначеним чином, але виберіть DPad Down на останньому кроці.
Настав час запустити вибране вами додаток у вказаних кроках та спробувати натиснути кнопки збільшення гучності та зменшення гучності . Вони працюватимуть як ↑ ↓ спрямовані клавіші клавіатури.
Зауважте, що всупереч фізичній клавіатурі, де, якщо ви тримаєте клавішу спрямування, система продовжуватиме прокручувати вгору / вниз, це не та поведінка, яку ви б спостерігали, якщо довго натискати кнопки (вищезазначеного вибраного) пристрою.
Крім того , замість вибору DPad Up та DPad Down виберіть Page Up та Page Down Down, щоб імітувати клавіатуру Pg Upта Pg Dnклавішу або призначити їх іншим діям, переліченим у кроці 10 .
І не турбуйтеся про рівень звучання дзвінка чи гучномовця, оскільки ними можна керувати, натиснувши ці кнопки збільшення гучності та зменшення гучності . Така поведінка справедлива під час запуску вищезазначеного вибраного додатка.
Я успішно протестував вищезазначене рішення для Chrome, Firefox та деяких текстових редакторів. Все йде нормально!
Ні! Зазначене рішення не добре для всіх застосувань. Ми хочемо охопити всі програми, тож чому обмежуватись лише веб-браузерами та текстовими редакторами.
На жаль, є програми, на яких зазначене рішення не працює. Використовувані нами KeyEvents, схоже, не впливають на такі програми, як Foxit MobilePDF , WPS Office , BetterbatteryStats тощо.
Давайте зараз зосередимося на новому рішенні. Android дозволяє надсилати пальці за допомогою input
команди; Xposed Additions дозволяє використовувати власний ярлик як дію; Tasker може створити спеціальний ярлик для використання input swipe
.
Інструкції для Tasker та Xposed доповнень
Спочатку нам потрібні координати початку та кінця пальця (X і Y), щоб використовувати їх у input
команді. Ми можемо записати його за допомогою команди Getevent .
Налаштуйте adb на своєму ПК, підключіть пристрій до ПК, увімкніть налагодження USB в пристрої, запустіть оболонку на ПК та введіть:
adb shell su -c 'getevent -l'
Він показав би рядки, а потім чекав би нескінченно часу на вихід.
Настав час визначити довжину пальця як альтернативу DPad Up / Page Up .
Наприклад, довжина стрілки, що вимірює промах на двох зображеннях, є альтернативою довжині прокрутки DPad Up / Down та Page Up / Down відповідно.
Коли ви робите пальцем по екрану, оболонка на ПК відображатиме висновок на зразок:
/dev/input/event0: EV_ABS ABS_MT_TRACKING_ID 0000044c
/dev/input/event0: EV_KEY BTN_TOUCH DOWN
/dev/input/event0: EV_KEY BTN_TOOL_FINGER DOWN
/dev/input/event0: EV_ABS ABS_MT_POSITION_X 00000300
/dev/input/event0: EV_ABS ABS_MT_POSITION_Y 000006de
/dev/input/event0: EV_ABS ABS_MT_PRESSURE 000000c0
/dev/input/event0: EV_ABS ABS_MT_TOUCH_MINOR 00000004
/dev/input/event0: EV_SYN SYN_REPORT 00000000
/dev/input/event0: EV_SYN SYN_REPORT 00000000
...
/dev/input/event0: EV_ABS ABS_MT_POSITION_X 000002fb
/dev/input/event0: EV_ABS ABS_MT_POSITION_Y 000004e3
/dev/input/event0: EV_ABS ABS_MT_PRESSURE 000000cc
/dev/input/event0: EV_SYN SYN_REPORT 00000000
/dev/input/event0: EV_ABS ABS_MT_PRESSURE 000000c8
Зробивши пальцем вгору певної довжини, натисніть Ctrl+ Cу ПК, щоб зупинити команду.
У вихідному документі відзначте перші записи ABS_MT_POSITION_X ( 00000300
) та ABS_MT_POSITION_Y ( 000006de
), а останні ABS_MT_POSITION_X ( 000002fb
) та ABS_MT_POSITION_Y ( 000004e3
). Вони є початковою (X1, Y1) і кінцевою (X2, Y2) координатами в шістнадцятковій формі. Перетворіть їх у десяткову форму (спробуйте перетворювач тут ).
У оболонці, якщо ви введете:
adb shell input touchscreen swipe X1 Y1 X2 Y2
(замініть X1, Y1 та X2, Y2 на теперішньо перетворені десяткові координати) ви помітите рух пальцем вгору на пристрої, що ефективно імітує прокручування вниз. Керуйте цими координатами, поки не отримаєте ідеальну прокрутку вниз.
В якості альтернативи використання Getevent можна спробувати більш доброзичливий підхід.
Включення покажчика Місце під параметри розробника . Після ввімкнення цього рядка стану вашого пристрою накривається панель із зазначенням деяких координат, які змінюватимуться з переміщенням вашого торкання / пальця по екрану.
Час запису вашої довжини пальця. Торкніться й утримуйте палець на екрані, а відмітьте його X:
та Y:
вгорі. Починайте розмахувати пальцем до потрібної довжини; зупиніться, але не відпускайте палець і запишіть відповідні X:
та Y:
координати.
Це координати X1, Y1 і X2, Y2 для вашого пальця вгору. Вони знаходяться в десятковій формі, тому ви можете безпосередньо використовувати їх у input
команді.
Ви можете вимкнути розташування вказівника зараз.
Інструкції, характерні для Tasker
Зараз ми створили б ярлик для імітації перенесення, який ми виконували вручну в останній команді, з метою автоматизації.
- Запустіть Tasker і ввімкніть його. Якщо його значок над вкладкою " Профілі" горить, він уже активний. Зауважте, що все в програмі Tasker зберігається натисканням кнопки "назад", що також змінить активне вікно.
- Створіть завдання під Завданнями через
+
(внизу) → назвіть його (скажіть Scroll Down
).
Створіть у ній дію через +
→ Код → Запустити оболонку та введіть ці дані:
Команда :input touchscreen swipe X1 Y1 X2 Y2
Замініть X1, X2 та Y1, Y2 координатами, які ви зазначили раніше. Напр input touchscreen swipe 768 1758 763 1251
.
Позначте Використовувати корінь
- Помилки зберігання в :
%sd_err
- цей крок необов’язковий.
- Створіть нове завдання з назвою
Scroll Up
та створіть у ньому дію, дотримуючись кроку 3 . Для моделювання пальцем вниз просто замініть координати, так що це було б input swipe X2 Y2 X1 Y1
і, можливо, використовувати %su_err
для зберігання помилок, якщо вони трапляються!
Інструкції по використанню ярликів завдань у Розкритих доповненнях
Це завершальна фаза рішення, і вона використовує ці спеціальні ярлики в Xposed Additions.
- Виконайте кроки 1-11 у першому розділі, що стосується використання Експонованих доповнень
- Виберіть ярлик замість DPad Up або Page Up
- Виберіть ярлик завдання → Прокрутіть вгору
- Виберіть піктограму 3x3 квадратних коробки внизу
- Виберіть піктограму та поверніться до пункту Xposed Additions.
- Повторіть вищевказані кроки 1-5 для зменшення гучності та виберіть Прокрутити вниз . Зараз ви отримуєте ідею, що робити щоразу .
Я склав відео, на якому показана вся відповідь у дії. Ось воно . Пам’ятайте про якість, оскільки вона сильно видобута від 100 МБ до 7,1 МБ.
Ура!