RaceMenu VR Update (Patreon)
Content
As I have reached the headset goal, I'll provide a bit of an update:
I already purchased SkyrimVR and did some preliminary work to fix up SKSEVR and the plugin RaceMenu requires (SKEEVR pun not intended) prior to ordering the headset. It is currently in a non-crashing state and is mostly functional.
I ordered and received the headset a few days ago offsetting the remaining cost from my own pocket, when I receive the Patreon payout it will recoup the cost. This was a bit of a journey because I am a Canadian citizen and at the time I ordered Steam did not offer shipping to Canada. Which they now do :( if only I waited.
Here's a photo of the unboxing:

When I first ran SkyrimVR I realized how dire things are with the state Bethesda left this in. I'd very much like to fix everything wrong but for now I am focused on getting RaceMenu VR to actually work.
More on that topic:
I noticed that Motion controllers are not usable as Point-to-Click in Skyrim and with the amount of button mappings in RaceMenu there simply are not enough buttons on a VR controller to map everything to and even if there were it appears the menu does not even receive half of these bindings due to some strange hardcoded input filter.
I managed to force enable the cursor again which to my surprise the game is already projecting the cursor location onto the menu from the Index Controllers.

Today I was able to remove the hardcoded filter of certain button actions (Trigger did nothing in this menu) and started fixing up SKSEVR code, particularly GetMappedKey. This function is mainly used by SkyUI but also RaceMenu as much of RaceMenu code is based off the SkyUI library. The GetMappedKey function effectively takes a mapped by action name e.g. "Activate" and provides the appropriate controller related keycode but adjusted to some offset that does not overlap with existing keycodes. The adjusted key code is used to index into a Flash file where each frame on the stage represents the button icon and the frame index correlates to the offset key code. This needed some reverse engineering to figure out how the game actually determines what controllers you're using so that I can do the same to show you the appropriate button icon, so far I have the logic to determine the key code but I need to know the total number of buttons for each supported controller so that I can define offsets and map them to the other icons. I've put this aside for now to focus on navigation of the menu.
With Point-to-Move working I am still lacking Point-to-Click so I spent most of the day tracking down how the game actually does the line-plane intersection and how it sends input to Scaleform to tell it where the cursor is in-case I need to do this manually and fire mouse click events directly to Scaleform. So far it is looking like there won't be an easy way to do this as the menus that do it (MapMenu) are doing it manually and that native code isn't really re-usable. I will also need to decide how to map what button should actually act like click. I've decoded enough of the input system where I could just dynamically inject into the input mappings so I don't really need to edit the controlmapvr.txt that people have been taking a hammer to.
Off Topic: To start I had to get up to speed on what version of OpenVR they use and if upgrading it would be of any benefit with respect to opening up more functionality from the controllers that I have. So far I've seen they use a very old version, prior to the new VRInput interface so acquiring skeletal sensor data isn't going to be achievable without upgrading the VRInput system, fortunately with the help of others we've determined that SteamVR can actually give you a newer interface because OpenVR is just a wrapper to communicate with SteamVR and it's the one who actually gives you the interface object but we ran into issues when trying to actually use it. Apparently you need an action manifest and the version of the interfaces that Skyrim uses are so old they predate these. I shelved this idea and may come back to it later to see if it is feasible to actually change out the input system and use action bindings vs legacy bindings. I've heard of people using workarounds like having a tray app that communicates with SteamVR and forwards the payloads via IPC to the host app but this sounds like a hack.
TL;DR
RaceMenu VR right now doesn't crash, but there will be a lot of work to get navigation functional to actually start using the features. I will fix the broken features as I go.