Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Real PS Move Handler #15788

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

Conversation

Megamouse
Copy link
Contributor

@Megamouse Megamouse commented Jul 10, 2024

Changes

  • Adds a "Real" Move handler to the IO tab in the settings (uses players 7,6,5 and 4, just like the "Fake" move).
  • Adds real PS Move camera tracking (well, as good as I was able to for now).
    Adds a tracker configuration dialog for setting up the correct LED colors and thresholds etc.
  • Adds a "Real" PS Move emulated USB device config similar to the "Fake" PS Move device config.
    This is needed because the real devices are basically also just virtual DS3s and can be mapped anyway you want.
  • Adds a new HID pad handler for the PS Move.
    You need to pair your PS Move on Windows first (see below).
    It only works properly while the device is not connected via USB. I haven't had the patience to fix that.
  • Adds support for the PS Move CECH-ZCM1 (that's the PS3 version)
  • Adds support for the PS Move CECH-ZCM2 (that's the PS4 version)
  • Adds support for the PS Move Sharpshooter (including remapping the buttons in the pad dialog if used as DS3)
  • Adds support for the PS Move Racing Wheel (including remapping the buttons in the pad dialog if used as DS3)

Pairing a PS Move on Windows

After searching for a while, I think the PS Move Api works best for pairing a PS Move on windows

  • Download the latest PS Move Api release at https://github.com/thp/psmoveapi/releases
  • For me this is: psmoveapi-4.0.12-windows-msvc2017-x64.zip
  • Unzip the file into a new directory (for example into a subdirectory of your download folder)
  • Connect your PS Move to the Windows PC via USB
  • Open the windows command prompt (or powershell) as administrator
  • Navigate to the /bin directory and Run psmove.exe pair
  • Follow all the steps in the terminal until the tool prints "Pairing of #1 succeeded!" and terminates
  • You should only have to pair the device with Windows once, unless you pair it with another device again.
  • If you have any issues, try to follow the pairing guide: https://psmoveapi.readthedocs.io/en/latest/pairing.html

PS EYE

The PS eye doesn't work on windows at the moment.
So you have to connect a different camera and select the PS EYE in the IO config tab.
You also have to select the Qt camera handler.

Fixes #2297

@legend800
Copy link

First, thanks for getting this implemented. I've been waiting for this day (as a big rail shooter fan).

Hopefully, you can fix the compiling issues so testing can begin. I'm on Windows if you have a build available.

For your PS Move write-up, two notes:

  1. Run "./psmove.exe pair" gives me an error. "psmove.exe pair" works fine
  2. You have to move the dll into the exe dir else you'll get this error:
1

I got both my moves paired and ready to go!
2

I'm not clear though what to do with the PS Eye. Do I just plug it in and then it'll work?

@Megamouse Megamouse force-pushed the more_cellGem branch 2 times, most recently from 338ff5a to 6d8ff67 Compare July 19, 2024 19:46
@Megamouse
Copy link
Contributor Author

The PS eye doesn't work on windows at the moment.
So you have to connect a different camera and select the PS EYE in the IO config tab.
You also have to select the Qt camera handler.

@Megamouse Megamouse force-pushed the more_cellGem branch 3 times, most recently from 3fe533e to b596bab Compare July 19, 2024 23:11
@legend800
Copy link

Ok, got the build, followed all the instructions, rpcs3 sees the cam and move but the "PS Move Tracker" tool doesn't trigger the globe to illuminate. The game doesn't show the PS Move cali screen either like there's no move connected. If I switch Move Handler back to "Mouse", the cali screen shows up fine. Log and pics:

RPCS3.log.gz
2024-07-19 23_49_45-Configure Emulated PS Move (Real)
1
2024-07-19 23_49_04-Settings_  NPUB30760  The House Of The Dead_ OVERKILL™ Extended Cut  US DL
2024-07-19 23_49_18-PS3

@Megamouse
Copy link
Contributor Author

You have to configure the hue and the thresholds in the tracker config dialog first.

@Megamouse
Copy link
Contributor Author

Also, it has to be player 7, as mentioned in the first sentence

@legend800
Copy link

Got it. Ok, it's working fine in the tracker config now. Really cool app.

I saw that line but I wasn't sure what "uses players 7,6...." means. Seemed like it was more of a implementation comment vs a user step. I've used fake mouse for years and never selected anything in the "Gamepad Settings" before, so not sure what "just like the Fake move" note means. I would suggest a tweak like:

Adds a "Real" Move handler to the IO tab in the settings. You'll need to go to Gamepad Settings, select any player 4-7, select "PS Move" from the Handlers dropdown and confirm your PS Move is recognized in the Devices selector.

I only have HOD Overkill right now and while I can get the Cali screen to show and btn input is recognized, the sphere never lights up and there's no tracking. This could just be an existing issue with this game, since even with Mouse, similar behavior - buttons work but no tracking like some lib isn't getting initialize on this one. Log attached.

RPCS3.log.gz

@Megamouse
Copy link
Contributor Author

I didn't change anything that actually improves games.
This will only work if the game already works with the other move handlers

@Darkhost1999
Copy link
Contributor

This dialog goes off-screen for my TV. I'm using a 200% scale, 4k res on a 55" display
image
Save, close, apply do not show and I can't resize the dialog. I tried to resize and it does the Windows animation for minimum height already achieved

@hyperionxze
Copy link

hello im new to github. can u please tell me how i can download your build.

@thecatontheceiling
Copy link

thecatontheceiling commented Jul 23, 2024

hello im new to github. can u please tell me how i can download your build.

https://github.com/RPCS3/rpcs3/blob/master/.github%2FPR-BUILD.md

@hyperionxze
Copy link

hello im new to github. can u please tell me how i can download your build.

https://github.com/RPCS3/rpcs3/blob/master/.github%2FPR-BUILD.md

tysm ♥

@hyperionxze
Copy link

image
how do i get it so that the game detects my camera. also why does the light go out when i leave ps move tracker.

@Megamouse
Copy link
Contributor Author

It's explained in the description above.
Also, the ps move needs to be actively updated every 4 seconds or the light goes out on its own.

@hyperionxze
Copy link

It's explained in the description above. Also, the ps move needs to be actively updated every 4 seconds or the light goes out on its own.

oh sorry about that. despite turning on the camera like mentioned it shows a green screen ingame, whereas the ps tracker works completely fine. do you know as to why?

@spudpiggy
Copy link

spudpiggy commented Jul 28, 2024

image
i got stuck on a cutscene in lbp2 and closed as i assumed it to be a softlock, and then i got this. this is after already getting an ntdll error although idk if it was the same.
something's not right though
EDIT: you can skip the cutscene by clicking not now, it'll still let you through but motion seems to not be working properly. buttons do tho but if i boot up paint my cursor never moves.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

PS Move controller support/emulation
6 participants