kozec / sc-controller

User-mode driver and GTK3 based GUI for Steam Controller
GNU General Public License v2.0
1.53k stars 129 forks source link

Mouse Region movement not recognized by Dolphin Emulator #452

Open Kierek opened 5 years ago

Kierek commented 5 years ago

Hi,

After setting Mouse Region in SC-Controller I'm unable to use it with Dolphin Emulator. Mouse Region itself works fine in Desktop, but in Dolphin nothing happens and I have no idea how to set it right.

When using Steam Controller as Mouse (trackball) Dolphin recognizes mouse movement as XInput2/0/Virtual core pointer device with X-, X+, Y-, Y+ Axis; everything works as intended.

After setting SC as Mouse Region no movement is detected. Steam Controller evdev device reports some axes, but none of them responds.

zrzut ekranu z 2019-02-13 18-29-42

Besides, you're supposed to set mouse input as Cursor, not Axis, when you want to have mouse absolute position. https://forums.dolphin-emu.org/Thread-absolute-mouse-position

kozec commented 5 years ago

1st weird thing is that there shouldn't be any Steam Controller evdev device visible while sc-controller is running.

But actual problem here is that when mouse region is used, sc-controller moves mouse cursor using xlib calls and Doplhin is probably not checking for that.

Kierek commented 5 years ago

1st weird thing is that there shouldn't be any Steam Controller evdev device visible while sc-controller is running.

If I remember correctly it was initially detected as Xbox Controller evdev device, but since it conflicted with my original Xbox Controllers in Dolphin I've changed Steam Controller's name in sc-controller config.

But actual problem here is that when mouse region is used, sc-controller moves mouse cursor using xlib calls and Doplhin is probably not checking for that.

So, is it fixable by you or should I report bug in dolphin? It's probably worth mentioning that it works fine when using Mouse Region with Steam application.

kozec commented 5 years ago

Probably not fixable without big rewrite of part that keeps mouse cursor "in region". It would help to know how Doplhin reads inputs (why is it not picking on generated movements) and what exactly are you trying to do.

Kierek commented 5 years ago

and what exactly are you trying to do.

I'm trying to replicate this config: https://www.youtube.com/watch?v=INAIsXPPcy8

Basically all that's missing is mouse region. Maybe it could work with simulating mouse region by setting pad as stick and then getting it's absolute position, I have to try this.

It would help to know how Doplhin reads inputs (why is it not picking on generated movements)

I'm not sure how I could help besides asking on Dolphin forum and pointing them to this issue. What I've found is that after moving my mouse cursor with

xdotool mousemove 1200 1200

it's also not detected, not until I move my cursor a little bit by hand.