mirror of
https://git.naxdy.org/Mirror/Ryujinx.git
synced 2025-01-08 20:02:39 +00:00
Address Feedback
This commit is contained in:
parent
bf521b50ff
commit
e8dccaa7e2
|
@ -1,11 +1,6 @@
|
|||
using ChocolArm64.Memory;
|
||||
using Ryujinx.HLE.Logging;
|
||||
using Ryujinx.HLE.OsHle;
|
||||
using Ryujinx.HLE.OsHle.Handles;
|
||||
using Ryujinx;
|
||||
using Ryujinx.HLE.OsHle;
|
||||
using Ryujinx.HLE.HOS;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Ryujinx.HLE.Input
|
||||
{
|
||||
|
@ -66,9 +61,14 @@ namespace Ryujinx.HLE.Input
|
|||
|
||||
private const int HidEntryCount = 17;
|
||||
|
||||
private const JoyConColor BodyColorLeft = JoyConColor.Body_Neon_Red;
|
||||
private const JoyConColor ButtonColorLeft = JoyConColor.Buttons_Neon_Red;
|
||||
private const JoyConColor BodyColorRight = JoyConColor.Body_Neon_Blue;
|
||||
private const JoyConColor ButtonColorRight = JoyConColor.Buttons_Neon_Blue;
|
||||
|
||||
private Switch Device;
|
||||
|
||||
private long HidPosition;
|
||||
private readonly long HidPosition;
|
||||
|
||||
public Hid(Switch Device, long HidPosition)
|
||||
{
|
||||
|
@ -76,120 +76,22 @@ namespace Ryujinx.HLE.Input
|
|||
this.HidPosition = HidPosition;
|
||||
|
||||
Device.Memory.FillWithZeros(HidPosition, Horizon.HidSize);
|
||||
|
||||
Init();
|
||||
}
|
||||
|
||||
private void Init()
|
||||
public void InitializeJoycons()
|
||||
{
|
||||
if (HidEmulatedDevices.Devices.Handheld != -2)
|
||||
foreach (KeyValuePair<HidControllerId, HidEmulatedDevices.HostDevice> entry in HidEmulatedDevices.Devices)
|
||||
{
|
||||
InitializeJoyconPair(
|
||||
HidControllerId.CONTROLLER_HANDHELD,
|
||||
HidControllerType.ControllerType_Handheld,
|
||||
JoyConColor.Body_Neon_Red,
|
||||
JoyConColor.Buttons_Neon_Red,
|
||||
JoyConColor.Body_Neon_Blue,
|
||||
JoyConColor.Buttons_Neon_Blue);
|
||||
}
|
||||
|
||||
if (HidEmulatedDevices.Devices.Player1 != -2)
|
||||
{
|
||||
InitializeJoyconPair(
|
||||
HidControllerId.CONTROLLER_PLAYER_1,
|
||||
HidControllerType.ControllerType_JoyconPair,
|
||||
JoyConColor.Body_Neon_Red,
|
||||
JoyConColor.Buttons_Neon_Red,
|
||||
JoyConColor.Body_Neon_Blue,
|
||||
JoyConColor.Buttons_Neon_Blue);
|
||||
}
|
||||
|
||||
if (HidEmulatedDevices.Devices.Player2 != -2)
|
||||
{
|
||||
InitializeJoyconPair(
|
||||
HidControllerId.CONTROLLER_PLAYER_2,
|
||||
HidControllerType.ControllerType_JoyconPair,
|
||||
JoyConColor.Body_Neon_Red,
|
||||
JoyConColor.Buttons_Neon_Red,
|
||||
JoyConColor.Body_Neon_Blue,
|
||||
JoyConColor.Buttons_Neon_Blue);
|
||||
}
|
||||
|
||||
if (HidEmulatedDevices.Devices.Player3 != -2)
|
||||
{
|
||||
InitializeJoyconPair(
|
||||
HidControllerId.CONTROLLER_PLAYER_3,
|
||||
HidControllerType.ControllerType_JoyconPair,
|
||||
JoyConColor.Body_Neon_Red,
|
||||
JoyConColor.Buttons_Neon_Red,
|
||||
JoyConColor.Body_Neon_Blue,
|
||||
JoyConColor.Buttons_Neon_Blue);
|
||||
}
|
||||
|
||||
if (HidEmulatedDevices.Devices.Player4 != -2)
|
||||
{
|
||||
InitializeJoyconPair(
|
||||
HidControllerId.CONTROLLER_PLAYER_4,
|
||||
HidControllerType.ControllerType_JoyconPair,
|
||||
JoyConColor.Body_Neon_Red,
|
||||
JoyConColor.Buttons_Neon_Red,
|
||||
JoyConColor.Body_Neon_Blue,
|
||||
JoyConColor.Buttons_Neon_Blue);
|
||||
}
|
||||
|
||||
if (HidEmulatedDevices.Devices.Player5 != -2)
|
||||
{
|
||||
InitializeJoyconPair(
|
||||
HidControllerId.CONTROLLER_PLAYER_5,
|
||||
HidControllerType.ControllerType_JoyconPair,
|
||||
JoyConColor.Body_Neon_Red,
|
||||
JoyConColor.Buttons_Neon_Red,
|
||||
JoyConColor.Body_Neon_Blue,
|
||||
JoyConColor.Buttons_Neon_Blue);
|
||||
}
|
||||
|
||||
if (HidEmulatedDevices.Devices.Player6 != -2)
|
||||
{
|
||||
InitializeJoyconPair(
|
||||
HidControllerId.CONTROLLER_PLAYER_6,
|
||||
HidControllerType.ControllerType_JoyconPair,
|
||||
JoyConColor.Body_Neon_Red,
|
||||
JoyConColor.Buttons_Neon_Red,
|
||||
JoyConColor.Body_Neon_Blue,
|
||||
JoyConColor.Buttons_Neon_Blue);
|
||||
}
|
||||
|
||||
if (HidEmulatedDevices.Devices.Player7 != -2)
|
||||
{
|
||||
InitializeJoyconPair(
|
||||
HidControllerId.CONTROLLER_PLAYER_7,
|
||||
HidControllerType.ControllerType_JoyconPair,
|
||||
JoyConColor.Body_Neon_Red,
|
||||
JoyConColor.Buttons_Neon_Red,
|
||||
JoyConColor.Body_Neon_Blue,
|
||||
JoyConColor.Buttons_Neon_Blue);
|
||||
}
|
||||
|
||||
if (HidEmulatedDevices.Devices.Player8 != -2)
|
||||
{
|
||||
InitializeJoyconPair(
|
||||
HidControllerId.CONTROLLER_PLAYER_8,
|
||||
HidControllerType.ControllerType_JoyconPair,
|
||||
JoyConColor.Body_Neon_Red,
|
||||
JoyConColor.Buttons_Neon_Red,
|
||||
JoyConColor.Body_Neon_Blue,
|
||||
JoyConColor.Buttons_Neon_Blue);
|
||||
}
|
||||
|
||||
if (HidEmulatedDevices.Devices.PlayerUnknown != -2)
|
||||
{
|
||||
InitializeJoyconPair(
|
||||
HidControllerId.CONTROLLER_UNKNOWN,
|
||||
HidControllerType.ControllerType_JoyconPair,
|
||||
JoyConColor.Body_Neon_Red,
|
||||
JoyConColor.Buttons_Neon_Red,
|
||||
JoyConColor.Body_Neon_Blue,
|
||||
JoyConColor.Buttons_Neon_Blue);
|
||||
if (entry.Value != HidEmulatedDevices.HostDevice.None)
|
||||
{
|
||||
InitializeJoyconPair(
|
||||
entry.Key,
|
||||
(entry.Key == HidControllerId.CONTROLLER_HANDHELD) ? HidControllerType.ControllerType_Handheld : HidControllerType.ControllerType_JoyconPair,
|
||||
BodyColorLeft,
|
||||
ButtonColorLeft,
|
||||
BodyColorRight,
|
||||
ButtonColorRight);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -6,20 +6,21 @@ namespace Ryujinx.HLE.Input
|
|||
{
|
||||
public class HidEmulatedDevices
|
||||
{
|
||||
public struct EmulatedDevices
|
||||
public enum HostDevice
|
||||
{
|
||||
public int Handheld;
|
||||
public int Player1;
|
||||
public int Player2;
|
||||
public int Player3;
|
||||
public int Player4;
|
||||
public int Player5;
|
||||
public int Player6;
|
||||
public int Player7;
|
||||
public int Player8;
|
||||
public int PlayerUnknown;
|
||||
None,
|
||||
Keyboard,
|
||||
GamePad_0,
|
||||
GamePad_1,
|
||||
GamePad_2,
|
||||
GamePad_3,
|
||||
GamePad_4,
|
||||
GamePad_5,
|
||||
GamePad_6,
|
||||
GamePad_7,
|
||||
GamePad_8,
|
||||
};
|
||||
|
||||
public static EmulatedDevices Devices;
|
||||
public static Dictionary<HidControllerId, HostDevice> Devices;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,14 +8,15 @@ using System.Collections.Generic;
|
|||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace Ryujinx
|
||||
{
|
||||
public static class Config
|
||||
{
|
||||
public static JoyConKeyboard JoyConKeyboard { get; private set; }
|
||||
public static JoyConController[] JoyConControllers { get; private set; }
|
||||
public static bool GamePadEnable { get; private set; }
|
||||
public static JoyConKeyboard JoyConKeyboard { get; private set; }
|
||||
public static JoyConController[] JoyConControllers { get; private set; }
|
||||
public static bool GamePadEnable { get; private set; }
|
||||
|
||||
public static void Read(Switch Device)
|
||||
{
|
||||
|
@ -39,17 +40,20 @@ namespace Ryujinx
|
|||
|
||||
GamePadEnable = Boolean.Parse(Parser.Value("GamePad_Enable"));
|
||||
|
||||
//Device Mappings
|
||||
HidEmulatedDevices.Devices.Handheld = ToEmulatedDevice(Parser.Value("Handheld_Device")); // -2: None, -1: Keyboard, Everything Else: GamePad Index
|
||||
HidEmulatedDevices.Devices.Player1 = ToEmulatedDevice(Parser.Value("Player1_Device"));
|
||||
HidEmulatedDevices.Devices.Player2 = ToEmulatedDevice(Parser.Value("Player2_Device"));
|
||||
HidEmulatedDevices.Devices.Player3 = ToEmulatedDevice(Parser.Value("Player3_Device"));
|
||||
HidEmulatedDevices.Devices.Player4 = ToEmulatedDevice(Parser.Value("Player4_Device"));
|
||||
HidEmulatedDevices.Devices.Player5 = ToEmulatedDevice(Parser.Value("Player5_Device"));
|
||||
HidEmulatedDevices.Devices.Player6 = ToEmulatedDevice(Parser.Value("Player6_Device"));
|
||||
HidEmulatedDevices.Devices.Player7 = ToEmulatedDevice(Parser.Value("Player7_Device"));
|
||||
HidEmulatedDevices.Devices.Player8 = ToEmulatedDevice(Parser.Value("Player8_Device"));
|
||||
HidEmulatedDevices.Devices.PlayerUnknown = ToEmulatedDevice(Parser.Value("PlayerUnknown_Device"));
|
||||
HidEmulatedDevices.Devices = new Dictionary<HidControllerId, HidEmulatedDevices.HostDevice>
|
||||
{
|
||||
//Device Mappings
|
||||
{ HidControllerId.CONTROLLER_HANDHELD, ToHostDevice(Parser.Value("Handheld_Device")) },
|
||||
{ HidControllerId.CONTROLLER_PLAYER_1, ToHostDevice(Parser.Value("Player1_Device")) },
|
||||
{ HidControllerId.CONTROLLER_PLAYER_2, ToHostDevice(Parser.Value("Player2_Device")) },
|
||||
{ HidControllerId.CONTROLLER_PLAYER_3, ToHostDevice(Parser.Value("Player3_Device")) },
|
||||
{ HidControllerId.CONTROLLER_PLAYER_4, ToHostDevice(Parser.Value("Player4_Device")) },
|
||||
{ HidControllerId.CONTROLLER_PLAYER_5, ToHostDevice(Parser.Value("Player5_Device")) },
|
||||
{ HidControllerId.CONTROLLER_PLAYER_6, ToHostDevice(Parser.Value("Player6_Device")) },
|
||||
{ HidControllerId.CONTROLLER_PLAYER_7, ToHostDevice(Parser.Value("Player7_Device")) },
|
||||
{ HidControllerId.CONTROLLER_PLAYER_8, ToHostDevice(Parser.Value("Player8_Device")) },
|
||||
{ HidControllerId.CONTROLLER_UNKNOWN, ToHostDevice(Parser.Value("PlayerUnknown_Device")) }
|
||||
};
|
||||
|
||||
//When the classes are specified on the list, we only
|
||||
//enable the classes that are on the list.
|
||||
|
@ -115,7 +119,7 @@ namespace Ryujinx
|
|||
List<JoyConController> JoyConControllerList = new List<JoyConController>();
|
||||
|
||||
//Populate the Controller List
|
||||
for (int i = 0; i < 255; ++i)
|
||||
for (int i = 0; i < 9; ++i)
|
||||
{
|
||||
if (Parser.Value(i + "_GamePad_Index") == null) break;
|
||||
|
||||
|
@ -187,18 +191,31 @@ namespace Ryujinx
|
|||
}
|
||||
}
|
||||
|
||||
// -2: None, -1: Keyboard, Everything Else: GamePad Index
|
||||
private static int ToEmulatedDevice(string Key)
|
||||
private static HidEmulatedDevices.HostDevice ToHostDevice(string Key)
|
||||
{
|
||||
switch (Key.ToUpper())
|
||||
{
|
||||
case "NONE": return -2;
|
||||
case "KEYBOARD": return -1;
|
||||
case "NONE": return HidEmulatedDevices.HostDevice.None;
|
||||
case "KEYBOARD": return HidEmulatedDevices.HostDevice.Keyboard;
|
||||
}
|
||||
|
||||
if (Key.ToUpper().StartsWith("GAMEPAD_")) return Int32.Parse(Key.Substring(Key.Length - 1));
|
||||
if (Key.Split("GAMEPAD_").Length > 0 && Regex.IsMatch(""+Key[Key.Length-1], @"^\d+$"))
|
||||
{
|
||||
switch (Key[Key.Length - 1])
|
||||
{
|
||||
case '0': return HidEmulatedDevices.HostDevice.GamePad_0;
|
||||
case '1': return HidEmulatedDevices.HostDevice.GamePad_1;
|
||||
case '2': return HidEmulatedDevices.HostDevice.GamePad_2;
|
||||
case '3': return HidEmulatedDevices.HostDevice.GamePad_3;
|
||||
case '4': return HidEmulatedDevices.HostDevice.GamePad_4;
|
||||
case '5': return HidEmulatedDevices.HostDevice.GamePad_5;
|
||||
case '6': return HidEmulatedDevices.HostDevice.GamePad_6;
|
||||
case '7': return HidEmulatedDevices.HostDevice.GamePad_7;
|
||||
case '8': return HidEmulatedDevices.HostDevice.GamePad_8;
|
||||
}
|
||||
}
|
||||
|
||||
return -2;
|
||||
return HidEmulatedDevices.HostDevice.None;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@ using Ryujinx.Graphics.Gal;
|
|||
using Ryujinx.HLE;
|
||||
using Ryujinx.HLE.Input;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading;
|
||||
|
||||
using Stopwatch = System.Diagnostics.Stopwatch;
|
||||
|
@ -251,375 +252,42 @@ namespace Ryujinx
|
|||
Device.Hid.SetTouchPoints();
|
||||
}
|
||||
|
||||
if (HidEmulatedDevices.Devices.Handheld != -2)
|
||||
foreach (KeyValuePair<HidControllerId, HidEmulatedDevices.HostDevice> entry in HidEmulatedDevices.Devices)
|
||||
{
|
||||
switch (HidEmulatedDevices.Devices.Handheld)
|
||||
if (entry.Value != HidEmulatedDevices.HostDevice.None)
|
||||
{
|
||||
case -1:
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_HANDHELD,
|
||||
HidControllerLayouts.Handheld_Joined,
|
||||
CurrentButtonsKeyboard,
|
||||
LeftJoystickKeyboard,
|
||||
RightJoystickKeyboard);
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_HANDHELD,
|
||||
HidControllerLayouts.Main,
|
||||
CurrentButtonsKeyboard,
|
||||
LeftJoystickKeyboard,
|
||||
RightJoystickKeyboard);
|
||||
break;
|
||||
default:
|
||||
if (HidEmulatedDevices.Devices.Handheld < 0)
|
||||
throw new ArgumentException("Unknown Emulated Device Code: " + HidEmulatedDevices.Devices.Handheld + ".");
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_HANDHELD,
|
||||
HidControllerLayouts.Handheld_Joined,
|
||||
CurrentButtonsGamePad[HidEmulatedDevices.Devices.Handheld],
|
||||
LeftJoystickGamePad[HidEmulatedDevices.Devices.Handheld],
|
||||
RightJoystickGamePad[HidEmulatedDevices.Devices.Handheld]);
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_HANDHELD,
|
||||
HidControllerLayouts.Main,
|
||||
CurrentButtonsGamePad[HidEmulatedDevices.Devices.Handheld],
|
||||
LeftJoystickGamePad[HidEmulatedDevices.Devices.Handheld],
|
||||
RightJoystickGamePad[HidEmulatedDevices.Devices.Handheld]);
|
||||
break;
|
||||
Device.Hid.SetJoyconButton(
|
||||
entry.Key,
|
||||
(entry.Key == HidControllerId.CONTROLLER_HANDHELD) ? HidControllerLayouts.Handheld_Joined : HidControllerLayouts.Joined,
|
||||
(entry.Value == HidEmulatedDevices.HostDevice.Keyboard) ? CurrentButtonsKeyboard : CurrentButtonsGamePad[GetGamePadIndexFromHostDevice(entry.Value)],
|
||||
(entry.Value == HidEmulatedDevices.HostDevice.Keyboard) ? LeftJoystickKeyboard : LeftJoystickGamePad [GetGamePadIndexFromHostDevice(entry.Value)],
|
||||
(entry.Value == HidEmulatedDevices.HostDevice.Keyboard) ? RightJoystickKeyboard : RightJoystickGamePad [GetGamePadIndexFromHostDevice(entry.Value)]);
|
||||
Device.Hid.SetJoyconButton(
|
||||
entry.Key,
|
||||
HidControllerLayouts.Main,
|
||||
(entry.Value == HidEmulatedDevices.HostDevice.Keyboard) ? CurrentButtonsKeyboard : CurrentButtonsGamePad[GetGamePadIndexFromHostDevice(entry.Value)],
|
||||
(entry.Value == HidEmulatedDevices.HostDevice.Keyboard) ? LeftJoystickKeyboard : LeftJoystickGamePad [GetGamePadIndexFromHostDevice(entry.Value)],
|
||||
(entry.Value == HidEmulatedDevices.HostDevice.Keyboard) ? RightJoystickKeyboard : RightJoystickGamePad [GetGamePadIndexFromHostDevice(entry.Value)]);
|
||||
}
|
||||
}
|
||||
|
||||
if (HidEmulatedDevices.Devices.Player1 != -2)
|
||||
}
|
||||
|
||||
private int GetGamePadIndexFromHostDevice(HidEmulatedDevices.HostDevice hostDevice)
|
||||
{
|
||||
switch (hostDevice)
|
||||
{
|
||||
switch (HidEmulatedDevices.Devices.Player1)
|
||||
{
|
||||
case -1:
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_1,
|
||||
HidControllerLayouts.Joined,
|
||||
CurrentButtonsKeyboard,
|
||||
LeftJoystickKeyboard,
|
||||
RightJoystickKeyboard);
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_1,
|
||||
HidControllerLayouts.Main,
|
||||
CurrentButtonsKeyboard,
|
||||
LeftJoystickKeyboard,
|
||||
RightJoystickKeyboard);
|
||||
break;
|
||||
default:
|
||||
if (HidEmulatedDevices.Devices.Player1 < 0)
|
||||
throw new ArgumentException("Unknown Emulated Device Code: " + HidEmulatedDevices.Devices.Player1 + ".");
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_1,
|
||||
HidControllerLayouts.Joined,
|
||||
CurrentButtonsGamePad[HidEmulatedDevices.Devices.Player1],
|
||||
LeftJoystickGamePad[HidEmulatedDevices.Devices.Player1],
|
||||
RightJoystickGamePad[HidEmulatedDevices.Devices.Player1]);
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_1,
|
||||
HidControllerLayouts.Main,
|
||||
CurrentButtonsGamePad[HidEmulatedDevices.Devices.Player1],
|
||||
LeftJoystickGamePad[HidEmulatedDevices.Devices.Player1],
|
||||
RightJoystickGamePad[HidEmulatedDevices.Devices.Player1]);
|
||||
break;
|
||||
}
|
||||
case HidEmulatedDevices.HostDevice.GamePad_0: return 0;
|
||||
case HidEmulatedDevices.HostDevice.GamePad_1: return 1;
|
||||
case HidEmulatedDevices.HostDevice.GamePad_2: return 2;
|
||||
case HidEmulatedDevices.HostDevice.GamePad_3: return 3;
|
||||
case HidEmulatedDevices.HostDevice.GamePad_4: return 4;
|
||||
case HidEmulatedDevices.HostDevice.GamePad_5: return 5;
|
||||
case HidEmulatedDevices.HostDevice.GamePad_6: return 6;
|
||||
case HidEmulatedDevices.HostDevice.GamePad_7: return 7;
|
||||
case HidEmulatedDevices.HostDevice.GamePad_8: return 8;
|
||||
}
|
||||
|
||||
if (HidEmulatedDevices.Devices.Player2 != -2)
|
||||
{
|
||||
switch (HidEmulatedDevices.Devices.Player2)
|
||||
{
|
||||
case -1:
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_2,
|
||||
HidControllerLayouts.Joined,
|
||||
CurrentButtonsKeyboard,
|
||||
LeftJoystickKeyboard,
|
||||
RightJoystickKeyboard);
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_2,
|
||||
HidControllerLayouts.Main,
|
||||
CurrentButtonsKeyboard,
|
||||
LeftJoystickKeyboard,
|
||||
RightJoystickKeyboard);
|
||||
break;
|
||||
default:
|
||||
if (HidEmulatedDevices.Devices.Player2 < 0)
|
||||
throw new ArgumentException("Unknown Emulated Device Code: " + HidEmulatedDevices.Devices.Player2 + ".");
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_2,
|
||||
HidControllerLayouts.Joined,
|
||||
CurrentButtonsGamePad[HidEmulatedDevices.Devices.Player2],
|
||||
LeftJoystickGamePad[HidEmulatedDevices.Devices.Player2],
|
||||
RightJoystickGamePad[HidEmulatedDevices.Devices.Player2]);
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_2,
|
||||
HidControllerLayouts.Main,
|
||||
CurrentButtonsGamePad[HidEmulatedDevices.Devices.Player2],
|
||||
LeftJoystickGamePad[HidEmulatedDevices.Devices.Player2],
|
||||
RightJoystickGamePad[HidEmulatedDevices.Devices.Player2]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (HidEmulatedDevices.Devices.Player3 != -2)
|
||||
{
|
||||
switch (HidEmulatedDevices.Devices.Player3)
|
||||
{
|
||||
case -1:
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_3,
|
||||
HidControllerLayouts.Joined,
|
||||
CurrentButtonsKeyboard,
|
||||
LeftJoystickKeyboard,
|
||||
RightJoystickKeyboard);
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_3,
|
||||
HidControllerLayouts.Main,
|
||||
CurrentButtonsKeyboard,
|
||||
LeftJoystickKeyboard,
|
||||
RightJoystickKeyboard);
|
||||
break;
|
||||
default:
|
||||
if (HidEmulatedDevices.Devices.Player3 < 0)
|
||||
throw new ArgumentException("Unknown Emulated Device Code: " + HidEmulatedDevices.Devices.Player3 + ".");
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_3,
|
||||
HidControllerLayouts.Joined,
|
||||
CurrentButtonsGamePad[HidEmulatedDevices.Devices.Player3],
|
||||
LeftJoystickGamePad[HidEmulatedDevices.Devices.Player3],
|
||||
RightJoystickGamePad[HidEmulatedDevices.Devices.Player3]);
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_3,
|
||||
HidControllerLayouts.Main,
|
||||
CurrentButtonsGamePad[HidEmulatedDevices.Devices.Player3],
|
||||
LeftJoystickGamePad[HidEmulatedDevices.Devices.Player3],
|
||||
RightJoystickGamePad[HidEmulatedDevices.Devices.Player3]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (HidEmulatedDevices.Devices.Player4 != -2)
|
||||
{
|
||||
switch (HidEmulatedDevices.Devices.Player4)
|
||||
{
|
||||
case -1:
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_4,
|
||||
HidControllerLayouts.Joined,
|
||||
CurrentButtonsKeyboard,
|
||||
LeftJoystickKeyboard,
|
||||
RightJoystickKeyboard);
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_4,
|
||||
HidControllerLayouts.Main,
|
||||
CurrentButtonsKeyboard,
|
||||
LeftJoystickKeyboard,
|
||||
RightJoystickKeyboard);
|
||||
break;
|
||||
default:
|
||||
if (HidEmulatedDevices.Devices.Player4 < 0)
|
||||
throw new ArgumentException("Unknown Emulated Device Code: " + HidEmulatedDevices.Devices.Player4 + ".");
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_4,
|
||||
HidControllerLayouts.Joined,
|
||||
CurrentButtonsGamePad[HidEmulatedDevices.Devices.Player4],
|
||||
LeftJoystickGamePad[HidEmulatedDevices.Devices.Player4],
|
||||
RightJoystickGamePad[HidEmulatedDevices.Devices.Player4]);
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_4,
|
||||
HidControllerLayouts.Main,
|
||||
CurrentButtonsGamePad[HidEmulatedDevices.Devices.Player4],
|
||||
LeftJoystickGamePad[HidEmulatedDevices.Devices.Player4],
|
||||
RightJoystickGamePad[HidEmulatedDevices.Devices.Player4]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (HidEmulatedDevices.Devices.Player5 != -2)
|
||||
{
|
||||
switch (HidEmulatedDevices.Devices.Player5)
|
||||
{
|
||||
case -1:
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_5,
|
||||
HidControllerLayouts.Joined,
|
||||
CurrentButtonsKeyboard,
|
||||
LeftJoystickKeyboard,
|
||||
RightJoystickKeyboard);
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_5,
|
||||
HidControllerLayouts.Main,
|
||||
CurrentButtonsKeyboard,
|
||||
LeftJoystickKeyboard,
|
||||
RightJoystickKeyboard);
|
||||
break;
|
||||
default:
|
||||
if (HidEmulatedDevices.Devices.Player5 < 0)
|
||||
throw new ArgumentException("Unknown Emulated Device Code: " + HidEmulatedDevices.Devices.Player5 + ".");
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_5,
|
||||
HidControllerLayouts.Joined,
|
||||
CurrentButtonsGamePad[HidEmulatedDevices.Devices.Player5],
|
||||
LeftJoystickGamePad[HidEmulatedDevices.Devices.Player5],
|
||||
RightJoystickGamePad[HidEmulatedDevices.Devices.Player5]);
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_5,
|
||||
HidControllerLayouts.Main,
|
||||
CurrentButtonsGamePad[HidEmulatedDevices.Devices.Player5],
|
||||
LeftJoystickGamePad[HidEmulatedDevices.Devices.Player5],
|
||||
RightJoystickGamePad[HidEmulatedDevices.Devices.Player5]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (HidEmulatedDevices.Devices.Player6 != -2)
|
||||
{
|
||||
switch (HidEmulatedDevices.Devices.Player6)
|
||||
{
|
||||
case -1:
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_6,
|
||||
HidControllerLayouts.Joined,
|
||||
CurrentButtonsKeyboard,
|
||||
LeftJoystickKeyboard,
|
||||
RightJoystickKeyboard);
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_6,
|
||||
HidControllerLayouts.Main,
|
||||
CurrentButtonsKeyboard,
|
||||
LeftJoystickKeyboard,
|
||||
RightJoystickKeyboard);
|
||||
break;
|
||||
default:
|
||||
if (HidEmulatedDevices.Devices.Player6 < 0)
|
||||
throw new ArgumentException("Unknown Emulated Device Code: " + HidEmulatedDevices.Devices.Player6 + ".");
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_6,
|
||||
HidControllerLayouts.Joined,
|
||||
CurrentButtonsGamePad[HidEmulatedDevices.Devices.Player6],
|
||||
LeftJoystickGamePad[HidEmulatedDevices.Devices.Player6],
|
||||
RightJoystickGamePad[HidEmulatedDevices.Devices.Player6]);
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_6,
|
||||
HidControllerLayouts.Main,
|
||||
CurrentButtonsGamePad[HidEmulatedDevices.Devices.Player6],
|
||||
LeftJoystickGamePad[HidEmulatedDevices.Devices.Player6],
|
||||
RightJoystickGamePad[HidEmulatedDevices.Devices.Player6]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (HidEmulatedDevices.Devices.Player7 != -2)
|
||||
{
|
||||
switch (HidEmulatedDevices.Devices.Player7)
|
||||
{
|
||||
case -1:
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_7,
|
||||
HidControllerLayouts.Joined,
|
||||
CurrentButtonsKeyboard,
|
||||
LeftJoystickKeyboard,
|
||||
RightJoystickKeyboard);
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_7,
|
||||
HidControllerLayouts.Main,
|
||||
CurrentButtonsKeyboard,
|
||||
LeftJoystickKeyboard,
|
||||
RightJoystickKeyboard);
|
||||
break;
|
||||
default:
|
||||
if (HidEmulatedDevices.Devices.Player7 < 0)
|
||||
throw new ArgumentException("Unknown Emulated Device Code: " + HidEmulatedDevices.Devices.Player7 + ".");
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_7,
|
||||
HidControllerLayouts.Joined,
|
||||
CurrentButtonsGamePad[HidEmulatedDevices.Devices.Player7],
|
||||
LeftJoystickGamePad[HidEmulatedDevices.Devices.Player7],
|
||||
RightJoystickGamePad[HidEmulatedDevices.Devices.Player7]);
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_7,
|
||||
HidControllerLayouts.Main,
|
||||
CurrentButtonsGamePad[HidEmulatedDevices.Devices.Player7],
|
||||
LeftJoystickGamePad[HidEmulatedDevices.Devices.Player7],
|
||||
RightJoystickGamePad[HidEmulatedDevices.Devices.Player7]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (HidEmulatedDevices.Devices.Player8 != -2)
|
||||
{
|
||||
switch (HidEmulatedDevices.Devices.Player8)
|
||||
{
|
||||
case -1:
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_8,
|
||||
HidControllerLayouts.Joined,
|
||||
CurrentButtonsKeyboard,
|
||||
LeftJoystickKeyboard,
|
||||
RightJoystickKeyboard);
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_8,
|
||||
HidControllerLayouts.Main,
|
||||
CurrentButtonsKeyboard,
|
||||
LeftJoystickKeyboard,
|
||||
RightJoystickKeyboard);
|
||||
break;
|
||||
default:
|
||||
if (HidEmulatedDevices.Devices.Player8 < 0)
|
||||
throw new ArgumentException("Unknown Emulated Device Code: " + HidEmulatedDevices.Devices.Player8 + ".");
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_8,
|
||||
HidControllerLayouts.Joined,
|
||||
CurrentButtonsGamePad[HidEmulatedDevices.Devices.Player8],
|
||||
LeftJoystickGamePad[HidEmulatedDevices.Devices.Player8],
|
||||
RightJoystickGamePad[HidEmulatedDevices.Devices.Player8]);
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_PLAYER_8,
|
||||
HidControllerLayouts.Main,
|
||||
CurrentButtonsGamePad[HidEmulatedDevices.Devices.Player8],
|
||||
LeftJoystickGamePad[HidEmulatedDevices.Devices.Player8],
|
||||
RightJoystickGamePad[HidEmulatedDevices.Devices.Player8]);
|
||||
break;
|
||||
}
|
||||
|
||||
if (HidEmulatedDevices.Devices.PlayerUnknown != -2)
|
||||
{
|
||||
switch (HidEmulatedDevices.Devices.PlayerUnknown)
|
||||
{
|
||||
case -1:
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_UNKNOWN,
|
||||
HidControllerLayouts.Joined,
|
||||
CurrentButtonsKeyboard,
|
||||
LeftJoystickKeyboard,
|
||||
RightJoystickKeyboard);
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_UNKNOWN,
|
||||
HidControllerLayouts.Main,
|
||||
CurrentButtonsKeyboard,
|
||||
LeftJoystickKeyboard,
|
||||
RightJoystickKeyboard);
|
||||
break;
|
||||
default:
|
||||
if (HidEmulatedDevices.Devices.PlayerUnknown < 0)
|
||||
throw new ArgumentException("Unknown Emulated Device Code: " + HidEmulatedDevices.Devices.PlayerUnknown + ".");
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_UNKNOWN,
|
||||
HidControllerLayouts.Joined,
|
||||
CurrentButtonsGamePad[HidEmulatedDevices.Devices.PlayerUnknown],
|
||||
LeftJoystickGamePad[HidEmulatedDevices.Devices.PlayerUnknown],
|
||||
RightJoystickGamePad[HidEmulatedDevices.Devices.PlayerUnknown]);
|
||||
Ns.Hid.SetJoyconButton(
|
||||
HidControllerId.CONTROLLER_UNKNOWN,
|
||||
HidControllerLayouts.Main,
|
||||
CurrentButtonsGamePad[HidEmulatedDevices.Devices.PlayerUnknown],
|
||||
LeftJoystickGamePad[HidEmulatedDevices.Devices.PlayerUnknown],
|
||||
RightJoystickGamePad[HidEmulatedDevices.Devices.PlayerUnknown]);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
private new void RenderFrame()
|
||||
|
|
|
@ -22,6 +22,8 @@ namespace Ryujinx
|
|||
|
||||
Config.Read(Device);
|
||||
|
||||
Device.Hid.InitializeJoycons();
|
||||
|
||||
Device.Log.Updated += ConsoleLog.PrintLog;
|
||||
|
||||
if (args.Length == 1)
|
||||
|
|
Loading…
Reference in a new issue