diff --git a/server/desktop/src/main/java/dev/slimevr/desktop/tracking/trackers/hid/TrackersHID.kt b/server/desktop/src/main/java/dev/slimevr/desktop/tracking/trackers/hid/TrackersHID.kt index 4683aeea5..f1b4dec8f 100644 --- a/server/desktop/src/main/java/dev/slimevr/desktop/tracking/trackers/hid/TrackersHID.kt +++ b/server/desktop/src/main/java/dev/slimevr/desktop/tracking/trackers/hid/TrackersHID.kt @@ -463,10 +463,14 @@ class TrackersHID(name: String, private val trackersConsumer: Consumer) // Work on devicesByHid and add/remove as necessary val removeList: MutableList = devicesByHID.keys.toMutableList() removeList.removeAll(hidDeviceList) - hidDeviceList.removeAll(devicesByHID.keys) // addList for (device in removeList) { removeDevice(device) } + // Quickly reattaching a device may not be detected, so always try to open existing devices + for (device in devicesByHID.keys) { + device.open() + } + hidDeviceList.removeAll(devicesByHID.keys) // addList for (device in hidDeviceList) { checkConfigureDevice(device) }