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 du périphérique d'entrée ne sont généralement pas nécessaires pour les périphériques tels que les claviers et les souris HID, car le comportement système par défaut garantit généralement qu'elles fonctionneront immédiatement. 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 indiqués dans les rapports 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 avec 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, l'écran tactile multipoint
les écrans tactiles et les pavés tactiles sont compatibles avec le type d'événement et les codes EV_ABS
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
les informations 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 du périphérique d'entrée sont situés par fournisseur USB, produit (et (facultatif) ID ou par nom de périphérique d'entrée.
Les chemins d'accès suivants sont consultés dans l'ordre.
/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
Lorsque vous créez un chemin d'accès contenant le nom de l'appareil, tous les caractères dans le nom de l'appareil autre que "0" - "9", "a - z", "A - Z" ou "-" ; 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
Les attributions de propriété se composent chacune d'un nom de propriété, d'un élément =
, d'une valeur de propriété,
et une nouvelle ligne. Comme ceci :
property = value
Les noms de propriété sont des identifiants textuels littéraux non vides. Ils ne doivent pas contenir d'espace. Chaque composant du système d'entrée définit un ensemble de propriétés utilisées pour configurer sa fonction.
Les valeurs de propriété sont des littéraux de chaîne, des entiers ou des nombres à virgule flottante non vides.
Ils ne doivent pas contenir d'espaces blancs 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 aucune valeur n'est spécifiée, la valeur par défaut est
0
pour tous les appareils du Bus USB (BUS_USB) ou Bluetooth (BUS_BLUETOOTH),1
dans le cas contraire
Cette propriété détermine les décisions de la règle par défaut concernant les événements de wakeups.
En général, les périphériques d'entrée internes n'activent pas l'écran de veille, sauf si explicitement configuré pour le faire dans le fichier de disposition des clés ou dans une règle de stratégie codée en dur. Ce la distinction empêche que les pressions sur les touches et les pressions réveillent votre téléphone par erreur lorsqu'il est dans votre poche. En règle générale, seule une petite partie des touches d'activation 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
pour tous les périphériques d'entrée internes.
Validation
Veillez à valider les fichiers de configuration de votre périphérique d'entrée à l'aide de la propriété Outil Validate Keymaps (Valider les mappages de clavier)