Когда мне в очередной раз достался смартфон с хардварными клавишами навигации, вообще без возможности их настройки или активации экранных клавиш в стиле 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 . Как мне кажется, это наиболее удобный способ управления.
Управляющие кнопки разделяют на механические и программные. Первые располагаются на корпусе вашего гаджета - это кнопка питания, качелька громкости (две кнопки с одной качающейся клавишей) и иногда кнопка Домой (в последнее время чаще бывает программной.
Вторые - это виртуальные кнопки, располагающиеся на экране смартфона или планшета и управляемые также нажатием пальца, но уже на экране. Это программная кнопка Домой , кнопка Назад и кнопка Последние приложения (иногда это кнопка контекстного Меню). Вид этих кнопок зависит от применяемой версии ОС Android. Это может быть соответственно домик, изогнутая стрелка и два прямоугольника один за другим (версия Андроид 4.х) или соответственно круг, треугольник и квадрат (версия Андроид 5).
Остановимся на назначении управляющих кнопок .
Назначение кнопки питания и качельки громкости очевидно. Однако особенностью является то, что включение выключенного смартфона производится длинным (более 2 сек) нажатием на кнопку питания, после чего следует процесс загрузки ОС. При работающем смартфоне короткое нажатие на эту кнопку вызывает экран блокировки (если он включен в настройках) или непосредственно переход на рабочий стол. При работающем смартфоне длинное нажатие на кнопку питания вызывает Меню, в котором присутствуют пункты Выключение, Передача данных, Автономный режим и Перезагрузка (Рестарт).
Механическая кнопка Домой при коротком нажатии вызывает экран блокировки или переход на главный рабочий стол. Длительное нажатие может вызвать список последних запущенных приложений , а двойное нажатие - одну из программ (например, в смартфонах Samsung вызывается приложение S Voice).
Программная кнопка Назад вызывает переход на предыдущий экран, последовательные нажатия - соответственно на несколько предыдущих экранов вплоть до закрытия приложения. Здесь нужно подчеркнуть, что в последнем случае приложение выгружается из оперативной памяти, в то время как нажатие кнопки Домой вызывает переход на главный рабочий стол, но ранее открытое приложение остается в памяти и продолжает работать в фоновом режиме .
Кнопка Последние приложения очень удобна, так как при необходимости повторного запуска одного из ранее используемых приложений нет необходимости снова искать его в общем списке программ (Меню Приложения ) или искать его значок на рабочих столах. Приложения в списке всегда располагаются в обратном хронологическом порядке их запуска (последние запущенные - первыми в списке). Кроме того, в окне списка имеются и дополнительные кнопки вызова Списка активных задач (работающих в фоне приложений), кнопка Поиска приложений и кнопка Очистки списка последних приложений.
Легкая утилита, которая неплохо упрощает работу с устройством.
Введение:
Какую кнопку каждый пользователь использует чаще всего за день? Это либо кнопка Домой, либо кнопка Назад. Приложение под названием создано для того, чтобы расширить функционал кнопки Назад, привязав к ней возможность управления жестами, что позволит автоматизировать некие другие системные функции. Стоит понимать, что привычная кнопка Назад останется на том же месте, а приложение добавляет свою собственную, которая, при этом, не займет много места.
Функционал:
Для использования приложения Root права не требуется, но вместо этого необходимо активировать службу приложению в разделе “Специальные возможности”. Функционал у приложения оказался достаточно простым, но то, что это работает и при этом абсолютно не мешает привычной работе с устройством, уже заслуживает определенной похвалы. На главном экране представлено 3 вида действий, которые вы можете выполнить с кнопкой: удерживание, жест вверх и жест вниз. Для каждого из действий можно выбрать одно из 5 действий:
1. Никакого действия.
2. Домой
3. Недавно запущенные приложения
4. Уведомления
5. Спрятать кнопку
Жесты выполняются следующим образом: ставите палец на кнопку, а затем проводите вверх или вниз, при этом на самой кнопке будет появляться ободок определенного цвета. Естественно, если просто нажать на кнопку, то она отработает точно так же, как и системная кнопка Назад.
Итоги:
В настройках можно выключить приложение, а также убрать уведомления, которое позволяет скрыть или показать кнопку. Подведем итоги: вполне способна сделать использование устройства гораздо проще и удобнее, особенно, если привыкнуть к таким действиям. Приятного пользования!
Проблемы с железом довольно часто оказываются куда более сложными и дорогостоящие, чем неполадки с софтом. Очень обидно, если слетает экран, но, как правило, его могу без труда заменить. Но вот с кнопками может оказать гораздо больше возни. Если вы попали в подобную ситуацию (нажатие на Home , Back или Menu не приводит ни к каким последствиям), то на помощь придет приложение . Установив его, вы получите панель, состоящую из 4 кнопок: Home , Back , Menu и Resize . Отметьте себе, что требует наличия root-доступ на девайсе.
Установив приложение и запустив его впервые, вы получить панель с кнопками, которая будет размещена на центре экрана. Ее расположение можно изменить, также можно настроить размер кнопок, расстояние между ними и прозрачность самой панели.
Для кнопки Home вы можете настроить ее поведение при длительном нажатии: либо она будет запускать Google Now , либо работать как кнопка Power . Помимо этого Floating Soft Keys позволяет изменять иконки кнопок. Если же вы хотите выбрать вертикально расположение панели, то для этого просто необходимо убрать галочку напротив опции горизонтального расположения в меню. Там же можно активировать включение приложения при загрузке.
Ведет себя очень умно. Если панель перекрывает какие-либо кнопки или опции запущенного приложения, то она автоматически меняет свое местоположение на экране, но есть один недостаток. После того, как приложение, спровоцировавшее изменение положения панели , будет закрыто, сама панель на старое место вернуться не сможет. Это придется проделать вручную.
Было бы неплохо, чтобы разработчики прокачали существующие кнопки большим количеством функций и добавили к ним управление громкостью. Но пока это только мечты. Если же вы заинтересовались такой практичной штукой как , и уже собрались скачать приложение, то вам