Google is committed to advancing racial equity for Black communities. See how.
Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Konfigurationsdateien für Eingabegeräte

Konfigurationsdateien für Eingabegeräte ( .idc Dateien) enthalten gerätespezifische Konfigurationseigenschaften, die sich auf das Verhalten von Eingabegeräten auswirken.

Konfigurationsdateien für Eingabegeräte sind für Standardperipheriegeräte wie HID-Tastaturen und -Mäuse normalerweise nicht erforderlich, da das Standardsystemverhalten normalerweise sicherstellt, dass sie sofort funktionieren. Auf der anderen Seite benötigen integrierte eingebettete Geräte, insbesondere Touchscreens, fast immer Konfigurationsdateien für Eingabegeräte, um ihr Verhalten festzulegen.

Begründung

Android erkennt und konfiguriert die meisten Funktionen des Eingabegeräts automatisch anhand der Ereignistypen und Eigenschaften, die vom zugehörigen Linux-Kernel-Eingabegerätetreiber gemeldet werden.

Zum Beispiel, wenn ein Eingabegerät , das unterstützt EV_REL Ereignistyp und Codes REL_X und REL_Y sowie der EV_KEY Ereignistyp und BTN_MOUSE , dann Android wird das Eingabegerät wie eine Maus klassifizieren. Das Standardverhalten einer Maus besteht darin, einen Bildschirmcursor anzuzeigen, der die Bewegungen der Maus verfolgt und Berührungen simuliert, wenn die Maus angeklickt wird. Obwohl die Maus anders konfiguriert werden kann, ist das Standardverhalten normalerweise für Standard-Mausperipheriegeräte ausreichend.

Bestimmte Klassen von Eingabegeräten sind mehrdeutig. Beispielsweise unterstützen Multitouch-Touchscreens und ABS_MT_POSITION_Y mindestens den Ereignistyp EV_ABS und die Codes ABS_MT_POSITION_X und ABS_MT_POSITION_Y mindestens. Die Verwendungszwecke dieser Geräte sind jedoch sehr unterschiedlich und können nicht immer automatisch ermittelt werden. Außerdem sind zusätzliche Informationen erforderlich, um die von Touch-Geräten gemeldeten Druck- und Größeninformationen zu verstehen. Daher benötigen Touch-Geräte, insbesondere eingebaute Touchscreens, normalerweise IDC-Dateien.

Ort

Die Konfigurationsdateien für Eingabegeräte befinden sich nach USB-Hersteller, Produkt- (und optional Versions-) ID oder nach Name des Eingabegeräts.

Die folgenden Pfade werden der Reihe nach konsultiert.

  • /odm/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /vendor/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /system/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /data/system/devices/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
  • /odm/usr/idc/Vendor_XXXX_Product_XXXX.idc
  • /vendor/usr/idc/Vendor_XXXX_Product_XXXX.idc
  • /system/usr/idc/Vendor_XXXX_Product_XXXX.idc
  • /data/system/devices/idc/Vendor_XXXX_Product_XXXX.idc
  • /odm/usr/idc/ device-name .idc
  • /vendor/usr/idc/ device-name .idc
  • /system/usr/idc/ device-name .idc
  • /data/system/devices/idc/ device-name .idc

Beim Erstellen eines Dateipfads, der den Gerätenamen enthält, werden alle Zeichen im Gerätenamen außer '0' - '9', 'a' - 'z', 'A' - 'Z', '-' oder '_' werden durch '_' ersetzt.

Syntax

Eine Konfigurationsdatei für Eingabegeräte ist eine Nur-Text-Datei, die aus Eigenschaftszuweisungen und Kommentaren besteht.

Eigenschaften

Eigenschaftszuweisungen bestehen jeweils aus einem Eigenschaftsnamen, einem = , einem Eigenschaftswert und einer neuen Zeile. So was:

property = value

Eigenschaftsnamen sind nicht leere Literaltext-IDs. Sie dürfen keine Leerzeichen enthalten. Jede Komponente des Eingabesystems definiert eine Reihe von Eigenschaften, mit denen die Funktion konfiguriert wird.

Eigenschaftswerte sind nicht leere Zeichenfolgenliterale, Ganzzahlen oder Gleitkommazahlen. Sie dürfen kein Leerzeichen oder die reservierten Zeichen \ oder " .

Bei Eigenschaftsnamen und -werten wird zwischen Groß- und Kleinschreibung unterschieden.

Bemerkungen

Kommentarzeilen beginnen mit '#' und dauern bis zum Ende der Zeile. So was:

# A comment!

Leerzeilen werden ignoriert.

Beispiel

# This is an example of an input device configuration file.
# It might be used to describe the characteristics of a built-in touch screen.

# This is an internal device, not an external peripheral attached to the USB
# or Bluetooth bus.
device.internal = 1

# The device should behave as a touch screen, which uses the same orientation
# as the built-in display.
touch.deviceType = touchScreen
touch.orientationAware = 1

# Additional calibration properties...
# etc...

Gemeinsame Eigenschaften

Die folgende Eigenschaft gilt für alle Eingabegerätklassen.

Informationen zu den von jeder Klasse verwendeten speziellen Eigenschaften finden Sie in der Dokumentation der einzelnen Eingabegeräteklassen.

device.internal

Definition: device.internal = 0 | 1

Gibt an, ob das Eingabegerät eine interne integrierte Komponente im Gegensatz zu einem extern angeschlossenen (höchstwahrscheinlich entfernbaren) Peripheriegerät ist.

  • Wenn der Wert 0 , ist das Gerät extern.

  • Wenn der Wert 1 , ist das Gerät intern.

  • Wenn der Wert nicht angegeben wird, ist der Standardwert 0 für alle Geräte am USB-Bus (BUS_USB) oder Bluetooth-Bus (BUS_BLUETOOTH), andernfalls 1 .

Diese Eigenschaft bestimmt Standardrichtlinienentscheidungen in Bezug auf Weckereignisse.

Interne Eingabegeräte wecken die Anzeige im Allgemeinen nicht aus dem Ruhezustand, es sei denn, dies ist ausdrücklich in der Schlüssellayoutdatei oder in einer fest codierten Richtlinienregel konfiguriert. Diese Unterscheidung verhindert, dass Tastendrücke und Berührungen Ihr Telefon fälschlicherweise aufwecken, wenn es sich in Ihrer Tasche befindet. Normalerweise sind nur eine kleine Handvoll Wake-Keys definiert.

Umgekehrt wecken externe Eingabegeräte das Gerät normalerweise aggressiver, da davon ausgegangen wird, dass sie während des Transports ausgeschaltet oder nicht angeschlossen sind. Das Drücken einer beliebigen Taste auf einer externen Tastatur ist beispielsweise ein guter Indikator dafür, dass der Benutzer möchte, dass das Gerät aufwacht und reagiert.

Es ist wichtig sicherzustellen, dass der Wert der Eigenschaft device.internal für alle internen Eingabegeräte korrekt device.internal ist.

Validierung

Stellen Sie sicher, dass Sie die Konfigurationsdateien Ihres Eingabegeräts mit dem Tool " Keymaps validieren" validieren .