Lyall / MGSHDFix

A fix that adds custom resolutions, ultrawide support and much more to the Metal Gear Solid Master Collection.
MIT License
376 stars 8 forks source link

[Feature Request] Mouse support for MGS2 #29

Open fnaf135 opened 8 months ago

fnaf135 commented 8 months ago

I dont know if this mod has the potential to implement it into the game but it would be great if i dont have to be struggling to aim at FPS mode with keyboard

Brunokenway07 commented 8 months ago

I'm far from knowing what I'm saying, but while extracting MGS2 launcher Unity assets (to get the audio and images of the launcher) I found that the key binding is set with Unity's input manager, and the binding is defined in the file launcher_Data\Managed\Assembly-CSharp.dll:

public static void InputEntry() { InputConfig.Entry(0, FW.InputManager.INPUT_TYPE.Button_Right_Down, FW.InputManager.INPUT_TYPE.Key_F_Down); InputConfig.Entry(1, FW.InputManager.INPUT_TYPE.Button_Left_Down, FW.InputManager.INPUT_TYPE.Key_M_Down); InputConfig.Entry(2, FW.InputManager.INPUT_TYPE.Button_Y, FW.InputManager.INPUT_TYPE.Key_E); InputConfig.Entry(3, FW.InputManager.INPUT_TYPE.Button_X, FW.InputManager.INPUT_TYPE.Key_U);

However, if you delete that file it doesn't change anything, so I guess that the input configuration must be somewhere else, but honestly I have no idea.

I hope someone finds a way to remap the keyboard+mouse. The current default mapping works great, specially with the slow walking, but I would prefer to choose a more comfortable key setting.

fnaf135 commented 8 months ago

I'm far from knowing what I'm saying, but while extracting MGS2 launcher Unity assets (to get the audio and images of the launcher) I found that the key binding is set with Unity's input manager, and the binding is defined in the file launcher_Data\Managed\Assembly-CSharp.dll:

public static void InputEntry() { InputConfig.Entry(0, FW.InputManager.INPUT_TYPE.Button_Right_Down, FW.InputManager.INPUT_TYPE.Key_F_Down); InputConfig.Entry(1, FW.InputManager.INPUT_TYPE.Button_Left_Down, FW.InputManager.INPUT_TYPE.Key_M_Down); InputConfig.Entry(2, FW.InputManager.INPUT_TYPE.Button_Y, FW.InputManager.INPUT_TYPE.Key_E); InputConfig.Entry(3, FW.InputManager.INPUT_TYPE.Button_X, FW.InputManager.INPUT_TYPE.Key_U);

However, if you delete that file it doesn't change anything, so I guess that the input configuration must be somewhere else, but honestly I have no idea.

I hope someone finds a way to remap the keyboard+mouse. The current default mapping works great, specially with the slow walking, but I would prefer to choose a more comfortable key setting.

Unlike MGS3 which you can aim with both left and right analog , MGS2 can only aim with the left analog so if you try to map the mouse with the left analog stick, you will also mess up the movement controls so that would be very hard to do anything with it

fnaf135 commented 7 months ago

I just found out a temporary solution here is that while you still cant aim with the mouse since the game using only the left stick on both moving and aiming (which means you still have to aim with the Movement keys), you can map the FPV and the use Weapon button to both the Right and Left mouse button, the aim will be the Middle mouse button with any keymapper (I'd recommend Universal Control Remapper). The hand feeling of aim and shoot will be less frustrating.