Displayauflösung verringern bzw. defekten Bereich des Touchscreens deaktivieren

Aus Android Wiki

Wenn der Touchscreen eines Smartphones nur teilweise kaputt ist, (bspw. weil das Smartphone heruntergefallen ist) besteht die Möglichkeit diesen defekten Bereich zu deaktivieren, indem die Displayauflösung verringert wird. Oftmals ist es auch nötig die Android-Navigationstasten auf dem Bildschirm anzeigen zu lassen.

In dieser Anleitung ist beschrieben, welche Möglichkeiten es unter den verschiedenen Android-Versionen dazu gibt. Verbesserungen und Ergänzungen zu dieser Anleitung sind gerne gesehen.


[Bearbeiten] HINWEIS

Trotz sorgfältiger Ausarbeitung können wir bzw. die Autoren dieses Artikels nicht garantieren, dass durch die Durchführung der folgenden Anleitung keine Schäden an deinem Gerät/Betriebssystem entstehen und übernehmen daher keine Haftung für auftretende Schäden und Fehlfunktionen an Hard- und Software!

Solltest du noch unsicher sein, befolge diese Schritte:

  1. Die Anleitung nur durchführen, wenn evtl. genannte Bedingungen (Modellnummer, Android-Version etc.) auf dich bzw. dein Gerät zutreffen
  2. Anleitung aufmerksam und vollständig lesen, unbekannte Begrifflichkeiten nachschlagen
  3. Heruntergeladene Dateien und Software mit einem Virenscanner überprüfen (falls nicht von der Anleitung untersagt, Hintergrund)
  4. Evtl. ein Backup wichtiger Einstellungen und Daten machen
  5. Die Anleitung nicht durchführen, wenn du nicht weißt, was du tust!


Vorarbeit[Bearbeiten | Quelltext bearbeiten]

Backup[Bearbeiten | Quelltext bearbeiten]

Zunächst sollte natürlich immer zuerst ein Backup gemacht werden. Eventuell falsche Einstellungen, die das Display komplett unbenutzbar machen, lassen sich zwar i.d.R. leicht rückgängig machen, aber es kann nie vollständig ausgeschlossen werden, dass etwas schief geht.

Android Debug Bridge (ADB) installieren[Bearbeiten | Quelltext bearbeiten]

Die ganzen Einstellungen werden über die Android Debug Bridge (ADB) vorgenommen. Dazu muss auf dem Smartphone USB-Debugging aktiviert und auf einem Computer die ADB-Tools installiert werden. Dann kann das Smartphone mit einem USB-Kabel an den Computer angeschlossen werden, von dem aus man die Einstellungen ändert. Im Folgenden finden sich dazu ein paar kurze Infos; die Details sind in den einzelnen Artikeln zu finden.

USB-Debugging aktiviert man direkt über die Menüs auf dem Smartphone.

Wer Linux als Betriebssystem nutzt kann ADB kinderleicht über seinen Paketmanager installieren, bei Debian/Ubuntu bspw.

sudo apt-get install android-tools-adb

Wer Windows nutzt muss Minimal ADB and Fastboot installieren. Zum Verringern der Displaygröße braucht man nur ADB und muss nicht zwangsläufig das gesamte Android SDK installieren.

Android-Navigationstasten auf dem Bildschirm anzeigen (On-Screen-Tasten aktivieren)[Bearbeiten | Quelltext bearbeiten]

Da die Navigationstasten meist auf dem Touchscreen direkt unter dem Display liegen, sind diese höchstwahrscheinlich kaputt. In diesem Fall muss man sich die Navigationstasten direkt auf dem Display anzeigen lassen. Dafür gibt es verschiedenen Möglichkeiten, welche auf der verlinkten Seite beschrieben sind.

