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

Handle gyro from external gamepads #41

Open
d0k3 opened this issue Mar 7, 2023 · 10 comments
Open

Handle gyro from external gamepads #41

d0k3 opened this issue Mar 7, 2023 · 10 comments
Assignees
Labels
enhancement New feature or request

Comments

@d0k3
Copy link

d0k3 commented Mar 7, 2023

This plugin really does work like a charm, thanks a lot for your work!

Right now, there's no easy way using gyro input from external gamepads, like, for example Switch Pro Controllers. The Steam Deck software recognizes gyro input and allows to either ignore it or map it to something else (mouse or stick), but there's no easy way to let the gyro input be handled by emulators.

Would it be possible for SteamDeckGyroDSU to also handle these inputs, possibly depending on some conditions? Meaning: if a Bluetooth gamepad is connected, ignore the Steam Decks internal gyro and use the gamepad gyro instead.

@kmicki kmicki added the enhancement New feature or request label May 4, 2023
@kmicki kmicki changed the title Features request: handle gyro from external gamepads Handle gyro from external gamepads Oct 31, 2023
@kmicki
Copy link
Owner

kmicki commented Oct 31, 2023

List of gamepads with gyro to handle:

  • Steam Controller (the easiest to implement for now?)
  • Switch Pro
  • Switch Joy-Cons
  • Dualshock 4
  • Dualsense
    ...

Features:

  • Manual switching between gyro sources
  • Automatic switching when external gamepad connected (+ config for that behavior)

@d0k3
Copy link
Author

d0k3 commented Oct 31, 2023

Nice, progress!

@chazragg
Copy link

I'm not sure if this will help but emudeck does have a guide on enabling Gyro for external controllers
https://emudeck.github.io/emulators/steamos/yuzu/#how-to-configure-gyro-with-external-controllers

I have tried it personally and managed to get it working with Yuzu in desktop mode but can never get it to work in game mode on my steamdeck. the controller is 8bitdo lite 2

@d0k3
Copy link
Author

d0k3 commented Oct 31, 2023

That tutorial, I actually figured that out on my own a while ago. However, this has some disadvantages, it basically forces you to go to Desktop mode and change your Yuzu configuration every time you switch from docked play to mobile play and vice versa. Also when you change gamepads, etc...

In short, the way described there is not really an option for me.

@Krutonium
Copy link

https://github.com/FrogTheFrog/steam-gyro-for-cemuhook May be helpful for Steam Controller

@Lazorne
Copy link

Lazorne commented Jan 22, 2024

https://github.com/v1993/linuxmotehook2 is also something that might be of interest for you as it handles the the Wii Remotes.

@kmicki is the thought of this for it to be handled with Steam Input support as well for at least he standard controllers?

If you need someone to test all the controllers just send us PM on Discord as we got the most of them and are doing ourself several input experiments with them.

Or if there is anything else we can assist you with.

We are experimenting with trying to build your nice application into RetroDECK:

feat/gyro

Best wishes on your efforts
//RetroDECK Team

@EPOCHvoyager
Copy link

I have to add that now both FrogTheFrog's application and Ryochan7's fork of sc-controller have been archived. This project is currently the only active endeavor to get the Steam Controller's gyro directly to applications towards the foreseeable future.

@kmicki kmicki self-assigned this Mar 28, 2024
@kmicki kmicki pinned this issue Mar 28, 2024
@kidoman
Copy link

kidoman commented Apr 6, 2024

Hey @kmicki thanks for your great work. I wanted to passthrough my Dualsense Edge's gyro through to Y*** instead of fighting Steam Input, and stumbled upon the world of CemuHook. It seems like you have pinned the issue last week. When are you planning to work on this? I don't mean to pressure you, just that I thought maybe I could contribute this feature for the Edge, but don't want to duplicate effort if you already picked it up.

@kmicki
Copy link
Owner

kmicki commented Apr 11, 2024

Hello @kidoman. Unfortunately I am not able to plan anything in time. I work on issues when I am able to.
You are free to take a look at the linked branch (multi-device). Some refactoring was done there and the steam deck specific code has been extracted into separate classes (look into inc/cemuhook/sdcontroller, src/cemuhook/sdcontroller). The aim would be to create similar classes (implementing DataSource interface) for other controllers. Communication with a HID device has also been made independent of the Steam Deck HID implementation (HidDevReader class), so it may be possible to use it for other controllers.

I appreciate all the efforts on contributing to the project. If I get to work on any specific controller myself, I will make sure to communicate it in this issue.

@michael-pfister
Copy link

michael-pfister commented Oct 18, 2024

would also love to see this implemented, unfortunately I couldn't make anything of the code as was suggested by @kmicki

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

When branches are created from issues, their pull requests are automatically linked.

8 participants