LizardByte / LizardByte/libvirtualhid
Adopt registered pid.codes identities for virtual HID profiles
@LizardByte-bot arbeitet bereits daran.
Seit 15.8.2026.
- Vorherrschende Sprache
- C++
- Sterne
- 54
- Forks
- 15
- Ø Merge
- 11 Std. 32 Min.
- Gemergte PRs (30 T.)
- 34
Beschreibung
Describe the Bug
This issue tracks adoption of the product IDs requested in pidcodes/pidcodes.github.com#1260.
The changes must not be made until that PR is accepted and merged. Once allocated, libvirtualhid should replace its temporary identities with the registered IDs so operating systems and consumers such as Sunshine can distinguish each virtual device profile reliably.
Expected Behavior
After the pid.codes PR is merged, libvirtualhid should use these identities:
| VID:PID | Profile |
|---|---|
1209:4C56 |
Generic Controller |
1209:4C57 |
Keyboard |
1209:4C58 |
Mouse |
1209:4C59 |
Touchscreen |
1209:4C5A |
Trackpad |
1209:4C5B |
Pen Tablet |
The identities should be consistent across supported backends, tests, documentation, validation tools, and downstream consumers.
Additional Context
Implementation checklist:
- Wait for the allocation PR to merge and verify the final assigned values.
- Update the built-in profiles in
src/core/profiles.cpp. - Audit and update hard-coded identity expectations in unit, backend, consumer, broker, and installed-driver tests.
- Update Windows browser and installed-driver validation scripts for the Generic Controller identity.
- Update public documentation that describes the Generic profile identity.
- Coordinate Sunshine integration so it consumes the registered profiles without relying on temporary identifiers.
- Update
gamepad-helperand the gamepad tester to recognize the new Generic Controller identity in Firefox- and Chromium-styleGamepad.idstrings. Retain recognition of the previous identity for older libvirtualhid installations where practical. - Document the identity migration because Steam, SDL, browsers, or other applications may treat the updated profiles as newly connected devices and reset per-device configuration.
- Validate the affected profiles with the MinGW/UCRT64 test suite, Linux backend/consumer tests, installed Windows driver checks, and live Steam, Firefox, and Chromium testing.
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Bewertung
Dieses Issue wurde noch nicht bewertet.