nefarius / ViGEmBus

Windows kernel-mode driver emulating well-known USB game controllers.
https://docs.nefarius.at/projects/ViGEm/
BSD 3-Clause "New" or "Revised" License
3.03k stars 284 forks source link

Device subtypes like guitars? #148

Closed joao678 closed 2 years ago

joao678 commented 2 years ago

Does ViGEmBus supports different xbox device types? I've been trying different setups with different devices and different programming languages to no avail so I was wondering if we can do something like x360ce does with 'Device Types' like connecting a virtual guitar hero guitar or maybe a steering wheel?

The closest I've got while testing was informing a VID and PID using ViGEm.NET while using the ViGEmClient.CreateXbox360Controller() function but I don't think this counts because I believe a game like Guitar Hero 3 for PC reads the device subtype specifically (and maybe older racing games use this method aswell)

Describe the solution you'd like Maybe a way to inform a device type on a function like CreateXbox360Controller so that we have full control over the device created

Describe alternatives you've considered For my personal project I can always emulate the keyboard with frets and the strumbar but I mean it's not the same thing, right? 🧐

Additional context This might be useful: https://docs.microsoft.com/en-us/windows/win32/xinput/xinput-and-controller-subtypes

nefarius commented 2 years ago

It does not, its successor will though!

joao678 commented 2 years ago

Oh cool I'll look forward to that!

nefarius commented 1 year ago

Supported in v2, see #139