-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Summary:
Current virtual device spoofing works for Xbox controllers but does not reliably spoof PlayStation controllers (e.g., DualShock 4). Game launchers like Steam appear to check more than just device name, vendor, and product IDs — possibly including device tree details and the presence of /dev/hidraw* nodes.
Expected Behavior:
Virtual devices spoofed as PlayStation controllers (such as DualShock 4) should be recognized by games and launchers (e.g., Steam) as authentic PlayStation hardware, enabling proper layout recognition and compatibility.
Current Behavior:
Spoofing works for Xbox, but not for PlayStation controllers. Steam and some games do not recognize the virtual device as a PlayStation controller, even when name, vendor, and product IDs are matched. The real DS4 also creates a /dev/hidraw* device, which may be relevant.
Possible Cause:
- Steam and other software may check for additional device properties, such as:
- Existence and attributes of
/dev/hidraw*nodes - Device tree or sysfs properties
- Report descriptors or other low-level USB/HID details
- Existence and attributes of
- Current spoofing only covers basic uinput parameters and not the full set of device characteristics.
Suggested Solution:
- Investigate what additional properties or nodes are required for PlayStation controller spoofing (e.g., create matching
/dev/hidraw*nodes, set correct report descriptors). - Compare sysfs and udev properties between real and virtual devices.
- Consider using or extending existing libraries/tools for more complete device emulation.
Notes:
Robust spoofing for PlayStation and other vendors would improve game compatibility, avoiding user confusion from mismatched gamepad layout recognition.