From 4d90d60119992556b28cde119e9a94b8ac4aebf8 Mon Sep 17 00:00:00 2001
From: emmauss <emmausssss@gmail.com>
Date: Tue, 13 Mar 2018 23:59:17 +0200
Subject: [PATCH] stub some hid service functions (#57)

---
 Ryujinx.Core/OsHle/Services/Hid/ServiceHid.cs | 60 +++++++++++++++----
 1 file changed, 49 insertions(+), 11 deletions(-)

diff --git a/Ryujinx.Core/OsHle/Services/Hid/ServiceHid.cs b/Ryujinx.Core/OsHle/Services/Hid/ServiceHid.cs
index b1f930725f..d7b53fc9c8 100644
--- a/Ryujinx.Core/OsHle/Services/Hid/ServiceHid.cs
+++ b/Ryujinx.Core/OsHle/Services/Hid/ServiceHid.cs
@@ -1,5 +1,6 @@
 using Ryujinx.Core.OsHle.Ipc;
 using System.Collections.Generic;
+using Ryujinx.Core.Input;
 
 using static Ryujinx.Core.OsHle.IpcServices.ObjHelper;
 
@@ -15,17 +16,20 @@ namespace Ryujinx.Core.OsHle.IpcServices.Hid
         {
             m_Commands = new Dictionary<int, ServiceProcessRequest>()
             {
-                {   0, CreateAppletResource            },
-                {  11, ActivateTouchScreen             },
-                { 100, SetSupportedNpadStyleSet        },
-                { 101, GetSupportedNpadStyleSet        },
-                { 102, SetSupportedNpadIdType          },
-                { 103, ActivateNpad                    },
-                { 120, SetNpadJoyHoldType              },
-                { 121, GetNpadJoyHoldType              },
-                { 200, GetVibrationDeviceInfo          },
-                { 203, CreateActiveVibrationDeviceList },
-                { 206, SendVibrationValues             }
+                {   0, CreateAppletResource                    },
+                {  11, ActivateTouchScreen                     },
+                { 100, SetSupportedNpadStyleSet                },
+                { 101, GetSupportedNpadStyleSet                },
+                { 102, SetSupportedNpadIdType                  },
+                { 103, ActivateNpad                            },
+                { 120, SetNpadJoyHoldType                      },
+                { 122, SetNpadJoyAssignmentModeSingleByDefault },
+                { 123, SetNpadJoyAssignmentModeSingle          },
+                { 124, SetNpadJoyAssignmentModeDual            },
+                { 125, MergeSingleJoyAsDualJoy                 },
+                { 200, GetVibrationDeviceInfo                  },
+                { 203, CreateActiveVibrationDeviceList         },
+                { 206, SendVibrationValues                     }
             };
         }
 
@@ -87,6 +91,40 @@ namespace Ryujinx.Core.OsHle.IpcServices.Hid
             return 0;
         }
 
+        public long SetNpadJoyAssignmentModeSingleByDefault(ServiceCtx Context)
+        {
+            HidControllerId HidControllerId = (HidControllerId)Context.RequestData.ReadInt32();
+            long AppletUserResourseId = Context.RequestData.ReadInt64();
+
+            return 0;
+        }
+
+        public long SetNpadJoyAssignmentModeSingle(ServiceCtx Context)
+        {
+            HidControllerId HidControllerId = (HidControllerId)Context.RequestData.ReadInt32();
+            long AppletUserResourseId = Context.RequestData.ReadInt64();
+            long NpadJoyDeviceType = Context.RequestData.ReadInt64();
+            
+            return 0;
+        }
+
+        public long SetNpadJoyAssignmentModeDual(ServiceCtx Context)
+        {
+            HidControllerId HidControllerId = (HidControllerId)Context.RequestData.ReadInt32();
+            long AppletUserResourseId = Context.RequestData.ReadInt64();
+
+            return 0;
+        }
+
+        public long MergeSingleJoyAsDualJoy(ServiceCtx Context)
+        {
+            long Unknown0 = Context.RequestData.ReadInt32();
+            long Unknown8 = Context.RequestData.ReadInt32();
+            long AppletUserResourseId = Context.RequestData.ReadInt64();
+
+            return 0;
+        }
+
         public long GetVibrationDeviceInfo(ServiceCtx Context)
         {
             int VibrationDeviceHandle = Context.RequestData.ReadInt32();