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?
Answer
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:
- Enable USB-debugging in your phone.
- Install ADB tools in your PC, connect your device into it, and make sure that device is getting detected in
adb devices
. 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
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:
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.
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.
- Note that you can use
adb shell wm density reset
andadb shell wm overscan reset
to revert back to default density and resolution respectively. Now that "dead touch zone" has been taken care of it's time to use virtual/soft keys (only if you need it).
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 tweaks → Enable Navigation bar → do a reboot, and soft-keys aka Navigation bar would be found enabled.
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.
After some further tweaks the final screen of my Android 5.0 looked like:
We're good to go!
No comments:
Post a Comment