Skip to content

Commit 65ea5b1

Browse files
DeandreTDeandre
andauthored
feat: Pico 4 headset emulation (#3140)
* Add Pico 4 emulation mode * Update props to match controllers --------- Co-authored-by: Deandre <gitlab.deandre@phial.xyz>
1 parent dc3abf3 commit 65ea5b1

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

alvr/server_openvr/src/props.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,7 @@ fn serial_number(device_id: u64) -> String {
124124
HeadsetEmulationMode::Quest1 => "1PASH0X0X00000".into(),
125125
HeadsetEmulationMode::Quest2 => "1WMHH000X00000".into(),
126126
HeadsetEmulationMode::QuestPro => "230YC0XXXX00XX".into(),
127+
HeadsetEmulationMode::Pico4 => "VRLINKHMDPICO4".into(),
127128
HeadsetEmulationMode::Vive => "HTCVive-001".into(),
128129
HeadsetEmulationMode::Custom { serial_number, .. } => serial_number.clone(),
129130
}
@@ -291,6 +292,15 @@ pub extern "C" fn set_device_openvr_props(instance_ptr: *mut c_void, device_id:
291292
set_prop(DriverVersionString, "1.55.0");
292293
set_oculus_common_headset_props();
293294
}
295+
HeadsetEmulationMode::Pico4 => {
296+
set_prop(TrackingSystemNameString, "vrlink");
297+
set_prop(ModelNumberString, "PICO 4");
298+
set_prop(ManufacturerNameString, "ByteDance");
299+
set_prop(RenderModelNameString, "generic_hmd");
300+
set_prop(RegisteredDeviceTypeString, "pico");
301+
set_prop(DriverVersionString, "");
302+
set_icons("{vrlink}/icons/headset_pico4");
303+
}
294304
HeadsetEmulationMode::Vive => {
295305
set_prop(TrackingSystemNameString, "Vive Tracker");
296306
set_prop(ModelNumberString, "ALVR driver server");

alvr/session/src/settings.rs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -872,6 +872,8 @@ pub enum HeadsetEmulationMode {
872872
Quest2,
873873
#[schema(strings(display_name = "Quest Pro"))]
874874
QuestPro,
875+
#[schema(strings(display_name = "Pico 4"))]
876+
Pico4,
875877
Vive,
876878
Custom {
877879
serial_number: String,

0 commit comments

Comments
 (0)