MayaFlux 0.2.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ resolve_vid_pid()

std::optional< InputBinding > MayaFlux::Core::InputManager::resolve_vid_pid ( const InputBinding binding,
const std::vector< InputDeviceInfo > &  devices 
) const
private

Definition at line 189 of file InputManager.cpp.

192{
193 for (const auto& dev : devices) {
194 if (dev.backend_type != binding.backend)
195 continue;
196
197 bool vid_match = !binding.hid_vendor_id || (*binding.hid_vendor_id == dev.vendor_id);
198 bool pid_match = !binding.hid_product_id || (*binding.hid_product_id == dev.product_id);
199
200 if (vid_match && pid_match) {
201 InputBinding resolved = binding;
202 resolved.device_id = dev.id;
203 resolved.hid_vendor_id.reset();
204 resolved.hid_product_id.reset();
205 return resolved;
206 }
207 }
208
209 return std::nullopt;
210}

References MayaFlux::Core::InputBinding::backend, MayaFlux::Core::InputBinding::device_id, MayaFlux::Core::InputBinding::hid_product_id, and MayaFlux::Core::InputBinding::hid_vendor_id.

Referenced by register_node().

+ Here is the caller graph for this function: