Hooking into Keyboard.processF3 makes it easy to clash with mods that want to add additional F3 keybinds. A debug combo (i.e. F3+M) is not possible to do with vanilla keybinds so the mods that want to integrate with the debug processing in a way that feels vanilla can't use the keybinds infrastructure. However, I don't see any reason that the config binding for this mod needs to be bound to F3. Since slots are limited and it's very difficult to make a configurable F3+[key] debug handler, is there any chance this mod could move off it and use a normal Minecraft keybind instead?
Additional Context
I'm a little biased here because I have a couple mods that integrate in the vanilla's F3 processing and one of them just so happens to clash with this mod.
The reasons it's difficult to make it configurable are:
The Minecraft keybinds system is unable to do a combination binding for F3+anything, and even if it could, I'd have to find a way to validate it was still an F3 combination.
Using the keybinds system for the activator key only and just assuming F3 is part of it does not guarantee the keybind is a unique F3 handler, and will also show clashing with normal keybinds even when they never actually intersect
Making a custom keybind config entry is non-trivial because I'd have to do conversion between key value and code and do some kind of clash detection, which would involve checking against a static list in my own code and would be very brittle and prone to becoming outdated, not to mention incomplete by design
It's not just a matter of handling the keypress. There's also a help keybind in the vanilla game (F3+Q) that explains all the possible debug combinations available, and the bindings are listen in alphabetical order by their keybind, meaning in order to integrate in a vanilla way, I have to inject with an ordinal value to slide into the right position for my debug handler. This makes dynamic/configurable keybinds very difficult to "do right" if I want to integrate with the help as well
Describe the Request
Hooking into
Keyboard.processF3
makes it easy to clash with mods that want to add additional F3 keybinds. A debug combo (i.e. F3+M) is not possible to do with vanilla keybinds so the mods that want to integrate with the debug processing in a way that feels vanilla can't use the keybinds infrastructure. However, I don't see any reason that the config binding for this mod needs to be bound to F3. Since slots are limited and it's very difficult to make a configurable F3+[key] debug handler, is there any chance this mod could move off it and use a normal Minecraft keybind instead?Additional Context
I'm a little biased here because I have a couple mods that integrate in the vanilla's F3 processing and one of them just so happens to clash with this mod.
The reasons it's difficult to make it configurable are: