Les fichiers de configuration du périphérique d'entrée (.idc
fichiers) contiennent des données spécifiques à l'appareil
qui affectent le comportement des périphériques d'entrée.
Les fichiers de configuration des périphériques d'entrée ne sont généralement pas nécessaires pour les périphériques standards tels que les claviers et les souris HID, car le comportement système par défaut garantit généralement qu'ils fonctionneront dès le départ. Par ailleurs, les appareils intégrés intégrés, en particulier les écrans tactiles, presque toujours des fichiers de configuration de périphériques d'entrée pour spécifier leur comportement.
Justification
Android détecte et configure automatiquement la plupart des fonctionnalités des périphériques d'entrée en fonction des propriétés et des types d'événements signalés par la Pilote de périphérique d'entrée du noyau Linux.
Par exemple, si un périphérique d'entrée est compatible avec le type d'événement et les codes EV_REL
REL_X
et REL_Y
, ainsi que le type d'événement EV_KEY
et BTN_MOUSE
,
Android classera alors le périphérique
d'entrée comme une souris. Le comportement par défaut
pour une souris consiste à présenter un curseur à l'écran qui suit les mouvements de la souris
et simule des gestes
lorsque l'utilisateur clique sur la souris. Bien que la souris puisse
être configuré différemment, le comportement par défaut est généralement suffisant
périphériques de souris standard.
Certaines classes de périphériques d'entrée sont plus ambiguës. Par exemple, les écrans tactiles multipoint et les pavés tactiles sont tous deux compatibles avec le type d'événement EV_ABS
et les codes ABS_MT_POSITION_X
et ABS_MT_POSITION_Y
au minimum. Cependant, l'objectif
les usages de ces appareils sont très différents et ne peuvent pas toujours être déterminés
automatiquement. En outre, des informations supplémentaires sont nécessaires
de pression et de taille transmises par les appareils tactiles. D'où les appareils tactiles,
en particulier les écrans tactiles intégrés, ont généralement besoin de fichiers IDC.
Position
Les fichiers de configuration des périphériques d'entrée sont situés par fournisseur USB, ID de produit (et éventuellement de version) ou par nom du périphérique d'entrée.
Les chemins d'accès suivants sont consultés dans l'ordre.
/product/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
/system_ext/usr/idc/Vendor_XXXX_Product_XXXX_Version_XXXX.idc
/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
/product/usr/idc/Vendor_XXXX_Product_XXXX.idc
/system_ext/usr/idc/Vendor_XXXX_Product_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
/product/usr/idc/device-name.idc
/system_ext/usr/idc/device-name.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
Lorsque vous créez un chemin d'accès au fichier contenant le nom de l'appareil, tous les caractères du nom de l'appareil, à l'exception de '0' à '9', 'a' à 'z', 'A' à 'Z', '-' ou '_', sont remplacés par '_'.
Syntaxe
Un fichier de configuration de périphérique d'entrée est un fichier au format texte brut contenant devoirs et commentaires.
Propriétés
Chaque attribution de propriété se compose d'un nom de propriété, d'un =
, d'une valeur de propriété et d'un saut de ligne. Comme ceci :
property = value
Les noms de propriété sont des identifiants de texte littéraux non vides. Ils ne doivent pas contenir les espaces blancs. Chaque composant du système d'entrée définit un ensemble de propriétés qui permettent de configurer sa fonction.
Les valeurs de propriété sont des littéraux de chaîne non vides, des entiers ou des nombres à virgule flottante.
Elles ne doivent pas contenir d'espace blanc ni les caractères réservés \
ou "
.
Les noms et les valeurs des propriétés sont sensibles à la casse.
Commentaires
Les lignes de commentaire commencent par le signe "#" et continuer jusqu'à la fin de la ligne. Comme ceci :
# A comment!
Les lignes vides sont ignorées.
Exemple
# 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...
Propriétés communes
La propriété suivante est commune à toutes les classes de périphériques d'entrée.
Reportez-vous à la documentation de chaque classe de périphérique d'entrée pour en savoir plus sur la des propriétés spéciales utilisées par chaque classe.
device.internal
Définition : device.internal
= 0
| 1
Indique si le périphérique d'entrée est un composant intégré interne un périphérique externe (souvent amovible).
-
Si la valeur est
0
, l'appareil est externe. -
Si la valeur est
1
, l'appareil est interne. -
Si la valeur n'est pas spécifiée, la valeur par défaut est
0
pour tous les appareils sur le bus USB (BUS_USB) ou Bluetooth (BUS_BLUETOOTH),1
dans le cas contraire.
Cette propriété détermine les décisions de règles par défaut concernant les événements de réveil.
En règle générale, les périphériques d'entrée internes ne réveillent pas l'écran en veille, sauf s'ils sont explicitement configurés pour le faire dans le fichier de mise en page des touches ou dans une règle de stratégie codée en dur. Ce la distinction empêche les pressions sur les touches et les pressions de réactiver votre téléphone par erreur lorsqu'il est dans votre poche. En règle générale, seules quelques clés de réveil sont définies.
À l'inverse, les périphériques d'entrée externes activent généralement les appareils de manière plus agressive, car ils sont supposés être éteints ou non branchés pendant le transport. Par exemple : appuyer sur n'importe quelle touche d'un clavier externe est un bon indicateur de se réveiller et de réagir.
Il est important de s'assurer que la valeur de la propriété device.internal
est définie correctement pour tous les périphériques d'entrée internes.
Validation
Veillez à valider les fichiers de configuration de vos périphériques d'entrée à l'aide de l'outil Valider les claviers.