open [13132] External motion controls #13132

Open
opened 2026-01-02 20:43:16 -03:00 by Accord · 0 comments
Owner

Branch: __refs_pull_13132_head

Labels: request

dimasah901 opened issue at 2024-02-23 15:18:

Is there an existing issue for this?

  • I have searched the existing issues

What feature are you suggesting?

I suggest adding a feature that allows to use motion controls of external controllers (such as joycons) instead of the device's gyroscope and accelerometer.

Why would this feature be useful?

An example of why this feature will be useful is the Just Dance series that uses the motion controls for tracking moves. Currently you can connect a joycon and use it as the controller, but the motion controls do not work, so you need to dance with the phone/tablet in your hand, which can be really hard because you (most of the time) will not be able to see the moves on the screen. Another example is the joy con ring fit accessory that is not usable and the 1-2-Switch game that sometimes uses the motion controls.

liamwhite commented at 2024-02-23 15:22:

Does android even support reading from external motion devices?

dimasah901 commented at 2024-02-23 15:42:

It looks like it does.
https://github.com/lyonlui/BetterJoy_for_Android
Edit: you need to rebuild the OS for it to work, I'll try to search for something else.

dimasah901 commented at 2024-02-23 15:57:

It seems like the hidraw that is needed to communicate with joycons is not supported on android so you cannot use it without system modifications (root). It could be a root-only feature. So currently the only way to use external motion controls is cemuhook.

liamwhite commented at 2024-02-23 16:11:

Yeah that's what I thought. I can't see a lot of value in adding a root-only feature because only a tiny fraction of users would be able to use it.

Weab-chan commented at 2024-02-23 16:14:

Yeah that's what I thought. I can't see a lot of value in adding a root-only feature because only a tiny fraction of users would be able to use it.
github.com/moonlight-stream/moonlight-android@3aab9eb13b/app/src/main/java/com/limelight/binding/input/ControllerHandler.java (L763)
Some device are supported without root. (seems like some sony and nintendo controller)
Also, looks like support for individual joycon was added in android 11 on pixel.. sadly still need root to make them behave like 1 controller

image

dimasah901 commented at 2024-02-23 16:56:

What about cemuhook support?

liamwhite commented at 2024-02-23 17:19:

My understanding is that cemuhook is already running on android, just needs to be wired up in the frontend

Weab-chan commented at 2024-02-23 17:25:

i doubt cemuhook is doing what you're looking for here..

image

dimasah901 commented at 2024-02-23 17:40:

One way to dance is to use two devices - a phone and a tablet. Or you could have a computer that you cannot run the emulator on but can use an app such as betterjoy to run the cemuhook server.

Weab-chan commented at 2024-02-23 18:17:

i guess just adding cemuhook as a motion source would work, can you get more then one device from that server? how's the latency tho (like 2 different phone?)

dimasah901 commented at 2024-02-24 06:01:

https://github.com/yuzu-emu/yuzu-android/blob/master/src/input_common/input_mapping.cpp mentions cemuhook motion controls.

dimasah901 commented at 2024-02-24 06:28:

I'll try to force yuzu to use cemuhook by changing the config.

dimasah901 commented at 2024-02-24 09:42:

I could not make it use cemuhook.

[Export of Github issue for yuzu-emu/yuzu. Generated on 2024.02.28 at 10:04:32.]

