¿Cómo puedo cambiar el comportamiento de los botones de volumen frente a la orientación de la pantalla?

19

En el Acer Iconia A200, cuando cambia la orientación de la pantalla, la función del control de volumen cambia. En el modo horizontal, con el control de volumen en el lado derecho y en la parte superior, encontrará que 'bajar' en el control de volumen baja el volumen.

Ahora, voltee el dispositivo 90 grados a la izquierda a una orientación de portait, con el control de volumen en la parte superior izquierda. Ahora, la misma presión que antes estaba "abajo" es "correcta" y sube el volumen.

En otras palabras, la acción del control de volumen es sensible a la orientación del dispositivo.

Todavía no he encontrado ninguna forma de controlar esto en la configuración, ¿hay alguna forma de cambiar este comportamiento? Eventualmente me acostumbraré, pero por el momento me está volviendo loco.

Agregado: después de ver la respuesta de Zuul hablando sobre el archivo gpio_keys.kl, Y obtener un teclado bluetooth, experimenté un poco. Cuando se utiliza un teclado bluetooth, los botones bluetooth vol up / down son independientes de la orientación de la tableta. Entonces, o bien un poco de software verifica de dónde viene la clave y se reasigna o no, según corresponda, O el intercambio está ocurriendo en alguna capa inferior (es decir, antes de que se convierta en un código clave).

Michael Kohne
fuente

Respuestas:

2

Cómo funcionan las cosas actualmente

El sistema operativo Android utiliza un archivo para asignar los botones de volumen para saber qué hacer cuando se presionan:

El archivo:

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

Contiene dos líneas para los botones de volumen:

key 115 VOLUME_UP WAKE_DROPPED
key 114 VOLUME_DOWN WAKE_DROPPED

No son "sensibles a la orientación", al igual que su posición física en el dispositivo.

El problema que enfrenta, muchos otros propietarios de tabletas enfrentan, que tiene que ver con la posición lógica en la acción. Si presionamos la parte inferior del botón, el volumen debería bajar, pero dependiendo de la orientación, la parte inferior realmente aumenta el volumen.

Creo que la rotación del dispositivo debe tener en cuenta factores como este, para evitar que los usuarios tengan que "crear" hábitos extraños para una simple acción de "bajar el volumen". Pero, por otro lado, es por eso que los botones de volumen en su tableta están puntuados por tres puntos en relieve para un fácil reconocimiento táctil.


Posible solución para dispositivos rooteados

Dado que estos botones para modificarse deben modificarse en un "nivel del sistema", la acción debe realizarse con privilegios de root en el dispositivo.

Si bien las siguientes dos soluciones no pueden abordar escenarios específicos de orientación, son útiles para reasignar los botones y ajustarlos a la orientación de la tableta en la que nos confundimos más:

  1. Aplicación: ButtonRemapper - Beta v0.2.4

    Herramienta para reasignar los botones de hardware. O mejor: una herramienta genérica para editar el archivo de mapa de diseño de clave que Android usa para asignar las teclas.

    Hilo del foro de desarrolladores de XDA con amplios detalles del autor

    Capturas de pantalla de ButtonRemapper


  2. Edición manual del archivo gpio-keys.kl::

    1. Con un administrador de archivos raíz, viaje /system/usr/keylayouty mantenga presionado el archivo gpio-keys.kl;
    2. En el menú emergente, seleccione "Propiedades";
    3. Cambie los permisos del archivo a rw-rw-rw-para poder alterar su contenido;
    4. Después de tener los nuevos permisos, abra el archivo con un editor de texto;
    5. Busque dentro del archivo las siguientes dos líneas:

      key 115 VOLUME_UP WAKE_DROPPED
      key 114 VOLUME_DOWN WAKE_DROPPED
      
    6. Actualice las líneas intercambiando los números clave para que se convierta en:

      key 114 VOLUME_UP WAKE_DROPPED
      key 115 VOLUME_DOWN WAKE_DROPPED
      
    7. Guarde los cambios y reinicie su tableta.

    Ahora debería activar o desactivar las acciones de los botones de subir / bajar volumen para que se ajusten mejor a su orientación vertical.

    Para deshacerlo, simplemente invierta estas direcciones.

    Los créditos para la solución de edición de archivos se atribuyen al usuario jbeige de thriveforums.org .


Después de leer el manual de su dispositivo , otros manuales de tableta y las especificaciones del sistema operativo Android, estas son las mejores soluciones que pude encontrar para solucionar su problema.

Zuul
fuente
1
Creo que te has perdido la pregunta un poco. Verá, en este dispositivo SON sensibles a la orientación. Tengo dos botones: '1' y '2'. Cuando la tableta está en modo horizontal con los botones en la parte superior, '2' baja el volumen y '1' lo sube. Cuando la tableta está en modo vertical, con los botones a la derecha, '1' baja el volumen y '2' lo sube. Esta sensibilidad de orientación es un dolor GRAVE en el cuello porque tengo otros dispositivos que NO poseen esta característica, lo que hace que sea extremadamente difícil cambiar el volumen cuando cambio los dispositivos. Además, vea mis ediciones sobre teclados bluetooth.
Michael Kohne el
1

Esta característica se cocina en la ROM, por lo que dependerá por completo de lo que el chef haya cocinado en la ROM.

Puede encontrar ROM como CM9 y AOKP que tienen varias opciones para el control de volumen, pero obligar a los controles a permanecer estáticos en dispositivos como este donde cambia no es uno que haya visto.

rm-vanda
fuente
2
No llame a las roms cocinadas CM y AOKP y son los chefs desarrolladores. Cocinar una rom es modificarla con una herramienta zip, algo que es trivial y menospreciado.
RR
0

Button Savior es una aplicación que le proporcionará teclas programables en pantalla para todas las teclas físicas de su dispositivo. Aunque requiere un dispositivo rooteado, se afirma que algunas características funcionan con dispositivos no rooteados. La versión paga le permitirá personalizar las teclas programables, incluida su posición. Por favor, inténtalo.

Narayanan
fuente
No es la solución para mí: no me gusta agregar controles adicionales en pantalla.
Michael Kohne