Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
132 stars 2 forks source link

Support for F16 - F24 Keys #1515

Open XDelta opened 5 months ago

XDelta commented 5 months ago

Is your feature request related to a problem? Please describe.

Currently the Key Enum type only includes up to F15 keys, but up to F24 exist in WindowsInput.Native as VirtualKeyCodes and are assignable Virtual Key Codes. I'd like to use these on a VirtualKeyboard so that they can be used when interacting with the desktop view or be used for key inputs in game.

Describe the solution you'd like

I'd like the remaining F-Keys to be made available.

Describe alternatives you've considered

Using other keys.

Requesters

_deltawolf

polyjitter commented 3 months ago

Adding my duplicate post here for further elaboration on my own usecase:

Is your feature request related to a problem? Please describe.

Within ProtoFlux, the recognized F16-F24 keys do not appear to be allowed as key inputs in ProtoFlux. Although these keys are not typically found on modern keyboards, they are still accepted in most valid keymaps. This makes them ideal for reassignment to macropads or shortcut pads.

Currently, I am working on an in-game tool for editing and creating custom shortcut menus for use with arm-mounted macro pads (see attached picture). Essentially, I want to create a manager to allow users to create custom radial menus and toggles for their armpads, with in-game visual menu feedback.

Allowing usage of F16-F24 will give me a clear path to recommend best practices to users of this tool, in terms of how to assign their keypads, as these buttons should not ever conflict with other running applications, and should be accepted in a standardized way by most input environments.

Describe the solution you'd like

I would like F16-F24 to be added as accepted values for a Key Input within ProtoFlux. No further changes should be required :)

Describe alternatives you've considered

Creating a custom OSC application would resolve issues with key conflicts, but would require players to download external tools, and would make for more configuration overhead than would be ideal. Just asking users to use already Resonite-accepted key combos or buttons would be easier to configure, but would run the risk of interfering with other applications' key bindings unpredictably.

Additional Context

Example of an "armpad" (arm-mounted macro pad) this would be useful for:

IMG20240607163303

Requesters

Discord - ashewebsite, Resonite - kaestral