Android        08.03.2024   

Сказ о трех кнопках. Колонка Евгения Зобнина

Легкая утилита, которая неплохо упрощает работу с устройством.


Введение:

Какую кнопку каждый пользователь использует чаще всего за день? Это либо кнопка Домой, либо кнопка Назад. Приложение под названием создано для того, чтобы расширить функционал кнопки Назад, привязав к ней возможность управления жестами, что позволит автоматизировать некие другие системные функции. Стоит понимать, что привычная кнопка Назад останется на том же месте, а приложение добавляет свою собственную, которая, при этом, не займет много места.



Функционал:


Для использования приложения Root права не требуется, но вместо этого необходимо активировать службу приложению в разделе “Специальные возможности”. Функционал у приложения оказался достаточно простым, но то, что это работает и при этом абсолютно не мешает привычной работе с устройством, уже заслуживает определенной похвалы. На главном экране представлено 3 вида действий, которые вы можете выполнить с кнопкой: удерживание, жест вверх и жест вниз. Для каждого из действий можно выбрать одно из 5 действий:
1. Никакого действия.
2. Домой
3. Недавно запущенные приложения
4. Уведомления
5. Спрятать кнопку
Жесты выполняются следующим образом: ставите палец на кнопку, а затем проводите вверх или вниз, при этом на самой кнопке будет появляться ободок определенного цвета. Естественно, если просто нажать на кнопку, то она отработает точно так же, как и системная кнопка Назад.


Итоги:


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

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

Чтобы все получилось, необходимо получить Root права. Доступ администратора к недрам системных файлов иногда заполучить сложно. Но с появлением приложений, получающих необходимый доступ за вас, больше не нужно читать многостраничные инструкции. Просто установите программу Kingo Root на ваш компьютер и подключите телефон. Единственное, что нужно сделать, пока проходит установка программы - в настройках телефона, разделе «безопасность» разрешить «Отладку по USB». Вот и все. Нажав большую кнопку Root в интерфейсе Kingo Root , активируем права администратора.

Шаг второй выглядит немного сложнее. Вам потребуется скачать из Google Play (или чуточку…альтернативных источников) программу Root Explorer. Установите ее на ваш смартфон. Запустите это приложение, найдите каталог System, а в нем - build.prop. Если такого файла в системном каталоге не видно, не беда. В верхнем углу программы есть троеточие - тапните по нему, чтобы открыть подменю. В настройках программы отметьте пункт «Показывать скрытые файлы». Пропажа тут же обнаружится.

В левом углу Root Explorer находится еще один нужный нам пункт - r/w. Коснитесь его один раз и подтвердите свой выбор. Это действие активирует возможность редактировать системные файлы. Теперь коснитесь build.prop и удерживайте палец на нем. Верхнее меню изменится и из выпадающего списка (во все том же троеточии) вы найдете подпункт «открыть в текстовом редакторе».

Пролистайте открытый файл до самого низа - все эти длинные списки настроек пока не нужны. В самом низу добавьте строку qemu.hw.mainkeys=0. Сохраните файл и перезагрузите телефон.

Готово, в самом низу экрана появились три наэкранные кнопки - аналогичные тем, что вы можете увидеть на экране любого планшета. А после ремонта физических кнопок виртуальные вполне получится скрыть обратно, заменив строку qemu.hw.mainkeys=0 на qemu.hw.mainkeys=1 и снова перезагрузив аппарат.

Когда мне в очередной раз достался смартфон с хардварными клавишами навигации, вообще без возможности их настройки или активации экранных клавиш в стиле Nexus, я решил, что с этим надо что-то делать. Покопавшись пару часов во внутренностях Android, я отключил надоедливую подсветку, поменял клавиши «Назад» и «Обзор» местами, а потом включил экранные кнопки и обрел покой.

Интро

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

Экранные кнопки навигации поворачиваются вместе с экраном, исчезают, когда они не нужны, меняют цвет и органично встраиваются в интерфейс домашнего экрана. Если отбросить саму идею бесполезности существования сразу трех кнопок (в конце концов, яблочники обходятся одной и не чувствуют себя обездоленными) и довольно-таки удобные системы навигации вроде PIE или «пузыря навигации MIUI», то экранные кнопки - это лучшее, что было придумано до сих пор.

Так вот. Почему-то мою замечательную, прекраснейшую идею о том, что лучше наэкранных кнопок нет ничего, не разделяют ну очень многие производители смартфонов. И даже не просто не разделяют, а не разделяют совершенно чудовищным способом, заставляя пользоваться смартфоном с сенсорными кнопками (ААА!), снабженными динамической подсветкой (ААА-2!) и кнопкой «Назад» с правой стороны экрана (ААА-3: решающий удар).

