diff options
| author | emmauss <emmausssss@gmail.com> | 2018-12-07 22:59:38 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-12-07 22:59:38 +0200 |
| commit | f1529b1bc2bafbdadcf4d4643aa5716414097239 (patch) | |
| tree | fef5559a16983e8b5b936b3b9598b3ea2e7f4edb | |
| parent | 5b4382f459c1dcbd55dbc804ac1bce93fbba41c1 (diff) | |
Fix homebrew input (#528)
* fix homebrew input
| -rw-r--r-- | Ryujinx.HLE/Input/Hid.cs | 2 | ||||
| -rw-r--r-- | Ryujinx.HLE/Input/HidNpadController.cs | 6 | ||||
| -rw-r--r-- | Ryujinx.HLE/Input/HidProController.cs | 6 | ||||
| -rw-r--r-- | Ryujinx/Ui/GLScreen.cs | 2 |
4 files changed, 15 insertions, 1 deletions
diff --git a/Ryujinx.HLE/Input/Hid.cs b/Ryujinx.HLE/Input/Hid.cs index c35fb07c..0154fc63 100644 --- a/Ryujinx.HLE/Input/Hid.cs +++ b/Ryujinx.HLE/Input/Hid.cs @@ -39,7 +39,7 @@ namespace Ryujinx.HLE.Input PrimaryController.Connect(controllerId); } - private HidControllerButtons UpdateStickButtons( + public HidControllerButtons UpdateStickButtons( HidJoystickPosition leftStick, HidJoystickPosition rightStick) { diff --git a/Ryujinx.HLE/Input/HidNpadController.cs b/Ryujinx.HLE/Input/HidNpadController.cs index 90cffbdd..45dee3ca 100644 --- a/Ryujinx.HLE/Input/HidNpadController.cs +++ b/Ryujinx.HLE/Input/HidNpadController.cs @@ -81,6 +81,12 @@ Device.Memory.WriteInt64(controllerOffset + 0x28, (Connected ? (uint)HidControllerConnState.ControllerStateConnected : 0) | (_currentLayout == HidControllerLayouts.HandheldJoined ? (uint)HidControllerConnState.ControllerStateWired : 0)); + + controllerOffset = WriteInput(buttons, leftStick, rightStick, HidControllerLayouts.Main); + + Device.Memory.WriteInt64(controllerOffset + 0x28, + (Connected ? (uint)HidControllerConnState.ControllerStateWired : 0) | + (uint)HidControllerConnState.ControllerStateWired); } } } diff --git a/Ryujinx.HLE/Input/HidProController.cs b/Ryujinx.HLE/Input/HidProController.cs index f08fb085..e30e9172 100644 --- a/Ryujinx.HLE/Input/HidProController.cs +++ b/Ryujinx.HLE/Input/HidProController.cs @@ -39,6 +39,12 @@ Device.Memory.WriteInt64(controllerOffset + 0x28, (Connected ? (uint)HidControllerConnState.ControllerStateConnected : 0) | (_wired ? (uint)HidControllerConnState.ControllerStateWired : 0)); + + controllerOffset = WriteInput(buttons, leftStick, rightStick, HidControllerLayouts.Main); + + Device.Memory.WriteInt64(controllerOffset + 0x28, + (Connected ? (uint)HidControllerConnState.ControllerStateWired : 0) | + (uint)HidControllerConnState.ControllerStateWired); } } } diff --git a/Ryujinx/Ui/GLScreen.cs b/Ryujinx/Ui/GLScreen.cs index 02335999..e3a6d299 100644 --- a/Ryujinx/Ui/GLScreen.cs +++ b/Ryujinx/Ui/GLScreen.cs @@ -174,6 +174,8 @@ namespace Ryujinx Dy = rightJoystickDy }; + currentButton |= _device.Hid.UpdateStickButtons(leftJoystick, rightJoystick); + bool hasTouch = false; //Get screen touch position from left mouse click |
