Hi Shaul,
I am in the process of re-writing UCR using C#, and am using SharpDX-DirectInput for joystick input, which AFAIK is a very thin wrapper around DI.
When I enumerate devices (I guess the equivalent of
IDirectInput8::EnumDevices), the order of vJoy devices on *most* machines is the same as the vJoy device order (eg in the returned data, vJoy #1 appears before vJoy #2)
However, on my machine, I get them in the order 2,1,3
So, Question #1 is - is there something wrong with my PC? I know the DI page says "The order in which devices are enumerated by DirectInput is not guaranteed", but for everyone else, it seems to be in the "correct" order - is there maybe something odd about my machine? Is there maybe some way I can completely clean my system and get it to generate new InstanceGUIDs?
---
Interestingly, on a machine where it does give the "correct" order, if I have 3 vJoy devices connected, I get the following results:
Result #1 GUID: 83f38eb0-7433-11e6-8007-444553540000
Result #2 GUID: 55282520-026b-11e7-8003-444553540000
Result #3 GUID: f31e6810-76d4-11e7-8002-444553540000
however, if I delete vJoy device #1, I get:
Result #1 GUID: 83f38eb0-7433-11e6-8007-444553540000
Result #2 GUID: 55282520-026b-11e7-8003-444553540000
ie GUIDÂ 83f38eb0-7433-11e6-8007-444553540000 is ALWAYS the first *active* vJoy device, regardless.
So, question #2 is - is there a way to tell that this GUID is actually vJoy device #2?