Added Extra Configuration Options

Added a GamePad_Enable option and GamePad_Index option
This commit is contained in:
John Clemis 2018-06-27 14:25:44 -05:00
parent 0cef1e6b5d
commit 6cc56bfe7e
3 changed files with 46 additions and 33 deletions

View file

@ -1,4 +1,5 @@
using Ryujinx.HLE.Input;
using OpenTK.Input;
using Ryujinx.HLE.Input;
using Ryujinx.HLE.Logging;
using System;
using System.Collections.Generic;
@ -13,6 +14,8 @@ namespace Ryujinx
public static JoyCon FakeJoyCon { get; private set; }
public static float GamePad_Deadzone;
public static bool GamePad_Enable;
public static int GamePad_Index;
public static void Read(Logger Log)
{
@ -30,6 +33,8 @@ namespace Ryujinx
Log.SetEnable(LogLevel.Warning, Convert.ToBoolean(Parser.Value("Logging_Enable_Warn")));
Log.SetEnable(LogLevel.Error, Convert.ToBoolean(Parser.Value("Logging_Enable_Error")));
GamePad_Enable = Convert.ToBoolean(Parser.Value("GamePad_Enable"));
GamePad_Index = Convert.ToInt32 (Parser.Value("GamePad_Index"));
GamePad_Deadzone = (float)Convert.ToDouble (Parser.Value("GamePad_Deadzone"));
string[] FilteredLogClasses = Parser.Value("Logging_Filtered_Classes").Split(',', StringSplitOptions.RemoveEmptyEntries);

View file

@ -19,9 +19,15 @@ Logging_Enable_Error = true
#Filtered log classes, seperated by ", ", eg. `Logging_Filtered_Classes = Loader, ServiceFS`
Logging_Filtered_Classes =
#Controller Device Index
GamePad_Index = 0
#Controller Analog Stick Deadzone
GamePad_Deadzone = 0.05
#Whether or not to enable Controller support
GamePad_Enable = true
#https://github.com/opentk/opentk/blob/develop/src/OpenTK/Input/Key.cs
Controls_Left_FakeJoycon_Stick_Up = 105
Controls_Left_FakeJoycon_Stick_Down = 101

View file

@ -95,7 +95,8 @@ namespace Ryujinx
if (Keyboard[(Key)Config.FakeJoyCon.Right.ButtonR]) CurrentButton |= HidControllerButtons.KEY_R;
if (Keyboard[(Key)Config.FakeJoyCon.Right.ButtonZR]) CurrentButton |= HidControllerButtons.KEY_ZR;
}
if (Config.GamePad_Enable)
{
//Mapping it relative to the positions of the buttons on the controller
GamePadState gamePad = GamePad.GetState(0);
@ -133,6 +134,7 @@ namespace Ryujinx
if (gamePad.ThumbSticks.Left.Y >= deadzone || gamePad.ThumbSticks.Left.Y <= -deadzone)
LeftJoystickDY = (int)(gamePad.ThumbSticks.Left.Y * short.MaxValue);
}
LeftJoystick = new HidJoystickPosition
{