Что такое экранные кнопки на телефоне. Переназначение клавиш - делаем удобно

Что такое экранные кнопки на телефоне. Переназначение клавиш - делаем удобно

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

Гораздо удобнее, например, не вынимая свой телефон из кармана, переключить тот или иной музыкальный трек длинным нажатием клавиши громкости, запустить приложение «камера» или другое часто используемое. В этой статье мы хотим рассказать о такой особенности Android — переназначение кнопок.

На самом деле существует несколько способов, с помощью которых можно переназначить аппаратные кнопки. Самый простой, не требующий особых познаний или прав «суперпользователя» — это бесплатное приложение Home2 Shortcut (Home2 Ярлык).

Программа предназначена для расширения возможности запуска приложений кнопками «Home» (двойное нажатие), или сочетанием «Home» плюс «Search» (или +«Menu», +«Back»), а так же длительным нажиманием на кнопки «Search» и «Camera».

Итак, мы поступаем следующим образом:

Следующим шагом можно изменить интервал двойных нажатий (тапов) на кнопку (меньшее значение заставит телефон (планшет) реагировать на двойной тап с длительным интервалом). Пока же оставляем в нормальном положении.

Теперь, после того, как мы нажмём кнопку «Home», появится окно с предложением выбора программы запуска, выбираем «Home2 Shortcut», затем нажимаем «Всегда»:

Если всё было сделано правильно, то, дважды нажав кнопку «Домой» мы должны увидеть то действие, которое настраивали.

Пояснение для владельцев Galaxy S4, поддерживающих S Voice. Пройдите от S Voice, далее «Меню», после чего «Настройки». Теперь снимаем чекбокс со второй опции, запускающей кнопку «Домой».

Если вам понравилась идея о том, как переназначить кнопки на Андроид, то попробуйте с помощью кнопки «Home» другие варианты, используя ярлыки к программам. Например, выбрав «Другие ключевые параметры» после запуска приложения, можно перепрограммировать кнопку камеры, если такая есть на вашем аппарате.

Примечание приложение Home2 Shortcut возможно не будет работать на Galaxy S2.

Когда мне в очередной раз достался смартфон с хардварными клавишами навигации, вообще без возможности их настройки или активации экранных клавиш в стиле 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 . Как мне кажется, это наиболее удобный способ управления.

Многим знакома ситуация, когда покупаешь новый смартфон, а у физической кнопки питания нет функции фотографирования, как нет и отдельной клавиши для этого, а ведь на прошлом аппарате она была и здорово выручала. На первый взгляд мелочь, но руки сами тянутся к механике, а не сенсору, причем в самый неподходящий момент.

реклама

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

Для начала представлю подопытных. Первое приложение так и называется: «Переназначение клавиш», по крайней мере в русском Google Play. Оно умеет работать как с физическими, так и сенсорными манипуляторами, но для некоторых действий требует root-прав. Вторым участником станет Button Mapper, умеющий то же самое, но не требующий вообще root-прав, что уже интересно.

В качестве тестового оборудования использовались:

  • Планшет DEXP Ursus 8EV2 3G (Android 4.4.2, процессор MT8382, 4 x Cortex-A7 1.3 ГГц, видеоядро Mali-400 MP2, 1 Гбайт ОЗУ, аккумулятор 4 000 мАч, 3G-модуль, Wi-Fi 802.11b/g/n);
  • Смартфон Homtom HT3 Pro (Android 5.1 Lollipop, процессор MT6735P, 4 x Cortex-A53 1.0 ГГц, 64-бит, видеоядро Mali-T720, 2 Гбайт ОЗУ, аккумулятор 3 000 мАч, 4G-модуль, Wi-Fi 802.11b/g/n).

реклама

Обзор приложения «Переназначение клавиш»

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

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

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

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

Вторые - это виртуальные кнопки, располагающиеся на экране смартфона или планшета и управляемые также нажатием пальца, но уже на экране. Это программная кнопка Домой , кнопка Назад и кнопка Последние приложения (иногда это кнопка контекстного Меню). Вид этих кнопок зависит от применяемой версии ОС Android. Это может быть соответственно домик, изогнутая стрелка и два прямоугольника один за другим (версия Андроид 4.х) или соответственно круг, треугольник и квадрат (версия Андроид 5).

Остановимся на назначении управляющих кнопок .

Назначение кнопки питания и качельки громкости очевидно. Однако особенностью является то, что включение выключенного смартфона производится длинным (более 2 сек) нажатием на кнопку питания, после чего следует процесс загрузки ОС. При работающем смартфоне короткое нажатие на эту кнопку вызывает экран блокировки (если он включен в настройках) или непосредственно переход на рабочий стол. При работающем смартфоне длинное нажатие на кнопку питания вызывает Меню, в котором присутствуют пункты Выключение, Передача данных, Автономный режим и Перезагрузка (Рестарт).

Механическая кнопка Домой при коротком нажатии вызывает экран блокировки или переход на главный рабочий стол. Длительное нажатие может вызвать список последних запущенных приложений , а двойное нажатие - одну из программ (например, в смартфонах Samsung вызывается приложение S Voice).

Программная кнопка Назад вызывает переход на предыдущий экран, последовательные нажатия - соответственно на несколько предыдущих экранов вплоть до закрытия приложения. Здесь нужно подчеркнуть, что в последнем случае приложение выгружается из оперативной памяти, в то время как нажатие кнопки Домой вызывает переход на главный рабочий стол, но ранее открытое приложение остается в памяти и продолжает работать в фоновом режиме .

Кнопка Последние приложения очень удобна, так как при необходимости повторного запуска одного из ранее используемых приложений нет необходимости снова искать его в общем списке программ (Меню Приложения ) или искать его значок на рабочих столах. Приложения в списке всегда располагаются в обратном хронологическом порядке их запуска (последние запущенные - первыми в списке). Кроме того, в окне списка имеются и дополнительные кнопки вызова Списка активных задач (работающих в фоне приложений), кнопка Поиска приложений и кнопка Очистки списка последних приложений.