Sk1erLLC / Patcher

A Forge mod full of Vanilla bug fixes, Quality of Life improvements, and performance enhancements.
Other
232 stars 60 forks source link

Patcher x macOS: preventing "CTRL + LClick = RClick" accidents, treat both inputs as independent inputs #85

Closed RayDeeUx closed 1 year ago

RayDeeUx commented 2 years ago

Self explanatory. In macOS, CTRL + LClick is treated as a single RClick input, which in Minecraft effectively prevents people from sprinting and performing melee attacks simultaneously.

If Patcher sees it's being loaded within macOS, Patcher should treat inputs from both sources as independent inputs with no config option to toggle it off via the /patcher command, much like the CTM fix contributed by Wyvest a while back.

While SimpleToggleSprint exists as an indirect workaround, it would be nice for Patcher to intervene in incredibly rare edge cases of both inputs being active at once (ie: user simply forgot they had togglesprint active, household member misinput, etc).

There's already a mod which does this: https://github.com/MinecraftMachina/McMouser but it is far too obscure for anyone to pay attention to it. Seeing as Patcher intends to aim for fixing MC bugs while also providing QoL (even if it exists in other mods), I figured this would be a feature worth adding even if McMouser exists.

RayDeeUx commented 2 years ago

whoops. no need to include MC-121772 as 1.8.9 isn't affected by this

but maybe for patcher versions that suppport minecraft 1.13+ or higher, your call really on that part.

ghost commented 2 years ago

There's already a mod which does this: https://github.com/MinecraftMachina/McMouser

i already want to deny this since there's a mod that already does it

but it is far too obscure for anyone to pay attention to it

then you should promote it to other mac users so its not as obscure

Seeing as Patcher intends to aim for fixing MC bugs while also providing QoL (even if it exists in other mods), I figured this would be a feature worth adding even if McMouser exists.

mod has no license, mod seemingly has no sources on the lwjgl changes (it replaces the library), and i dont have a mac device so i have no way of testing this in the first place

will keep this open in the case that someone wants to try it, but im not interested myself

DJtheRedstoner commented 2 years ago

I have discussed with the author of that mod before (I advised them how to do the lwjgl library replacement). While Patcher could benefit from patching lwjgl, it would also be rather out of scope and would involve some complexities (maintaining lwjgl fork, building binaries, completely incompatibility with existing mods that replace lwjgl). Considering this mod exists and works fine, I don't see the need to add a patch for this certain issue in Patcher. However, if lwjgl2 continues to degrade over time (various issues have begun to arise across all platforms due to the relatively brittle code) it may be worth patching lwjgl2 (or upgrading to lwjgl3), either in Patcher or another mod.