Skip to content

hotkeys_user

Matti Ruohonen edited this page Oct 29, 2020 · 1 revision

Hotkeys for users

I often get asked how I set my hotkeys for the various mods. For the toggle keys I personally mostly use "mnemonic" keys with a per-mod master key. So the second (and possibly third) key is a letter from the word describing the feature. That makes it easy to remember what they are, at least for the most often used hotkeys. And for "activation keys" I use whatever is easy to press near WASD, such as Ctrl, Alt, Q, F, R, C, Z.

So for example for Litematica, some of the toggle keys I use are (some of these are also defaults):

  • M + R - main Rendering
  • M + T - toggle Tool functionality on/off
  • M + G - toggle schematic/Ghost block rendering
  • M + S - open area Selection browser
  • M + P - open schematic Placements menu
  • M + O - toggle schematic Overlay rendering

The per-mod master key makes it so that each mod kind of only takes one key (as all the secondary keys are only meaningful after the first key is pressed down, assuming everything uses this master key + second key style). Using just single keys you would indeed run out of keys extremely quickly, plus it would make it a lot more difficult to stick to the mnemonic, easy to remember keys.

And another thing that is good to realize is that conflicts (or rather overlaps) that malilib highlights as orange, are usually completely fine. Those are just marked so that you are aware of possible conflicts. You can check the overlaps while holding shift over the hotkey button that has the hotkeys printed as orange. Basically you just need to make sure that you don't use key combinations that would cause several different features to be toggled at the same time (unless that is exactly what you want in some cases).

So for example for the above example I believe the M key would be highlighted as orange as it's shared, but there is no conflict there, just a partial overlap, as it's just part of the full key combination.

And another interesting thing is that the Litematica main menu uses just the M key alone, but it is set to trigger on key release, and to be "exclusive", which means that it won't trigger if any other hotkey already triggered before it (since the last time that all keys were released). So for example pressing M + R will toggle the rendering, and it will increase the "keys triggered counter", which will prevent the "exclusive" M key from triggering and opening the Litematica main menu when you release the keys.

Also note that the hotkey combinations can be order-sensitive, and they can be "strict" in that they wouldn't allow any extra keys to be pressed. Like already mentioned above, a keybind can be set to trigger on press, on release, or both. A keybind can be set to cancel any further processing of that key press (this actually only affects further vanilla processing of that key, all the malilib keybinds that are triggered by that key press will still get processed). And the "context" of a keybind can be set to in-game only, or GUI only, or both. All of these extra options can be seen and configured via the "Advanced Keybind Settings" widget (the small icon) that is next to each hotkey configuration button.

All in all this makes the keybind system very powerful and flexible. And after you understand most of this, it should make it fairly easy to handle even a large number of different hotkeys for different mods.

Clone this wiki locally