d/wmr: Add HP VR1000 support

This commit is contained in:
Christoph Haag 2022-09-19 18:16:21 +00:00 committed by Jakob Bornecrantz
parent 3d366b9243
commit 196bf24276
4 changed files with 11 additions and 2 deletions

View file

@ -35,6 +35,7 @@ extern "C" {
#define WMR_CONTROLLER_RIGHT_PRODUCT_STRING "Motion controller - Right" #define WMR_CONTROLLER_RIGHT_PRODUCT_STRING "Motion controller - Right"
#define HP_VID 0x03f0 #define HP_VID 0x03f0
#define VR1000_PID 0x0367
#define REVERB_G1_PID 0x0c6a #define REVERB_G1_PID 0x0c6a
#define REVERB_G2_PID 0x0580 #define REVERB_G2_PID 0x0580
#define REVERB_G2_CONTROLLER_PID 0x066a /* On 0x045e Microsoft VID */ #define REVERB_G2_CONTROLLER_PID 0x066a /* On 0x045e Microsoft VID */

View file

@ -90,6 +90,7 @@ wmr_hmd_screen_enable_odyssey_plus(struct wmr_hmd *wh, bool enable);
const struct wmr_headset_descriptor headset_map[] = { const struct wmr_headset_descriptor headset_map[] = {
{WMR_HEADSET_GENERIC, NULL, "Unknown WMR HMD", NULL, NULL, NULL}, /* Catch-all for unknown headsets */ {WMR_HEADSET_GENERIC, NULL, "Unknown WMR HMD", NULL, NULL, NULL}, /* Catch-all for unknown headsets */
{WMR_HEADSET_HP_VR1000, "HP Reverb VR Headset VR1000-1xxx", "HP VR1000", NULL, NULL, NULL}, /*! @todo init funcs */
{WMR_HEADSET_REVERB_G1, "HP Reverb VR Headset VR1000-2xxx", "HP Reverb", wmr_hmd_activate_reverb, {WMR_HEADSET_REVERB_G1, "HP Reverb VR Headset VR1000-2xxx", "HP Reverb", wmr_hmd_activate_reverb,
wmr_hmd_deactivate_reverb, wmr_hmd_screen_enable_reverb}, wmr_hmd_deactivate_reverb, wmr_hmd_screen_enable_reverb},
{WMR_HEADSET_REVERB_G2, "HP Reverb Virtual Reality Headset G2", "HP Reverb G2", wmr_hmd_activate_reverb, {WMR_HEADSET_REVERB_G2, "HP Reverb Virtual Reality Headset G2", "HP Reverb G2", wmr_hmd_activate_reverb,

View file

@ -34,6 +34,7 @@ extern "C" {
enum wmr_headset_type enum wmr_headset_type
{ {
WMR_HEADSET_GENERIC, WMR_HEADSET_GENERIC,
WMR_HEADSET_HP_VR1000,
WMR_HEADSET_REVERB_G1, WMR_HEADSET_REVERB_G1,
WMR_HEADSET_REVERB_G2, WMR_HEADSET_REVERB_G2,
WMR_HEADSET_SAMSUNG_XE700X3AI, WMR_HEADSET_SAMSUNG_XE700X3AI,

View file

@ -56,14 +56,20 @@ check_and_get_interface(struct xrt_prober_device *device,
{ {
switch (device->vendor_id) { switch (device->vendor_id) {
case HP_VID: case HP_VID:
if (device->product_id != REVERB_G1_PID && device->product_id != REVERB_G2_PID) { if (device->product_id != REVERB_G1_PID && device->product_id != REVERB_G2_PID &&
device->product_id != VR1000_PID) {
return false; return false;
} }
if (device->product_id == REVERB_G1_PID) if (device->product_id == REVERB_G1_PID)
*out_hmd_type = WMR_HEADSET_REVERB_G1; *out_hmd_type = WMR_HEADSET_REVERB_G1;
else else if (device->product_id == REVERB_G2_CONTROLLER_PID)
*out_hmd_type = WMR_HEADSET_REVERB_G2; *out_hmd_type = WMR_HEADSET_REVERB_G2;
else if (device->product_id == VR1000_PID)
*out_hmd_type = WMR_HEADSET_HP_VR1000;
else
return false;
*out_interface = 0; *out_interface = 0;
return true; return true;