Détermination du capteur par défaut pour un type
Plusieurs capteurs peuvent exister pour un même type
Le système de capteurs a été conçu pour permettre l’existence de plusieurs capteurs pour un type donné. Pourquoi ? Prenons l’exemple suivant.
Un appareil Android dispose d’un accéléromètre intégré. Il est également équipé du Bluetooth et peut être couplé à une manette de jeu dotée d’un accéléromètre. Pour un développeur qui crée un jeu, ces deux appareils sont conceptuellement du même type.
Capteur par défaut pour un type
Pour éviter d’avoir à connaître (ou à vérifier) quel est le capteur par défaut d’un type, le système utilise le capteur par défaut de ce type. La plupart du temps, c’est ce que souhaite le développeur d’applications. Si celui-ci souhaite sélectionner un capteur spécifique, il doit appeler la méthode ` QSensor::setIdentifier()` avant de lancer le capteur, afin que le backend approprié soit utilisé.
Du point de vue du système, cependant, le choix du capteur par défaut s’avère délicat. La bibliothèque de capteurs utilise le premier identifiant enregistré comme valeur par défaut. Cela signifie que l’ordre dans lequel les backends des capteurs sont enregistrés est important ; le système autorise donc qu’un fichier de configuration détermine la valeur par défaut à la place.
Sensors.conf
Le fichier de configuration qui détermine le capteur par défaut pour un type s’appelle Sensors.conf. Le système recherche ce fichier dans le répertoire QtProject, à l’emplacement indiqué par la fonction QStandardPaths::standardLocations(QStandardPaths::ConfigLocation). Voici un exemple de chemin d’accès complet :
/etc/xdg/QtProject/Sensors.confLe premier fichier de configuration trouvé est utilisé.
Le fichier de configuration respecte le format standard d’un fichier ini. Les paramètres se trouvent dans le groupe « Default » et le format général est le suivant :
type = identifierExemple : le fichier Sensors.conf garantit que l’accéléromètre sensorfw est utilisé par défaut, en ignorant l’ordre dans lequel les backends ont été enregistrés.
[Default]
QAccelerometer=sensorfw.accelerometerSi Sensors.conf spécifie un identifiant qui n’est pas enregistré, le système se rabattra sur le premier identifiant enregistré comme valeur par défaut.
Notez qu’il existe une logique de cas particulier pour empêcher les backends du plugin générique de devenir la valeur par défaut lorsqu’un autre backend est enregistré pour le même type. Cette logique signifie qu’un identifiant de backend commençant par generic. ne sera la valeur par défaut que si aucun autre backend n’a été enregistré pour ce type, ou s’il est spécifié dans Sensors.conf.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.