habeebweeb / MeidoPhotoStudio

An alternative to COM3D2 Studio Mode
2 stars 0 forks source link

Rework input system (againšŸ˜”) #53

Open habeebweeb opened 1 year ago

habeebweeb commented 1 year ago

I want to give a lot more freedom with inputs like allowing for changing the quick save hotkey (Control + S) to any other input with modifier ex. (Control + Alt + S). The current system only allows for changing the S key and not the modifier.

I also want to improve how inputs are detected. BepInEx's KeyboardShortcut struct is able to check if the hotkey is pushed in a strict manner where the exact key combination must be pushed (Alt + X will trigger but not Alt + Shift + X for example). This behaviour is desireable but KeyboardShortcut requires all modifiers to be held before pushing the main key to trigger the shortcut. This is a problem because MPS does not care about what order keys are pressed and only requires that they're all pressed at the same time.

An example of this is with drag points where you can fluidly switch between different object manipulation modes by changing which modifiers are pushed: Control + Z for vertical translation into Shift + Z for world space y rotation into just Z for X and Z plane translation. All of this is done without releasing Z.

Originally posted on 2021-04-08T06:34:36+02:00.