PointCtrl in BMS
-
With native VR support coming, I thought it was time to start this thread.
First, let me start with what PointCtrl is. It is a very clever finger tracking unit. Think of TrackIR thats camera mounts on the VR headset and you wear two active dots with buttons on your index fingers. These small active dots’ buttons quite intuitively allow you to click on things in the virtual cockpit. As a long time home cockpit builder, I can tell you this melds VR and virtual cockpits into an amazing symphony. You look around the cockpit and you put your finger on the switch where it looks to be in the headset and hit the clicky buttons to move the switches. Plus it works with any aircraft’s cockpit. I had planned to rebuild a more thorough home cockpit, but PointCtrl stopped me. I determined with it in VR all I needed was a basic button box for the switches/levers I needed to reach often without looking at them (like gear, Master Arm, etc.). It feels so natural to use the switches, knobs, and buttons in every VR cockpit you sit in (in DCS VR).
On the hardware integration side, the very clever thing about PointCtrl is that is works on mouse emulation. No software integration is required, unlike other hand tracking solutions. This 3d world into 2d mouse movement works shockingly well.
I’ve played with the current lots of issues BMS in VR work around of the Vorpx VR wrapper/virtual desktop. There are some big issues there with PointCtrl’s movement being very amplified almost like it is at a much higher tracking resolution/DPI than what is shown on screen, but I really hope that the native BMS VR support may fix these issues.
Another interesting feature Aux button panels that attach to the side of your VR headset and add 6 functions. Originally these were the QWERTY but now with a firmware update with the V2 hardware, these can be DX buttons and do show up in the Alternative Launcher.
Edit to add:
A couple of videos of how it works. The support boards aren’t needed but does give you a physical stop so you don’t feel like you are just hanging out your hand in space if you like and a way to steady your hand if you want:
-
@Snake122 if you recalibrate your PointCTRL in BMS does that help the apparent movement amplification?
-
@SOBO-87 I forgot to tag you in this. I did send you a “chat” DM as they call it here now yesterday. No, unfortunately but I haven’t tried as hard about it because of what the state of BMS VR has been. I did talk to Miles (the developer of PointCtrl for everyone else) about it in May of 2021 when I was doing a round of BMS in VR experiments.
-
@Snake122 we shall see what’s it like with native Vr support in 4.37. Probably not much point experimenting too much till then. It’ll probably change the mouse mapping a bit. But hopefully a recalibration inside BMS would solve it.
-
@SOBO-87 agreed.
Do you have a V1 or V2 PointCtrl?
-
@Snake122 V1 currently.
-
Very quick first impression is the same issue exists in 4.37. The cursor movement is very magnified. Popping over to Miles’ discord.
-
@Snake122 Thanks! Would be happy to see PointCTRL support in BMS.
-
Update of a couple of posts from PointCTRL discord:
Miles the PointCTRL creator: “Fired it up BMS and it looks like it’s not natively supporting absolute mouse coordinates. Its the exact same behavior as MSFS. I am going to try a few different things on the HID descriptors for MSFS and BMS,”Fred (I believe he’s @fredemmott here):
"The way mouse support works in MSFSUntil recently, it was pretty much entirely a no-go
PointCTRL isn’t quite pretending to be a mouse: it’s pretending to be a graphics tablet/touch screen.
A mouse sends “i moved 1cm in the last second” (movement, not position)
A touch screen/tablet/pointctrl sends “My exact position is (x, y)”
MSFS only supported relative movement (mice) until very recently. It’s now got some absolute position (tablets/touchscreen) supports, but it’s full of quirks, and not really usable."
"HTCC right now uses OpenXR for:
- quest hand tracking (as an alternative to pointctrl). This is only possible with OpenXR. VirtualDesktop also does controller emulation with hand tracking, but that’s not usable for this - as far as anything on the PC can tell, it’s just a controller.
- automatic calibration (field of view, center point etc)
- VR controller emulation"
I’m definitely not going to make it support steamvr as well.
What I might do is make a separate ‘tablet mode’ program that comes as part of HTCC, with an enhanced calibration.
That would allow HTCC to work both with DCS without opencomposite (but only in touch screen mode, not virtual controller mode), and BMS."
HTCC and OpenComposite are his work with the OpenXR stuff and allows a work around for PointCTRL in MSFS but that’s about all the more I know and might not be 100% correct there. -
@Snake122 How do I know if I have V1 or V2 of PointCTRL?
-
@Snake122 said in PointCtrl in BMS:
Update of a couple of posts from PointCTRL discord:
Thanks @Snake122 , I put myself on the PointCTRL “pre-order” list last week, hope he gets this sorted (or someone gets OpenXR integrated). Do you have an Invite URL for the Discord?
-
@Atlas current V2s have a nicer blue plastic body. Original V2s FCUs (finger buttons) that are black are a little slimmer and the HMU usually doesn’t have the white reset button towards the back. V1 FCUs have a little reset style button under the LED.
@Icer the wait will be brutal but they are well worth it! https://discord.gg/vxESrKuG
-
FWIW, if using RawInput, this should show up as WM_INPUT with a RAWMOUSE with MOUSE_MOVE_ABSOLUTE set. If using classic WM_MOUSEMOVE, data should already be good - but those (x, y) need to be treated as an absolute rotation to project, not as an offset
It doesn’t look like there’s true absolute mouse support in DirectInput - while the axis can be set to absolute mode, this just makes DirectInput emulate it by keeping a count.
If y’all have a wacom/huion/similar tablet, that works essentially the same way as a PointCTRL as far as the game is concerned - if absolute mode is working correctly, there should be a rectangular region that maps to your FOV, which isn’t the case in BMS.
As a side note, the mouse shouldn’t necessarily map to one eye buffer; while DCS shows one eye in the mirror window, the ‘input FOV’ for the mouse/tablet over that window is the combined FOV - so 2* max(abs(leftfov), abs(rightfov)). This lets you use the mouse over your full FOV for both eyes, not just the one currently in the mirror window. This means that the windows cursor doesn’t match up with the in-game cursor if you move it from the outside the window to in the window, but gives a better in-game experience (regardless of if mouse or tablet)
-
@Snake122 thanks!
With 4.37 now out, how does PointCTRL work with BMS?
-
@Atlas It doesn’t Currently.
-
@SOBO-87 is it something that the BMS have to work at to incorporate it? Or the PointCTRL dev?
-
This post is deleted! -
@Atlas I think it’s something in the way BMS maps the mouse as discussed above that needs to be adjusted. Or at least an alternate option set-up for…
-
Yeah, word from Miles is that it will take some work like MSFS does because of how it as looser mouse area sl to speak. Fred is the creator of OpenComposite and OpenKneeboard and has made it work in MSFS but via OpenXR, not SteamVR. So we are waiting.
-