mirror of
https://github.com/overte-org/overte.git
synced 2025-04-20 12:04:18 +02:00
Extend HMD scripting interface to check subdevices
This commit is contained in:
parent
4e29d7a2b8
commit
b6759fb1d1
4 changed files with 17 additions and 10 deletions
|
@ -50,12 +50,17 @@ glm::vec2 HMDScriptingInterface::overlayToSpherical(const glm::vec2 & position)
|
|||
return qApp->getApplicationCompositor().overlayToSpherical(position);
|
||||
}
|
||||
|
||||
bool HMDScriptingInterface::isHMDAvailable() {
|
||||
return PluginUtils::isHMDAvailable();
|
||||
bool HMDScriptingInterface::isHMDAvailable(const QString& name) {
|
||||
return PluginUtils::isHMDAvailable(name);
|
||||
}
|
||||
|
||||
bool HMDScriptingInterface::isHandControllerAvailable() {
|
||||
return PluginUtils::isHandControllerAvailable();
|
||||
bool HMDScriptingInterface::isHandControllerAvailable(const QString& name) {
|
||||
return PluginUtils::isHandControllerAvailable(name);
|
||||
}
|
||||
|
||||
|
||||
bool HMDScriptingInterface::isSubdeviceContainingNameAvailable(const QString& name) {
|
||||
return PluginUtils::isSubdeviceContainingNameAvailable(name);
|
||||
}
|
||||
|
||||
void HMDScriptingInterface::requestShowHandControllers() {
|
||||
|
|
|
@ -40,8 +40,9 @@ public:
|
|||
Q_INVOKABLE QString preferredAudioInput() const;
|
||||
Q_INVOKABLE QString preferredAudioOutput() const;
|
||||
|
||||
Q_INVOKABLE bool isHMDAvailable();
|
||||
Q_INVOKABLE bool isHandControllerAvailable();
|
||||
Q_INVOKABLE bool isHMDAvailable(const QString& name = "");
|
||||
Q_INVOKABLE bool isHandControllerAvailable(const QString& name = "");
|
||||
Q_INVOKABLE bool isSubdeviceContainingNameAvailable(const QString& name);
|
||||
|
||||
Q_INVOKABLE void requestShowHandControllers();
|
||||
Q_INVOKABLE void requestHideHandControllers();
|
||||
|
|
|
@ -24,16 +24,16 @@ bool PluginUtils::isHMDAvailable(const QString& pluginName) {
|
|||
return false;
|
||||
}
|
||||
|
||||
bool PluginUtils::isHandControllerAvailable() {
|
||||
bool PluginUtils::isHandControllerAvailable(const QString& pluginName) {
|
||||
for (auto& inputPlugin : PluginManager::getInstance()->getInputPlugins()) {
|
||||
if (inputPlugin->isHandController()) {
|
||||
if (inputPlugin->isHandController() && (pluginName.isEmpty() || inputPlugin->getName() == pluginName)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
bool isSubdeviceContainingNameAvailable(QString name) {
|
||||
bool PluginUtils::isSubdeviceContainingNameAvailable(QString name) {
|
||||
for (auto& inputPlugin : PluginManager::getInstance()->getInputPlugins()) {
|
||||
if (inputPlugin->isActive()) {
|
||||
auto subdeviceNames = inputPlugin->getSubdeviceNames();
|
||||
|
|
|
@ -15,7 +15,8 @@
|
|||
class PluginUtils {
|
||||
public:
|
||||
static bool isHMDAvailable(const QString& pluginName = "");
|
||||
static bool isHandControllerAvailable();
|
||||
static bool isHandControllerAvailable(const QString& pluginName = "");
|
||||
static bool isSubdeviceContainingNameAvailable(QString name);
|
||||
static bool isViveControllerAvailable();
|
||||
static bool isOculusTouchControllerAvailable();
|
||||
static bool isXboxControllerAvailable();
|
||||
|
|
Loading…
Reference in a new issue