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 HP_VID 0x03f0
#define VR1000_PID 0x0367
#define REVERB_G1_PID 0x0c6a
#define REVERB_G2_PID 0x0580
#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[] = {
{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_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,

View file

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

View file

@ -56,14 +56,20 @@ check_and_get_interface(struct xrt_prober_device *device,
{
switch (device->vendor_id) {
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;
}
if (device->product_id == REVERB_G1_PID)
*out_hmd_type = WMR_HEADSET_REVERB_G1;
else
else if (device->product_id == REVERB_G2_CONTROLLER_PID)
*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;
return true;