rakso20000 / MenuBuster

BeatSaber Plugin to disable VR controller system button when within a song
3 stars 1 forks source link

doesn't work with Oculus Link #1

Open Ceppy82 opened 3 years ago

Ceppy82 commented 3 years ago

It's possible that this is my fault!

SteamVR and Oculus Touch Controller.

Is there a way to check communication between Oculus, SteamVR and Beatsaber? So i could provide more information.

rakso20000 commented 3 years ago

As stated in the README I haven't been able to test it for Rift or Rift S yet. Could you provide further information to what the problem is. Does the game crash or freeze? Or does the system button simply not get disabled? Is there any error message?

Ceppy82 commented 3 years ago

Simply not disabled. :)

I've read that you can only test it with the index. That's why I started this Issue. :) (So more users can use this mod)

I use Quest with Oculus Link (wired PCVR). SteamVR should then recognize it as RiftS.

I could test it with VirtualDesktop (Wireless PCVR). In this case, I think the communication between the controller and SteamVR is different.

Is there a debug-option i can activate for more logging/information? If not, I can try a modified (debug) DLL that you provide.

_latest.log:

[DEBUG @ 20:46:35 | MenuBuster] Logger initialized. [INFO @ 20:46:36 | MenuBuster] Successfully injected MenuBusterCore [INFO @ 20:47:38 | MenuBuster] Disabling system button [INFO @ 20:50:27 | MenuBuster] Reenabling system button [INFO @ 20:55:38 | MenuBuster] Disabling system button [INFO @ 20:59:21 | MenuBuster] Reenabling system button [INFO @ 21:00:11 | MenuBuster] Disabling system button [INFO @ 21:03:05 | MenuBuster] Reenabling system button ...

rakso20000 commented 3 years ago

Unfortunately there is no debug option but this debug dll should log to %appdata%\MenuBuster.log MenuBuster.zip

Try using the system button in a song and paste the output here

Ceppy82 commented 3 years ago

Oculus Link - SteamVR.zip SteamVR --> Beat Saber (Steam Version) --> Solo --> Song started --> Oculus Button (Left Controller) pressed --> Steam Dashboard pops up

I can also test the behavior of the virtual desktop variant if you want

rakso20000 commented 3 years ago

The core dll determines whether to suppress button events based on a return address. This address seems to be different for you. Make sure you have the latest version of steamvr installed. If this address is simply different for oculus devices I'd have to implement automatically determining the correct address.

Ceppy82 commented 3 years ago

SteamVR 1.13.10 (1594444218) installed

If I can help you in any way, let me know.

rakso20000 commented 3 years ago

Could you see if it works with this version: https://github.com/rakso20000/MenuBuster/releases/tag/v1.1.0

I've removed the return address check.

Ceppy82 commented 3 years ago

Will do! :)

Ceppy82 commented 3 years ago

still not working :(

rakso20000 commented 3 years ago

Try this. Log will be at same location MenuBuster.zip

Ceppy82 commented 3 years ago

menubuster oculus link.zip

at first, I pressed the button for steam dash muliple times (pops up)

then many of the other ones :)

If you want, I can record exactly when I pressed each button

rakso20000 commented 3 years ago

Hmm, it seems like you have different button codes (especially your system button has a different code) from the devices it worked with. I might add a config in the future where you could specify the button code.

Ceppy82 commented 3 years ago

That would be very nice of you. :)

But, shouldn't it be possible for Beat Saber to recognize both?

Simple "or" logic?! (no need for a config) Or are there overlaps that I don't know about and that would cause problems?

It only has to be differentiated the first time per session. Remember the recognized variant for the rest of the session and only use this one.

Is just a thought of mine

I don't want to talk you into your own approach! :)

rakso20000 commented 3 years ago

There may be overlaps. It's pretty hard to analyze, especially how it behaves on different HMDs as I only have access to one. And if something goes wrong it could pretty much just crash SteamVR without any explanation. Also, I'm not even sure which code is your system button. It would either take some trial and error or I could try building a tool into the plugin for you to figure it out yourself.

Ceppy82 commented 3 years ago

I would be fine with trial and error.

either different dll or with a config.

You can also provide me with a small snippet of code (intercepting input), then I will put something together.

Depending on what is more suitable for you.