Как я могу изменить поведение кнопок громкости против ориентации экрана

19

На Acer Iconia A200 при изменении ориентации экрана функция качельки громкости переворачивается. В ландшафтном режиме, когда регулятор громкости находится справа и сверху, вы обнаружите, что «вниз» на регуляторе громкости уменьшает громкость.

Теперь переверните устройство на 90 градусов влево, чтобы повернуть изображение, с помощью регулятора громкости вверху слева. Теперь то же самое нажатие, которое было «вниз» раньше, «вправо», и оно увеличивает громкость.

Другими словами, действие качельки громкости чувствительно к ориентации устройства.

Я еще не нашел способа контролировать это в настройках - есть ли способ изменить это поведение? В конце концов я привыкну, но на данный момент это сводит меня с ума.

Добавлено: Увидев ответ Зула, рассказав о файле gpio_keys.kl И получив Bluetooth-клавиатуру, я немного поэкспериментировал. При использовании клавиатуры Bluetooth кнопки увеличения / уменьшения громкости Bluetooth не зависят от ориентации планшета. Таким образом, либо какая-то часть программного обеспечения проверяет, откуда берется ключ и перераспределяет его, либо не соответствует ему, ИЛИ обмен происходит на каком-то более низком уровне (т. Е. До того, как он становится кодом ключа).

Майкл Кохне
источник

Ответы:

2

Как все работает в настоящее время

ОС Android использует файл для сопоставления кнопок громкости, чтобы знать, что делать, когда они нажимаются:

Файл:

/system/usr/keylayout/gpio-keys.kl

Содержит две строки для кнопок громкости:

key 115 VOLUME_UP WAKE_DROPPED
key 114 VOLUME_DOWN WAKE_DROPPED

Они не «чувствительны к ориентации», как и их физическое положение на устройстве.

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

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


Возможное решение для корневых устройств

Поскольку эти кнопки для изменения необходимо изменить на «системном уровне», действие должно быть выполнено с правами root на устройстве.

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

  1. Приложение: ButtonRemapper - Beta v0.2.4

    Инструмент для переназначения аппаратных кнопок. Или лучше: универсальный инструмент для редактирования файла карты расположения клавиш, который Android использует для сопоставления ключей.

    Тема форума разработчиков XDA с подробным описанием автора

    ButtonRemapper Скриншоты


  2. Ручное редактирование файла gpio-keys.kl::

    1. С корневым файловым менеджером перейдите к /system/usr/keylayoutфайлу и долго его касайтесь gpio-keys.kl;
    2. Из всплывающего меню выберите «Свойства»;
    3. Измените права доступа к файлу rw-rw-rw-, чтобы иметь возможность изменять его содержимое;
    4. Получив новые разрешения, откройте файл в текстовом редакторе;
    5. Найдите в файле следующие две строки:

      key 115 VOLUME_UP WAKE_DROPPED
      key 114 VOLUME_DOWN WAKE_DROPPED
      
    6. Обновите строки, поменяв номера клавиш так, чтобы они стали:

      key 114 VOLUME_UP WAKE_DROPPED
      key 115 VOLUME_DOWN WAKE_DROPPED
      
    7. Сохраните изменения и перезагрузите планшет.

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

    Чтобы отменить это, просто поменяйте местами эти направления.

    Кредиты для решения редактирования файла принадлежат пользователю jbeige с thriveforums.org .


После прочтения руководства по вашему устройству , других руководств по планшетам и спецификаций из ОС Android, это лучшее решение, которое я смог найти для решения вашей проблемы.

Zuul
источник
1
Я думаю, что вы немного пропустили вопрос. Видите ли, на этом устройстве они чувствительны к ориентации. У меня есть две кнопки - «1» и «2». Когда планшет находится в ландшафтном режиме с кнопками сверху, «2» уменьшает громкость, а «1» увеличивает ее. Когда планшет находится в портретном режиме, с кнопками справа «1» уменьшает громкость, а «2» увеличивает ее. Эта чувствительность к ориентации является СЕРЬЕЗНОЙ болью в шее, потому что у меня есть другие устройства, которые НЕ обладают этой функцией, что делает чертовски трудно изменять громкость при переключении устройств. Также см. Мои правки о клавиатурах Bluetooth.
Майкл Кохне
1

Эта функция встроена в само ПЗУ, поэтому она будет полностью зависеть от того, что повар приготовил в ПЗУ.

Вы можете найти ПЗУ, такие как CM9 и AOKP, которые имеют различные опции для регулировки громкости, но заставляют рокеры сохранять статичность на устройствах, подобных этому, где они меняются, - не тот, который я когда-либо видел.

гт-Ванда
источник
2
Пожалуйста, не называйте приготовленные ромы CM и AOKP, и это шеф-повара разработчиков. Приготовление рома - это модификация его с помощью zip-инструмента - что-то тривиальное и с виду вниз.
RR
0

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

Нарайанан
источник
Не решение для меня - я не люблю добавлять дополнительные элементы управления на экране.
Майкл Кохн