Cambiar el tamaño de la pantalla para mostrar solo en la parte activa de la pantalla táctil semifuncional

12

Tengo un teléfono Android oneplus. La pantalla táctil recientemente comenzó a funcionar mal, de modo que el centímetro inferior de la pantalla no funciona, pero el resto de la pantalla funciona perfectamente bien. Lamentablemente, el centímetro inferior contiene muchas funciones importantes. ¿Hay alguna forma de cambiar el tamaño de mi pantalla o resolución para que excluya el centímetro inferior de mi pantalla?

Selah
fuente
Dado que es el centímetro inferior, probablemente pueda configurarlo para que use botones de navegación capacitivos y en pantalla. De esa manera, la barra de navegación cubrirá la parte inutilizable y aún puede usar los botones capacitivos para navegar.
user1762507

Respuestas:

14

Notas:

  • Mi solución se prueba en Stock Android 4.4.2 y Stock CyanogenOS 12 (5.0) de OnePlus One, y debería funcionar para Android 4.3 y superior (según esta respuesta ).
  • He mencionado donde se requiere acceso de root.
  • Esta respuesta ha sido tomada de mi respuesta en una pregunta un poco diferente aquí .

He utilizado el siguiente comentario como base para trabajar:

El 20% inferior de mi Nexus 4 no funciona. Yo uso: wm overscan 0,0,0,210para que Android WM no dibuje nada en esa área para que pueda operar todas las áreas dibujadas completamente de nuevo .. - Thrustmaster

Instrucciones:

  1. Habilite la depuración de USB en su teléfono.
  2. Instale las herramientas ADB en su PC, conecte su dispositivo y asegúrese de que el dispositivo se esté detectando adb devices.
  3. Necesitamos conocer la resolución y la densidad de visualización del dispositivo. En el terminal / cmd, ingrese adb shell dumpsys display | grep mBaseDisplayInfopara mostrar información relacionada con la pantalla. La salida podría verse así:

    mBaseDisplayInfo=DisplayInfo{"Built-in Screen", app 480 x 854, real 480 x 854, largest app 480 x 854, smallest app 480 x 854, 64.29 fps, rotation 0, density 240, 240.0 x 240.0 dpi, layerStack 0, type BUILT_IN, address null, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS}
    

    La información relevante en mi caso es:

    • 1080x1920 real
    • densidad 480
    1. Los comandos más útiles que se utilizarán son:

      • wm overscan [reset|LEFT,TOP,RIGHT,BOTTOM]
      • wm density [reset|DENSITY]

      Mi pantalla de inicio predeterminada sin ajustes se veía así:

    2. Para reducir la salida de la pantalla en la parte inferior, emita el comando:

      adb shell wm overscan 0,0,0,100
      

      Tenga en cuenta que utilicé una reducción adicional hasta 0,0,0,300y la salida fue así:

      Ajuste el valor a sus necesidades deseadas.

    3. Es posible que deba corregir la densidad ya que la pantalla puede verse extraña . La densidad de visualización predeterminada de mi dispositivo es 480 ppp, así que la modifiqué de esta manera:

      adb shell wm density 440
      

      y la pantalla resultante era como este . Una aplicación con resolución ajustada.

    4. Tenga en cuenta que puede usar adb shell wm density resety adb shell wm overscan resetvolver a la densidad y resolución predeterminadas, respectivamente.
    5. Ahora que la "zona táctil muerta" se ha solucionado, es hora de usar teclas virtuales / programables (solo si lo necesita).

      1. Izzy ya lo ha cubierto en esta respuesta . De lo contrario, puede usar Gravitybox LP (para usuarios de Lollipop) o Gravitybox KK (para usuarios de Kitkat). Es un módulo Xposed, y requiere acceso root y Xposed Framework instalado.

        Instale, active e inicie Gravitybox → Ajustes de la barra de navegaciónHabilitar la barra de navegación → reinicie, y las teclas programables también conocidas como barra de navegación se encontrarían habilitadas.

      2. ROM personalizada como Cyanogenmod y algunas ROM de stock tienen la opción de habilitar teclas programables (botones) en Configuración . Puede usar esa opción ya que no requiere ningún acceso de root.

      3. Después de algunos ajustes adicionales, la pantalla final de mi Android 5.0 se veía así:

        IMG: Después de algunos ajustes adicionales, la pantalla final de mi Android 5.0 parecía

Estamos bien para ir!

Señor del fuego
fuente
¡Ojalá hubiera sabido esto cuando rompí mis otros teléfonos! Después de jugar con esto, no pude ajustar mi teclado Nexus 6 en horizontal. Me falta el lado derecho de mi teclado. Funciona bien en retrato, por lo que debería ser un caso raro cuando en realidad es una discapacidad. Afortunadamente, solo estoy jodiendo y no necesito esto en este momento, pero es genial saberlo. ¡Trabajo inteligente! Gracias.
Kristopher
@Kristopher ¿También modificó la densidad y reinició el dispositivo? Algunas aplicaciones no responden a los cambios realizados en el tamaño de la pantalla.
Señor del Fuego
1
Estaba pensando que no reinicié y tienes razón. Las cosas cambiaron entonces. Cosas buenas (:
Kristopher
1
Funciona genial. Estaba recibiendo un android.permission.SHUTDOWN denegó un error al intentar cambiar la densidad, pero eso fue solo porque mi OPO necesitaba un reinicio obligatorio después de un cambio en la densidad. Hice un reinicio manual y todo estuvo bien.
Shri
1
Por cierto, (en OPO, CyanogenOS) también podemos cambiar la densidad desde Configuración -> Pantalla y luces -> Densidad de LCD. Solicitará automáticamente un reinicio.
Shri