schellingb / PseudoVive

Simulate device names for any SteamVR driver to increase compatiblity
Other
61 stars 7 forks source link

Emulate other devices #10

Open Bluscream opened 3 years ago

Bluscream commented 3 years ago

Could you make it so it can emulate other devices (Especially the Reverb G2 because that will be requires in the beginning of Flight Sim 2020 and many people are eager to play it in VR but don't have a G2)

A bonus would be if we can switch between which device is emulated in the toggle menu.

If you need infos like the HMD names or system reports just ask the community they'll happily provide them for you. I for example can give you the quest device names and soon the Quest 2 ones

Sent from my TAB 2 A10 using FastHub

Bluscream commented 3 years ago

So after a bit of thought i came up with a concept:

Have a INI file somewhere that stores the supported devices:

[General]
AUTOSTART = 0
LASTDEVICE = HTC Vive

[HTC Vive]
MANUFACTURERNAME = HTC
HMD = Vive. MV ; LHR-72B9C65F Headset Vive MV HTC
TRACKINGREFERENCE = HTC V2-XD/XE ; LHB-C8C1A30A Base HTC V2-XD/XE HTC
TRACKINGREFERENCE2 = HTC V2-XD/XE ; LHB-B6C33C1B Base HTC V2-XD/XE HTC
CONTROLLERLEFT =  ; LHR-F5DBDF40 Controller Vive Controller MV HTC
CONTROLLERRIGHT =  ; LHR-FDD3D941 Controller Vive Controller MV HTC

[Oculus Rift CV1]
MANUFACTURERNAME = Oculus
HMD = Oculus Rift CV1 ; WMHD31752016K7 Headset Oculus Rift CV1 Oculus
TRACKINGREFERENCE = Oculus Rift CV1 (Camera0) ; WMHD31752016K7_Camera0 Base Station Oculus Rift CV1 (Camera0) Oculus
TRACKINGREFERENCE2 = Oculus Rift CV1 (Camera1) ; WMHD31752016K7_Camera1 Base Station Oculus Rift CV1 (Camera1) Oculus
TRACKINGREFERENCE3 = Oculus Rift CV1 (Camera2)  ; WMHD31752016K7_Camera2 Base Station Oculus Rift CV1 (Camera2) Oculus
CONTROLLERLEFT = Oculus Rift CV1 (Left Controller) ; WMHD31752016K7_Controller_Left Controller Oculus Rift CV1 (Left Controller) Oculus
CONTROLLERRIGHT = Oculus Rift CV1 (Right Controller) ; WMHD31752016K7_Controller_Right Controller Oculus Rift CV1 (Right Controller) Oculus

[Oculus Quest]
MANUFACTURERNAME = Oculus
HMD = Oculus Quest ; 1PASH9AREV9482 Headset Oculus Quest Oculus
CONTROLLERLEFT = Oculus Quest (Left Controller) ; 1PASH9AREV9482_Controller_Left Controller Oculus Quest (Left Controller) Oculus
CONTROLLERRIGHT = Oculus Quest (Right Controller) ; 1PASH9AREV9482_Controller_Right Controller Oculus Quest (Right Controller) Oculus

[Valve Index]
MANUFACTURERNAME = Valve Corporation
HMD = Index ; LHR-5DCF267B Headset Index Valve
TRACKINGREFERENCE = Valve SR ; LHB-90598523 Base Station Valve SR Valve Corporation
TRACKINGREFERENCE2 = Valve SR ; LHB-D360AB20 Base Station Valve SR Valve Corporation
CONTROLLERLEFT =  ; LHR-97B55485 Controller Knuckles Left Valve
CONTROLLERRIGHT =  ; LHR-53EB2BDA Controller Knuckles Right Valve

[WMR Acer AH1010]
MANUFACTURERNAME = WindowsMR
MODELNUMBER_HMD = Acer AH1010 ; WindowsHolographic Headset Acer AH1010 WindowsMR
CONTROLLERLEFT = WindowsMR: 0x045E/0x065B/0/1 ; MRSOURCE0 Controller WindowsMR: 0x045E/0x065B/0/1 WindowsMR: 0x045E
CONTROLLERRIGHT = WindowsMR: 0x045E/0x065B/0/2 ; MRSOURCE1 Controller WindowsMR: 0x045E/0x065B/0/2 WindowsMR: 0x045E

[WMR HP Reverb]
MANUFACTURERNAME = WindowsMR
MODELNUMBER_HMD = HP Windows Mixed Reality Headset0 ; WindowsHolographic Headset HP Windows Mixed Reality Headset0 WindowsMR
CONTROLLERLEFT = WindowsMR: 0x045E/0x065B/0/1 ; MRSOURCE1 Controller WindowsMR: 0x045E/0x065B/0/1 WindowsMR: 0x045E
CONTROLLERRIGHT = WindowsMR: 0x045E/0x065B/0/2 ; MRSOURCE0 Controller WindowsMR: 0x045E/0x065B/0/2 WindowsMR: 0x045E

= <Prop_ModelNumber_String> ; <Device>

SteamVR System Report Oculus Quest (Oculus Link).txt SteamVR System Report Oculus Quest (Virtual Desktop).txt SteamVR System Report WMR Acer AH1010.txt Valve Index Oculus Rift CV1

On start load that ini and populate the tray menu with using GetPrivateProfileSectionNamesA or W

Bluscream commented 3 years ago

Valve Index.zip