Зачем современному смартфону до сих пор нужны физические кнопки? Получаем настраиваемые экранные кнопки Home, Back и Menu на любом Android девайсе (Floating Soft Keys) Как называются кнопки на смартфоне внизу экрана.

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

реклама

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

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

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

Физические/емкостные или экранные кнопки — что лучше? По этому вопросу существуют различные мнения, но он в различных ракурсах. И до сих пор есть спрос на телефоны и с физическими, и с сенсорными кнопками. Даже с той поры, когда Google ясно дала понять, что ОС Android предназначена только для экранных кнопок, такие производители, как Samsung и даже HTC, продолжают оборудовать свои девайсы физическими кнопками.

Впрочем, другие производители, в числе которых LG, Sony и Motorola, практически полностью следуют подходу Google, ограничиваясь в своих девайсах программными кнопками. Преимущества и недостатки физических и программных кнопок были рассмотрены Эдгаром Сервантесом (Edgar Cervantes) в опубликованной ресурсом Android Authority заметке «Physical vs. on-screen buttons – what’s your pick?».

Более того, даже Priv, — телефон с полноценной клавиатурой — обладает экранными кнопками навигации. Впрочем, вопрос о том, какие кнопки лучше и, главное, почему, остается актуальным. Увы, этот вопрос относится к числу тех, однозначного ответа на который не существует.

Немного истории

В 2011 году компания Google выпустила Galaxy Nexus и новую на тот момент операционную систему Android 4.0 Ice Cream Sandwich. Впоследствии новые Nexus стали сопровождаться очередной версией Android. Android 4.0 Ice Cream Sandwich предназначалась и для планшетов, и для смартфонов, что стало большим шагом вперед для операционной системы.

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

Физические/емкостные кнопки

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

Второй момент касается надежности. Физические кнопки — дополнительные элементы, которые могут сломаться. И не следует забывать, что эти кнопки являются постоянными элементами дизайна девайса. Они навсегда останутся там, куда их поместил производитель устройства. Они никуда не переместятся и не обновятся.

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

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

В дополнение следует отметить, что некоторые из физических кнопок современных телефонов обладают также сканерами отпечатков пальцев, и это является еще одной причиной для того, что сохранить их в современных устройствах. В качестве примеров такого дизайнерского решения можно привести известные телефоны HTC 10 — новый флагманский телефон в знакомом облике , для которого , и Samsung Galaxy S7.

Экранные кнопки

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

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

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

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

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

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

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

Физические причины:

  • Сильный удар по планшету или смартфону, падение с высоты.
  • Длительное воздействие влаги. Особенно серьёзные повреждения возникают из-за попадания воды в область между экраном и пленкой или под корпус. Окисляются контакты. После воздействия влаги действовать нужно незамедлительно.
  • Резкие перепады температур. Верните устройство в помещение комнатной температуры. Работа сенсора, возможно, улучшится.
  • Продавливание экрана. Царапин или трещин нет. Поломка заметна при нажатии – тогда видно блики в поврежденных частях сенсора.
  • Замена экрана неподходящей моделью.
  • Серьёзные загрязнения. Сотрите грязь, пыль, влагу, следы от пальцев специальными влажными салфетки из магазина электроники или тряпочкой из микрофибры.
  • Плохо наклеенная пленка. В местах скопления воздуха под пленкой части экрана перестанут работать. Снимите пленку, по возможности замените на новую.

Программные причины:

  1. ОС чрезмерно загружена приложениями или какие-то из них работают неправильно.
  2. Изменения настроек устройства.
  3. Неполадки Тачскрина возможны, если экран неправильно или плохо распознает прикосновения. Тут поможет калибровка экрана (реально выполнить в домашних условиях).
  4. Неподходящая или нестабильная версия прошивки.

Почему не работает часть сенсора на андроиде? Скорее всего, отошел или окислился контакт.

В телефоне со съемной батареей снимите крышку и достаньте аккумулятор. Вставьте обратно и включите устройство с помощью механической кнопки.
Если сенсор не работает частично, а не полностью, и Вы можете скачать приложение, установите Rebooter с Play Market. На Xiaomi, Meizu или Digma после длительного нажатия кнопки включения/выключения (20 секунд или дольше) телефон перезагрузится или выключится. Для Samsung и Sony нажмите одновременно кнопку включения/блокировки, увеличения громкости звука и уменьшения громкости. Подержите 7-10 секунд. Если не помогло, попробуйте снова, но держите эти три клавиши зажатыми дольше. Если Ваш смартфон от других производителей и со встроенным аккумулятором, возможно, вышеуказанные способы помогут. Иначе придется ждать полного разряда батареи или нести устройство в сервисный центр, где заодно разберутся с неполадками в работе экрана. Бывает и такое, что перезагрузка нужна только для того, чтобы дисплей снова реагировал. Что делать, если после блокировки экрана не работает сенсор на Андроиде?


Чаще всего проблема в версии прошивки. Для её решения обновите версию Андроид и, если не поможет, сбросьте настройки. Как это сделать есть в пунктах 2 и 4 инструкции следующего пункта статьи. Почему не работают сенсорные кнопки на телефоне андроид? Иногда проблема в пленке. Если до неё все было хорошо, попробуйте снять. Иногда дело даже в новом защитном стекле, которое тоже можно отсоединить самостоятельно. Пользователи говорят, что нижние сенсорные кнопки, которые перестали работать, после калибровки экрана (3-ий шаг следующей инструкции), снова стали чувствительными.

Распространенные варианты ремонта

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

  • Перезагрузите устройство. Возможно, оно было под сильной программной нагрузкой или произошла незначительная ошибка. Может, просто зависло приложение, а сенсор работает?
  • Обновите прошивку. Для этого перейдите по следующим пунктам: «Настройки» – «Об устройстве» – «Обновления системы» – «Проверить сейчас». Чаще всего, проблема решается.
  • Сбросьте настройки до заводских. Сохраните все важные данные на карту памяти, компьютер или подобный носитель. Нажмите «Настройки» – «Память» – «Сброс к заводским настройкам» – «Сброс настроек» – «Стереть все». Если нужно, подтверждайте выбор. Подождите несколько минут, и перезагрузка выполнится автоматически
  • Что делать, если глючит экран? Если он работает, но медленно, просто очистьте телефон в целом. Удалите лишние файлы и приложения и кэш («Настройки» – «Приложения» – любое приложение из списка – «Очистить кэш»). Для удаления прочего мусора и очистки оперативной памяти используйте CCleaner, Cleaner Master или другое приложение.

Как починить устройство

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

  1. Калибруйте экран. В зависимости от производителя может быть встроена утилита для этого или же придется скачать приложение самому. Есть несколько способов. Для моделей HTC: «Настройки» – «Язык и клавиатура» – «HTC Sense Input». На других смартфонах: «Настройки» – «Дисплей» – «Экран» – «Калибровка экрана». По желанию можно калибровать экран через инженерное меню. Его используют разработчики для тестирования и изменения системных компонентов. Мы не советуем этот способ, так как он может привести к неполадкам и занимает больше времени, чем другие методы. Стороннее приложение для калибровки экрана с Play Market сможет улучшить реакцию дисплея. Например, Touchscreen Calibration или SGS Touchscreen Booster (в нем можно задать параметры вручную).
  2. Не работают нижние сенсорные кнопки на телефоне андроид что делать?Можно установить приложение для создания программных кнопок с теми же функциями, но в другом месте. Советуем Back Button - оно не требует root-прав.
  3. Обратитесь в сервисный центр. Там более точно определят причину и починят устройство.