**Branch:** [__refs_pull_13132_head](https://accord.dravee.dev/Accord/yuzu-mirror/src/branch/__refs_pull_13132_head) > **Labels**: `request` #### <div><img width="50" height="50" src="https://avatars.githubusercontent.com/u/93038732?v=4" width="50"></div>[dimasah901](https://github.com/dimasah901) opened issue at [2024-02-23 15:18](https://github.com/yuzu-emu/yuzu/issues/13132): > ### Is there an existing issue for this? > - [X] I have searched the existing issues > ### What feature are you suggesting? > I suggest adding a feature that allows to use motion controls of external controllers (such as joycons) instead of the device's gyroscope and accelerometer. > ### Why would this feature be useful? > An example of why this feature will be useful is the Just Dance series that uses the motion controls for tracking moves. Currently you can connect a joycon and use it as the controller, but the motion controls do not work, so you need to dance with the phone/tablet in your hand, which can be really hard because you (most of the time) will not be able to see the moves on the screen. Another example is the joy con ring fit accessory that is not usable and the 1-2-Switch game that sometimes uses the motion controls. #### <div><img width="50" height="50" src="https://avatars.githubusercontent.com/u/9658600?v=4" width="50"></div>[liamwhite](https://github.com/liamwhite) commented at [2024-02-23 15:22](https://github.com/yuzu-emu/yuzu/issues/13132#issuecomment-1961523929): > Does android even support reading from external motion devices? #### <div><img width="50" height="50" src="https://avatars.githubusercontent.com/u/93038732?v=4" width="50"></div>[dimasah901](https://github.com/dimasah901) commented at [2024-02-23 15:42](https://github.com/yuzu-emu/yuzu/issues/13132#issuecomment-1961558181): > It looks like it does. > https://github.com/lyonlui/BetterJoy_for_Android > Edit: you need to rebuild the OS for it to work, I'll try to search for something else. #### <div><img width="50" height="50" src="https://avatars.githubusercontent.com/u/93038732?v=4" width="50"></div>[dimasah901](https://github.com/dimasah901) commented at [2024-02-23 15:57](https://github.com/yuzu-emu/yuzu/issues/13132#issuecomment-1961582353): > It seems like the hidraw that is needed to communicate with joycons is not supported on android so you cannot use it without system modifications (root). It could be a root-only feature. So currently the only way to use external motion controls is cemuhook. #### <div><img width="50" height="50" src="https://avatars.githubusercontent.com/u/9658600?v=4" width="50"></div>[liamwhite](https://github.com/liamwhite) commented at [2024-02-23 16:11](https://github.com/yuzu-emu/yuzu/issues/13132#issuecomment-1961606106): > Yeah that's what I thought. I can't see a lot of value in adding a root-only feature because only a tiny fraction of users would be able to use it. #### <div><img width="50" height="50" src="https://avatars.githubusercontent.com/u/93067085?u=85494bf825f2c0556c49b9a5ed34a877368d9aad&v=4" width="50"></div>[Weab-chan](https://github.com/Weab-chan) commented at [2024-02-23 16:14](https://github.com/yuzu-emu/yuzu/issues/13132#issuecomment-1961609888): > > Yeah that's what I thought. I can't see a lot of value in adding a root-only feature because only a tiny fraction of users would be able to use it. > https://github.com/moonlight-stream/moonlight-android/blob/3aab9eb13b1f0f0d7c7dc43325e0e22b2a01a0b8/app/src/main/java/com/limelight/binding/input/ControllerHandler.java#L763 > Some device are supported without root. (seems like some sony and nintendo controller) > Also, looks like support for individual joycon was added in android 11 on pixel.. sadly still need root to make them behave like 1 controller ![image](https://github.com/yuzu-emu/yuzu/assets/93067085/aad84a63-1749-40a3-a6f7-e22e321b1dea) #### <div><img width="50" height="50" src="https://avatars.githubusercontent.com/u/93038732?v=4" width="50"></div>[dimasah901](https://github.com/dimasah901) commented at [2024-02-23 16:56](https://github.com/yuzu-emu/yuzu/issues/13132#issuecomment-1961674430): > What about cemuhook support? #### <div><img width="50" height="50" src="https://avatars.githubusercontent.com/u/9658600?v=4" width="50"></div>[liamwhite](https://github.com/liamwhite) commented at [2024-02-23 17:19](https://github.com/yuzu-emu/yuzu/issues/13132#issuecomment-1961707421): > My understanding is that cemuhook is already running on android, just needs to be wired up in the frontend #### <div><img width="50" height="50" src="https://avatars.githubusercontent.com/u/93067085?u=85494bf825f2c0556c49b9a5ed34a877368d9aad&v=4" width="50"></div>[Weab-chan](https://github.com/Weab-chan) commented at [2024-02-23 17:25](https://github.com/yuzu-emu/yuzu/issues/13132#issuecomment-1961717012): > i doubt cemuhook is doing what you're looking for here.. ![image](https://github.com/yuzu-emu/yuzu/assets/93067085/dcb3962c-d129-438b-aa41-70734c14941d) #### <div><img width="50" height="50" src="https://avatars.githubusercontent.com/u/93038732?v=4" width="50"></div>[dimasah901](https://github.com/dimasah901) commented at [2024-02-23 17:40](https://github.com/yuzu-emu/yuzu/issues/13132#issuecomment-1961736556): > One way to dance is to use two devices - a phone and a tablet. Or you could have a computer that you cannot run the emulator on but can use an app such as betterjoy to run the cemuhook server. #### <div><img width="50" height="50" src="https://avatars.githubusercontent.com/u/93067085?u=85494bf825f2c0556c49b9a5ed34a877368d9aad&v=4" width="50"></div>[Weab-chan](https://github.com/Weab-chan) commented at [2024-02-23 18:17](https://github.com/yuzu-emu/yuzu/issues/13132#issuecomment-1961786888): > i guess just adding cemuhook as a motion source would work, can you get more then one device from that server? how's the latency tho (like 2 different phone?) #### <div><img width="50" height="50" src="https://avatars.githubusercontent.com/u/93038732?v=4" width="50"></div>[dimasah901](https://github.com/dimasah901) commented at [2024-02-24 06:01](https://github.com/yuzu-emu/yuzu/issues/13132#issuecomment-1962268977): > https://github.com/yuzu-emu/yuzu-android/blob/master/src/input_common/input_mapping.cpp mentions cemuhook motion controls. #### <div><img width="50" height="50" src="https://avatars.githubusercontent.com/u/93038732?v=4" width="50"></div>[dimasah901](https://github.com/dimasah901) commented at [2024-02-24 06:28](https://github.com/yuzu-emu/yuzu/issues/13132#issuecomment-1962274439): > I'll try to force yuzu to use cemuhook by changing the config. #### <div><img width="50" height="50" src="https://avatars.githubusercontent.com/u/93038732?v=4" width="50"></div>[dimasah901](https://github.com/dimasah901) commented at [2024-02-24 09:42](https://github.com/yuzu-emu/yuzu/issues/13132#issuecomment-1962312547): > I could not make it use cemuhook. > ------------------------------------------------------------------------------- > [Export of Github issue for [yuzu-emu/yuzu](https://github.com/yuzu-emu/yuzu). Generated on 2024.02.28 at 10:04:32.]
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Accord/yuzu-mirror#13132
No description provided.