Der Versuch, meine Hardware-Tasten neu zuzuordnen

Da ich eine kaputte Zurück-Taste habe, habe ich meine Tasten so neu zugeordnet, dass meine ursprüngliche Taste zum Erhöhen der Lautstärke als Menütaste und meine ursprüngliche Menütaste als Zurück-Taste fungiert. Ich habe dies getan, indem ich die Schlüsselwerte in geändert habe /system/usr/keylayout/generic.kl.

Das Problem ist, dass ich ein neues ROM geflasht habe, also musste ich es erneut tun, aber jetzt funktioniert es nicht mehr. Die geänderten Werte sind dauerhaft, aber mein Telefon ignoriert sie anscheinend.

Und ja, natürlich habe ich nach den Änderungen wieder neu gestartet.

Hat jemand eine Idee?

Antworten (3)

Da Sie geschrieben haben, dass Sie eine Systemdatei geändert haben, können Sie davon ausgehen, dass Ihr Gerät gerootet ist. Es gibt mehrere Apps, die versprechen, Tasten neu zuzuordnen (siehe meine Liste der Tasten-Remapper-Apps ), eine davon könnte Ihr Problem lösen. Ich habe keinen von ihnen ausprobiert (hatte keine Notwendigkeit), aber was vielversprechend klingt, ist Xposed Additions , siehe diese Screenshots:

Bildschirmfoto Bildschirmfoto
Xposed Additions (Quelle: Google Play ; Bilder anklicken für größere Varianten)

Auf dem ersten Screenshot (dem Hauptbildschirm des Moduls) lautet das letzte Element „Buttons“. Wenn Sie darauf tippen, gelangen Sie zum zweiten Screenshot – schauen Sie sich noch einmal genau die Schaltfläche an, und Sie sehen, dass sie sogar Hardwaretasten enthält (hier: die powerSchaltfläche). Das Element direkt darüber wäre Ihr backKnopf (weich oder hart). Es ist also nicht nötig, Systemdateien direkt zu manipulieren – lassen Sie einfach Xposed damit umgehen :)

Ohne zu wissen, welches Telefon Sie haben, welches Rom oder welche Version, ist es schwierig, Ihnen genau zu sagen, warum, aber die einfachste Erklärung ist, dass Sie die falsche Tastenlayoutdatei bearbeiten. Cyanogenmod-ROMs neigen dazu, verschiedene Tastenlayouts zu unterstützen, die für bestimmte Geräte spezifisch sind, und diese haben aus offensichtlichen Gründen Vorrang vor der Generic.kl-Datei. Tastenbelegungsdateien werden einzelnen Gerätetypen zugeordnet. Möglicherweise gibt es andere .kl-Dateien, die spezifisch für Ihre Tasten sind, wie sec_key.kl, sec_jack.kl (für Samsung-Festtasten und Headset-Tasten), cyttsp-i2c.kl (für Cypress TrueTouch E-Ink-Display-Controller, die im B&N verwendet werden Nook), gpio-keys.kl usw. usw.

Sie müssen also sehen, welche vorhanden sind, welche für Ihr spezifisches Gerät ist (hoffentlich ist es kommentiert) und diese bearbeiten.

Ich würde vermuten, dass die Tastenbelegungen nur beim ersten Booten nach dem Flashen des ROMs gelesen und in einer Datenbank auf der /data-Partition gespeichert werden. Diese Datenbank wird nicht aktualisiert, wenn die Werte in generic.kl geändert werden. Sie können diesen Gedanken testen, indem Sie eine Datenlöschung durchführen. Dies löst das Lesen Ihrer geänderten Werte aus der generischen.kl aus (NACH DEM LÖSCHEN ALLER IHRER BENUTZERDATEN!). Eine andere Möglichkeit wäre, diese Datenbank zu finden und von Hand zu bearbeiten oder sie einfach zu entfernen und neu zu starten, um die Datei generic.kl erneut zu lesen.

Danke, das scheint die Lösung zu sein, wenn ich diese Datenbank finden kann. Hast du eine Idee oder rätst du, wo es zu finden ist?
So geht Android absolut nicht mit dem Tastenlayout und den Key-Char-Map-Dateien um.