GTNewHorizons / GT-New-Horizons-Modpack

New Modpack with Gregtech, Thaumcraft and Witchery
https://www.gtnewhorizons.com/
Other
887 stars 276 forks source link

[Controlling] Improve the methods to set keybinds to modern standards. (modifiers, available keys, keyboard GUI, etc.) #16163

Open PlayfulPiano opened 2 months ago

PlayfulPiano commented 2 months ago

Your GTNH Discord Username

PlayfulPiano

Your Pack Version

2.6.0

Your Proposal

Add in the following features to Controlling:

Your Goal

Currently, especially without the means of using modifiers, keybinds in GTNH are extremely limiting across multiple sets of mods. Not to mention that there are many modern standardizations not currently in the pack.

I am aware of the following set of mods as per Caedis, but this is a suggestion to try to implement these features into the modpack directly without requiring the user to install them manually / on their own. https://github.com/MikhailTapio/ModernControlling https://github.com/Nova-Committee/ModernKeyBinding https://github.com/MikhailTapio/KeyboardWizard-Legacy

Although if these mods are fine to add to the pack in terms of license, and then modifying current controlling so it works with modernkeybind and keyboardwizard-legacy (as moderncontrolling is arr), then that might be easier to do.

Your Vision

Better user experience for keybinds, less conflict issues, more room to set keys to the user's intent.

Final Checklist

Caedis commented 2 months ago

ModernControlling has been confirmed (and updated) to be MIT licensed though we should probably just use our fork of Controlling to get it working with ModernKeybinding

Caedis commented 2 months ago

We have a couple ways we could add the mods:

  1. Fork the mods and include them in the pack
  2. Combine all of them into our fork of Controlling
  3. Include them as external mods (ModernControlling doesnt appear to be on CF, but the others are)
Caedis commented 2 months ago

Looks like we may need to tweak HP

[02:23:25] [Client thread/WARN] [mixin]: Method overwrite conflict for func_74510_a in mixins.hodgepodge.early.json:minecraft.MixinKeyBinding from mod hodgepodge, previously written by committee.nova.mkb.mixin.MixinKeyBinding. Skipping method.

benjamin-kirkbride commented 3 weeks ago

How about the ability to save and select keybinding sets for non-QWERTY layouts? With some provided by default

eigenraven commented 3 weeks ago

With lwjgl3ify the keybinds are based on physical key positions and not the letters on the keys, so toggling keyboard layouts in the settings should not be necessary

benjamin-kirkbride commented 3 weeks ago

I was not aware of that feature. Unfortunately for me, I use a keyboard with a custom layout (Dvorak-ish) hardware programmed with https://github.com/qmk/qmk_firmware so the host OS thinks that I'm using QWERTY, so it can't fix the layout automatically.

I realize this is a niche issue upon a niche issue, so I understand that it's probably not something anyone would be interested in fixing.