alvr-org / ALVR

Stream VR games from your PC to your headset via Wi-Fi
MIT License
5.54k stars 491 forks source link

Add more headset and controller emulation modes #262

Open zmerp opened 4 years ago

zmerp commented 4 years ago

String for vive controller are listed here: https://github.com/polygraphene/ALVR/blob/00c88fb6c3ae81c9380832723a70401ba06d7751/ALVR/ServerConfig.cs#L204

maxer456 commented 4 years ago

Any idea where to get the string for the Index headset other than asking someone who owns it?

zmerp commented 4 years ago

Not sure if there is an easy way to get it. Probably it is inside the valve index driver (that can be found with a decompiler). If there is no index driver in SteamVR/drivers then the strings could be stored inside SteamVR main dlls.

zmerp commented 2 months ago

From lackofbindings on Discord, Quest pro strings:

Found device "rift" at Head (15) with index 0
    serial: 1PASH5D1P17365
    trackingSystem: oculus
    manufacturer: Oculus
    modelNumber: Meta Quest Pro
    renderModel: generic_hmd
    deviceType: oculus/1PASH5D1P17365
    controllerType: rift
    inputProfilePath: {oculus}/input/rift_profile.json
Found device "Left Hand Oculus Touch" at LeftController (13) with index 1
    serial: 1PASH5D1P17365_Controller_Left
    trackingSystem: oculus
    manufacturer: Oculus
    modelNumber: Meta Quest Pro (Left Controller)
    renderModel: oculus_quest_pro_controller_left
    deviceType: oculus/1PASH5D1P17365_Controller_Left
    controllerType: oculus_touch
    inputProfilePath: {oculus}/input/touch_profile.json
Found device "Right Hand Oculus Touch" at RightController (14) with index 2
    serial: 1PASH5D1P17365_Controller_Right
    trackingSystem: oculus
    manufacturer: Oculus
    modelNumber: Meta Quest Pro (Right Controller)
    renderModel: oculus_quest_pro_controller_right
    deviceType: oculus/1PASH5D1P17365_Controller_Right
    controllerType: oculus_touch
    inputProfilePath: {oculus}/input/touch_profile.json
zmerp commented 2 months ago

From lackofbinding, SteamVR 2.8.4 Hand Tracking Controller:

Found device "rift" at Head (15) with index 0
    serial: VRLINKHMDQUESTPRO
    trackingSystem: oculus
    manufacturer: Oculus
    modelNumber: Oculus Quest2
    renderModel: generic_hmd
    deviceType: oculus/VRLINKHMDQUESTPRO
    controllerType: rift
    inputProfilePath: {oculus}/input/rift_profile.json
Found device "Left Hand Hand Tracking Controller" at LeftController (13) with index 1
    serial: VRLINKQ_Hand_Left
    trackingSystem: vrlink
    manufacturer: VRLink
    modelNumber: VRLink Hand Tracker (Left Hand)
    renderModel: {vrlink}/rendermodels/shuttlecock
    deviceType: vrlink/VRLINKQ_HandTracker_Left
    controllerType: svl_hand_interaction_augmented
    inputProfilePath: {vrlink}/input/svl_hand_interaction_augmented_input_profile.json
Found device "Right Hand Hand Tracking Controller" at RightController (14) with index 2
    serial: VRLINKQ_Hand_Right
    trackingSystem: vrlink
    manufacturer: OculusHT
    modelNumber: VRLink Hand Tracker (Right Hand)
    renderModel: {vrlink}/rendermodels/shuttlecock
    deviceType: vrlink/VRLINKQ_HandTracker_Right
    controllerType: svl_hand_interaction_augmented
    inputProfilePath: {vrlink}/input/svl_hand_interaction_augmented_input_profile.json

Requires SteamVR beta 2.8.4 or the files wont be there. Something of note is theres something strange about the controller models because they got them to always follow the laser orientation, (which for instance VRChat gets wrong when they render them they are pointing straight up and follow the wrist like a normal controller)

zmerp commented 2 months ago

We're still missing the strings for Valve Index HMD emulation. We need help from someone that owns a Valve Index to extract those. You can use this tool: https://github.com/lackofbindings/SlimeVR-Feeder-App

shinyquagsire23 commented 2 weeks ago

FWIW the "1PASH" serial seems to be a Virtual Desktop thing, all my Quest Pro devices (headset, controllers) have different serials starting with "230Y". I'll probably copy the VRLink hands though, didn't realize they used the shuttlecock model for that