유형에 대한 기본 센서 결정하기

한 유형에 여러 개의 센서가 존재할 수 있습니다.

센서는 주어진 유형에 대해 여러 개의 센서가 존재할 수 있도록 설계되었습니다. 왜 그럴까요? 이 예를 생각해 보세요.

Android 장치에는 가속도계가 내장되어 있습니다. 또한 블루투스를 지원하며 가속도계가 있는 게임 컨트롤러와 페어링할 수 있습니다. 게임을 작성하는 개발자에게 이 두 장치는 개념적으로 동일한 유형입니다.

유형에 대한 기본 센서

유형에 대한 기본 센서가 무엇인지 알 필요가 없도록(또는 확인할 필요가 없도록) 시스템에서 유형에 대한 기본 센서를 사용합니다. 대부분의 경우 이는 앱 개발자가 원하는 방식입니다. 앱 개발자가 특정 센서를 선택하려면 센서를 시작하기 전에 QSensor::setIdentifier() 메서드를 호출하여 적절한 백엔드가 사용되도록 해야 합니다.

하지만 시스템 관점에서 어떤 센서를 기본값으로 사용할지 선택하는 것은 까다롭습니다. 센서 라이브러리는 가장 먼저 등록된 식별자를 기본값으로 사용합니다. 즉, 센서 백엔드가 등록되는 순서가 중요하므로 시스템에서는 구성 파일에서 기본값을 대신 결정할 수 있습니다.

Sensors.conf

유형에 대한 기본 센서를 결정하는 구성 파일은 Sensors.conf라고 합니다. 이 구성 파일은 QStandardPaths::standardLocations(QStandardPaths::ConfigLocation)에서 지정한 디렉터리 아래의 QtProject 디렉토리에서 찾습니다. 전체 파일 경로의 예는 다음과 같습니다:

/etc/xdg/QtProject/Sensors.conf

가장 먼저 발견된 구성 파일이 사용됩니다.

구성 파일은 ini 파일의 표준 형식을 갖습니다. 설정은 Default 그룹에 있으며 일반적인 형식은 다음과 같습니다:

type = identifier

예시: Sensors.conf는 백엔드가 등록된 순서를 무시하고 기본적으로 sensorfw 가속도계가 사용되도록 합니다.

[Default]
QAccelerometer=sensorfw.accelerometer

Sensors.conf에 등록되지 않은 식별자가 지정되면 시스템은 기본값으로 등록된 첫 번째 식별자로 되돌아갑니다.

동일한 유형에 대해 다른 백엔드가 등록된 경우 일반 플러그인의 백엔드가 기본값이 되는 것을 방지하기 위한 특수 사례 로직이 있다는 점에 유의하세요. 이 논리에 따르면 generic. 로 시작하는 백엔드 식별자는 해당 유형에 대해 다른 백엔드가 등록되어 있지 않거나 Sensors.conf 에 지정된 경우에만 기본값이 됩니다.

© 2025 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.