[1.7.2, build 113] Reloading settings prevent Macro/Keybind mod keys from working
RoyCurtis opened this issue ยท 6 comments
Reproduction
- Set up a Forge Minecraft copy with Liteloader, Macro/Keybind Mod, Optifine and inventory-tweaks
- Enter a world and press tilde/grave to open Macro/Keybind mod screen. Observe that the Inventory Tweaks "click" sound also plays.
- Close screen and retry tilde/grave. Observe Macro/Keybind no longer opens but InvTweaks "click" still plays
- Resize the Minecraft window
- Retry tilde/grave. Macro/Keybind screen now opens and "click" audible
- Open .minecraft/config/InvTweaks.cfg and make a legal edit (e.g. set "enableMiddleClick" to "false") and save
- Retry tilde/grave. InvTweaks reloads properties and makes a "click", Macro/Keybind no longer works again
Workaround
Resizing the window fixes all of Macro/Keybind mods' bindings
Notes
- I am unsure what truly is at fault here, but I only got this issue for certain after installing inventory-tweaks. Removing it prevents the issue re-occurng
- The resize fix was mentioned on Optifine's mod page as a known issue, but no longer seems to be listed. IIRC, keybindings/handlers were being "disconnected" until LWJGL was re-initialized with a window resize
Optifine is not supported because of how much it screws with internals of MC (usually more related to rendering but it has been known to break other random things).
I can't make a guess as to what the macro mod is doing, but InvTweaks doesn't mess with any of the Minecraft-level handling for keys/etc., it just asks the lower-level library used by MC directly for key info.
FWIW: I was able to reproduce this issue with only Liteloader, Macro/Keybind and Invtweaks, so Optifine can be ruled out. Invtweaks' use of the tilde key still works when M/Keybind stops working. I'll also report this to Mumfrey to see if M/Keybind is doing anything to break functionality.
Honestly it sounds more like a macro mod issue since it doesn't seem to effect any other mod I know of that has keybinds or Minecraft itself. Invtweaks works because it just doesn't care as long as LWJGL works (if that broke everything else would break at the same time since that's where all the input comes from)
I think you're running an outdated beta of Macros, this is not an InvTweaks issue specifically anything which causes the input buffers for the window to be rebound. Optifine causes the input buffers to be regenerated periodically for some reason and I guess the same happens with InvTweaks, macros re-hooks the input buffers when they're known to be regenerated (eg. when the window is resized) but didn't do it at any other time, so when something causes the buffers to be regenerated they would be disconnected from the macros input processor.
I was made aware of this issue and in beta 2 the buffers are more agressively re-attached (once every second) which means the problem doesn't occur. You are using beta 1 of macros which had this issue.
Recommend closing this issue since it's not an InvTweaks issue, and at time of writing isn't even a current macros issue.