|
@@ -246,23 +246,40 @@ consider_add_js_device(int js_index) {
|
|
|
#endif
|
|
#endif
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
- * Description: Returns all currently connected gamepad devices.
|
|
|
|
|
|
|
+ * Description: Returns all currently connected devices.
|
|
|
*/
|
|
*/
|
|
|
InputDeviceSet InputDeviceManager::
|
|
InputDeviceSet InputDeviceManager::
|
|
|
-get_gamepads() const {
|
|
|
|
|
- InputDeviceSet gamepads;
|
|
|
|
|
|
|
+get_devices() const {
|
|
|
|
|
+ InputDeviceSet devices;
|
|
|
LightMutexHolder holder(_lock);
|
|
LightMutexHolder holder(_lock);
|
|
|
|
|
|
|
|
for (size_t i = 0; i < _connected_devices.size(); ++i) {
|
|
for (size_t i = 0; i < _connected_devices.size(); ++i) {
|
|
|
InputDevice *device = _connected_devices[i];
|
|
InputDevice *device = _connected_devices[i];
|
|
|
- if (device->get_device_class() == InputDevice::DC_gamepad) {
|
|
|
|
|
- gamepads.add_device(device);
|
|
|
|
|
|
|
+ devices.add_device(device);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return devices;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/**
|
|
|
|
|
+ * Description: Returns all currently connected devices of the given device class.
|
|
|
|
|
+ */
|
|
|
|
|
+InputDeviceSet InputDeviceManager::
|
|
|
|
|
+get_devices(InputDevice::DeviceClass device_class) const {
|
|
|
|
|
+ InputDeviceSet devices;
|
|
|
|
|
+ LightMutexHolder holder(_lock);
|
|
|
|
|
+
|
|
|
|
|
+ for (size_t i = 0; i < _connected_devices.size(); ++i) {
|
|
|
|
|
+ InputDevice *device = _connected_devices[i];
|
|
|
|
|
+ if (device->get_device_class() == device_class) {
|
|
|
|
|
+ devices.add_device(device);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- return gamepads;
|
|
|
|
|
|
|
+ return devices;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
/**
|
|
/**
|
|
|
* Called when a new device has been discovered. This may also be used to
|
|
* Called when a new device has been discovered. This may also be used to
|
|
|
* register virtual devices.
|
|
* register virtual devices.
|