Ситуация неприемлемая до крайности, а учитывая, что добрый разработчик прошивки не предусмотрел никаких настроек для активации экранных клавиш и настроек для управления сенсорными кнопками, пришлось обойтись своими силами. Было два варианта дальнейших действий:

  • привести сенсорные кнопки к нужному состоянию, а именно отключить подсветку и перенести клавишу «Назад» на левую сторону (пусть она выглядит как «квадрат», так даже интересней);
  • отключить сенсорные кнопки полностью и активировать наэкранные кнопки.

Сторонние инструменты я не люблю, поэтому решение сделать все своими руками пришло само собой.

Способ номер один. Настраиваем сенсорные кнопки

Для начала попробуем отключить подсветку кнопок. Для этого нам нужен root, эмулятор терминала и каталог /sys в корне файловой системы. Именно такая комбинация. Мы имеем дело с ядром Linux, а в системах на его основе вся важная информация о железе, а также «тумблеры», им управляющие, обычно находятся в файловой системе sysfs, подключенной к каталогу /sys .

Собственно, sysfs - это даже не файловая система, точнее, она файловая, но оперирует так называемыми синтетическими файлами. А они не хранятся на диске, это своего рода интерфейс общения с драйверами: прочитал файл - получил данные о железке, записал - изменил какую-то настройку. А для записи как раз таки нужны права root.

Итак, получаем root, запускаем эмулятор терминала (а лучше ). И пишем следующее:

# su # cd /sys

# find -name \*button\* ./leds/button-backlight

Бинго! Это каталог /sys/class/leds/button-backlight . Переходим в него и смотрим, что внутри:

# cd /sys/class/leds/button-backlight # ls brightness device max_brightness power subsystem trigger uevent

Ставлю свой Nokia 3310 на то, что файл brightness - это текущая яркость кнопок, а max_brightness - максимальная. Проверим догадку, записав в первый файл значение 100 (ну типа 100%, хотя какая там шкала - неизвестно):

# echo 100 > brightness

Отлично, кнопки горят и даже не собираются тухнуть.

Момент истины - пишем в файл max_brightness значение 0:

# echo 0 > max_brightness

Кнопки погасли, навсегда, как и лампочка в моем подъезде вчера ночью.

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

# mkdir /sdcard/boot # echo "echo 0 > /sys/class/leds/button-backlight/max_brightness" > /sdcard/boot

А его, в свою очередь, поставим в автозагрузку с помощью . Запускаем приложение, выбираем первые три галочки, c помощью опции Select folder выбираем каталог boot на карте памяти.


Ползадачи выполнено, осталось поменять местами кнопки «Назад» и «Обзор». Для этого необходимо изменить раскладку кнопок. В Android она лежит в нескольких файлах каталога /system/usr/keylayout/ . Их довольно много, но если отбросить файлы типа Vendor_2378_Product_100a.kl и qwerty.kl (они хранят раскладки полноценных Qwerty-клавиатур, которые Android поддерживает из коробки), то останется от силы пять штук.

Один из них как раз нам и нужен. Часто смартфоны используют файл ft5x06_ts.kl , специфичный для контроллера тачскрина FT5x06 (кнопки же сенсорные, правильно?), но в моем случае им оказался файл Vendor_2378_Product_100a.kl .

Если открыть этот файл, можно увидеть три искомые строки:

Key 158 BACK VIRTUAL key 139 MENU VIRTUAL key 102 HOME VIRTUAL

Остается только поменять числа 158 и 139 местами (для этого подходит любой файловый менеджер с поддержкой прав root). После перезагрузки новая раскладка начнет действовать.

Способ номер два. Экранные клавиши

Здесь все еще проще. В Android существует специальная отладочная переменная qemu.hw.mainkeys , которая позволяет контролировать видимость наэкранных клавиш навигации. Если она имеет значение 0, клавиши будут показаны на экране, 1 - обратный эффект.

Записываем переменную с нужным значением в файл /system/build.prop , и на этом все:

# su # mount -o remount,rw /system # cp /system/build.prop /system/build.prop.bak # echo qemu.hw.mainkeys=0 > /system/build.prop

Выводы

Вот на такие преступные шаги иногда приходится идти, чтобы сделать смартфон чуточку удобнее. Что касается меня, то я остановился на третьем варианте: «выключил» кнопки плюс установил LMT Launcher . Как мне кажется, это наиболее удобный способ управления.