Die Möglichkeit die unter jedem Gerät funktionieren sollte ist, kurz zusammengefasst, das Editieren der Datei /system/build.prop (siehe auch build.prop, wozu Root-Rechte erforderlich sind. In dieser muss der Eintrag qemu.hw.mainkeys=1 zu qemu.hw.mainkeys=0 geändert werden (0 steht hierbei für aktivierte und 1 für deaktivierte Displaytasten). Falls der Eintrag noch nicht existiert, kann diese (z.B. am Ende der Datei) eingefügt werden.

Displayauflösung anpassen[Bearbeiten | Quelltext bearbeiten]

Bis einschließlich Android 4.2 muss der Befehl am verwendet werden. Dies hat den Nachteil, dass das Display oben und unten gleichzeitig verkleinert wird, was zu unnötigem Platzverlust führt. Ab Android 4.3 geht dies flexibler mit dem Befehl wm, mit welchem festgelegt werden kann wie viel Platz des Bildschirm von jeder Seite nicht mehr verwendet werden sollen.

bis einschließlich Android 4.2[Bearbeiten | Quelltext bearbeiten]

Displayauflösung ermitteln und anpassen[Bearbeiten | Quelltext bearbeiten]

Um die Displaygröße anzupassen, muss man die verwendete Auslösung kennen. Diese findet man mit dem Befehl folgenden heraus:

adb shell dumpsys window

In der Ausgabe findet sich ein Abschnitt, der etwa so aussieht:

…
  DisplayContents:
    Display: mDisplayId=0
      init=540x960 240dpi cur=540x960 app=540x888 rng=540x502-897x850
      layoutNeeded=false
…

Alternativ kann folgender Befehl benutzt werden, welcher die gesuchte Info aus der langen und unübersichtlichen Ausgabe direkt herausfiltert:

adb shell dumpsys window | grep cur= |tr -s " " | cut -d " " -f 4|cut -d "=" -f 2

Die Ausgabe kann dann so aussehen:

540x960

In diesem Fall wäre die Auflösung also 540x960. Auf welchen Wert man die Auflösung reduzieren muss, muss man durch ausprobieren herausfinden. Möchte man etwa 540x700 einstellen lautet der Befehl:

adb shell am display-size 540x700

Will man die Auflösung wieder auf den ursprünglichen Standardwert zurücksetzten, geht dies mit:

adb shell am display-size reset

Die Einstellung wird direkt aktiv nachdem der Bildschirm aus und wieder angeschaltet wurde (das Smartphone muss nicht neu gestartet werden).

Display-Dichte anpassen (optional)[Bearbeiten | Quelltext bearbeiten]

Um auf dem verkleinerten Bildschirm Platz zu sparen, kann es sinnvoll sein, die Display-Dichte anzupassen. Dadurch werden bspw. die Icons auf dem Bildschirm dichter gepackt. Den idealen Wert findet man hier am besten auch durch ausprobieren heraus. Um die Display-Dichte anzupassen, muss man die verwendete Dichte kennen. Diese findet man mit dem Befehl folgenden heraus:

adb shell dumpsys display

In der Ausgabe findet sich ein Abschnitt, der etwa so aussieht:

…
mOverrideDisplayInfo=DisplayInfo{"Built-in Screen", app 540 x 658, real 540 x 730, largest app 667 x 620, smallest app 540 x 502, 65.4 fps, rotation 0, density 240, 240.0 x 240.0 dpi, layerStack 0, type BUILT_IN, address null, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS}
…

Alternativ kann folgender Befehl benutzt werden, welcher die gesuchte Info aus der langen und unübersichtlichen Ausgabe direkt herausfiltert:

adb shell dumpsys display | grep mBaseDisplayInfo

Wenn man die Dichte (etwa von 240 wie im Beispiel oben) auf 220 verringern will, geht dies so:

adb shell am display-density 230

Will man die Einstellung wieder auf den ursprünglichen Standardwert zurücksetzten, geht dies mit:

adb shell am display-density reset

Ab Android 4.3[Bearbeiten | Quelltext bearbeiten]

Ab Android 4.3 kann mit dem Befehl wm, von jeder Seite des Bildschirmrandes ausgehend, festgelegt werden wie viel Platz des Bildschirms deaktiviert werden soll. Um die Displaygröße anzupassen, muss man die verwendete Auslösung kennen. Diese findet man mit dem Befehl folgenden heraus:

adb shell dumpsys display | grep mBaseDisplayInfo

Die Ausgabe kann so aussehen

mBaseDisplayInfo=DisplayInfo{"Integrierter Bildschirm", uniqueId "local:0", app 1080 x 1920, real 1080 x 1920, largest app 1080 x 1920, smallest app 1080 x 1920, 60.0 fps, supportedRefreshRates [60.0], rotation 0, density 480 (160.421 x 159.895) dpi, layerStack 0, appVsyncOff 0, presDeadline 17666667, type BUILT_IN, state ON, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS}
    mBaseDisplayInfo=DisplayInfo{"Digital Pen off-screen display", uniqueId "null", app 1800 x 1013, real 1800 x 1013, largest app 1800 x 1013, smallest app 1800 x 1013, 60.0 fps, supportedRefreshRates [], rotation 0, density 160 (160.0 x 160.0) dpi, layerStack 2, appVsyncOff 0, presDeadline 0, type BUILT_IN, state ON}

In diesem Falle wären die relevanten Werte für Diplaygröße und Dichte

real 1080x1920
density 480
wm overscan [reset|LEFT,TOP,RIGHT,BOTTOM]

Displayauflösung verringern (hier nur unten um 100 Pixel):

adb shell wm overscan 0,0,0,100

Der Befehl um dieDisplay-Dichte anzupassen ist folgendermaßen aufgebaut:

wm density [reset|DENSITY]

D.h. verringern auf 440 ginge mit

adb shell wm density 440

und zurücksetzen mit:

wm density reset