MayaFlux 0.4.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 192 of file InputManager.cpp.

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

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: