LizardByte / LizardByte/libvirtualhid

Adopt registered pid.codes identities for virtual HID profiles

Ouverte
#79 0 commentaires 1 réaction 1 personne assignée Voir sur GitHub

@LizardByte-bot y travaille déjà.

Depuis le 15/8/2026.

Langage dominant
C++
Étoiles
54
Forks
15
Merge moyen
11 h 32 min
PR mergées (30 j)
34

Description

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-helper and the gamepad tester to recognize the new Generic Controller identity in Firefox- and Chromium-style Gamepad.id strings. 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.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.