I have a oneplus android phone. The touch screen recently started malfunctioning so that the bottom centimetre of the screen does not work, but the rest of the screen works perfectly well. Unfortunately the bottom centimeter contains lots of important functions. Is there a way to resize my display or resolution so that it excludes the bottom centimeter of my screen?

  • I will definitely give that solution a try! – Selah Jul 16 '15 at 18:15
  • Success! Thank you, firelord. Woooo Friday night android hacking!! – Selah Jul 18 '15 at 3:33
  • Up to you! If you don't I will. But you deserve the points. – Selah Jul 18 '15 at 13:10
  • Nope, just being slow. Sorry! – Selah Jul 28 '15 at 18:11
  • Since it's the bottom centimeter you could probably set it to use both capacitive and on screen navagation buttons. That way the navagation bar will fil up the unusable part and you can still use to capacitive buttons to navigate. – user1762507 Jul 28 '15 at 19:36
up vote 11 down vote accepted

Notes:

  • My solution is tested on Stock Android 4.4.2 and Stock CyanogenOS 12 (5.0) of OnePlus One, and should work for Android 4.3 and above (based on this answer).
  • I've mentioned wherever root access is required.
  • This answer has been taken from my answer on a bit different question here.

I have used the following comment as the ground to work on:

The bottom 20% of my Nexus 4 doesn't work. I use: wm overscan 0,0,0,210 to have android WM not draw anything in that area so that I can operate all the drawn areas fully again.. – Thrustmaster

Instructions:

  1. Enable USB-debugging in your phone.
  2. Install ADB tools in your PC, connect your device into it, and make sure that device is getting detected in adb devices.
  3. We need to know the resolution and the display density of the device. In the terminal/cmd enter adb shell dumpsys display | grep mBaseDisplayInfo to show display related info. The output could look like:

    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}
    

    The relevant info in my case is:

    • real 1080x1920
    • density 480
    1. The most useful commands to be used are:

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

      My default launcher screen without tweaks looked like:

    2. To reduce the screen output at bottom issue the command:

      adb shell wm overscan 0,0,0,100
      

      Note the I used further reduction by upto 0,0,0,300 and the output was like this:

      Tweak the value to your desired needs.

    3. You may need to correct the density since the display could look odd. My device's default display density is 480 dpi, so I tweaked it this way:

      adb shell wm density 440
      

      and the resultant screen was like this. An app under tweaked resolution.

    4. Note that you can use adb shell wm density reset and adb shell wm overscan reset to revert back to default density and resolution respectively.
    5. Now that "dead touch zone" has been taken care of it's time to use virtual/soft keys (only if you need it).

      1. Izzy has it already covered in this answer. Otherwise, you can use Gravitybox LP (for Lollipop users) or Gravitybox KK (for Kitkat users). It is an Xposed module, and require root access and Xposed Framework installed.

        Install, activate and launch Gravitybox → Navigation bar tweaksEnable Navigation bar → do a reboot, and soft-keys aka Navigation bar would be found enabled.

      2. Custom ROM like Cyanogenmod and some stock ROMs has the option to enable soft-keys(buttons) under Settings. You can use that option since it doesn't require any root access.

      3. After some further tweaks the final screen of my Android 5.0 looked like:

        IMG: After some further tweaks the final screen of my Android 5.0 looked like

We're good to go!

  • I wish I'd known about this when I smashed my other phones! After playing around with this I couldn't get my Nexus 6 keyboard to adjust in landscape. I'm missing the right side of my keyboard. It works fine in portrait so it should be a rare case when that's actually a disability. Luckily, I'm just screwing around and don't need this right now but it's cool to know. Way smart work! Thank you. – Kristopher Apr 26 '16 at 14:57
  • @Kristopher Did you also tweak the density and so as restarted the device? Some apps fail to respond to changes made in display size. – Firelord Apr 26 '16 at 15:08
  • 1
    I was thinking that I didn't restart and you're right. Things changed then. Good stuff (: – Kristopher Apr 26 '16 at 16:23
  • 1
    Works great. I was getting an android.permission.SHUTDOWN denied error when trying to change the density, but that was only because my OPO needed a mandatory restart after a change in density. Did a manual restart and everything was fine. – Shri Aug 29 '17 at 7:58
  • 1
    BTW, (In OPO, CyanogenOS) we can also change the density from Settings -> Display & Lights -> LCD Density. It will automatically prompt for a restart. – Shri Aug 29 '17 at 8:06

Your Answer

 
discard

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.