Exopandora / ShoulderSurfing

Shoulder Surfing Reloaded is a highly configurable third person camera mod for minecraft.
MIT License
48 stars 9 forks source link

[BUG] Keybinds are handled incorrectly leading to incompatibility with Controlify #168

Closed isXander closed 2 months ago

isXander commented 2 months ago

Description

Currently, KeyHandler#tick is called every time a key event is fired, this is not correct behaviour. Like all other key mappings in Minecraft, the key handler should be called once per tick.

Because of this difference, Controlify cannot emulate the key binds correctly so they can be used on a controller.

Steps to Reproduce

  1. Install both Controlify and Shoulder Surfing
  2. Attempt to bind a controller button to a key mapping registered by Shoulder Surfing
  3. Observe that it doesn't work.

Expected Behavior

Shoulder Surfing and Controlify should work seemlessly, like most other mods with custom key mappings.

Screenshots

No response

Game Logs

N/A

Other Mods

Controlify

Additional Information

No response

Exopandora commented 2 months ago

Thanks for the report. I updated the implementation. From my testing, it seems to work now.

On another note, since you are the author of the mod: It would be nice if you could ship a refmap with your mod. This would allow loading it in a development environment, by simply putting it into the mods folder.

isXander commented 2 months ago

Thanks for the report. I updated the implementation. From my testing, it seems to work now.

On another note, since you are the author of the mod: It would be nice if you could ship a refmap with your mod. This would allow loading it in a development environment, by simply putting it into the mods folder.

Make sure your fabric loader and loom is up to date, it's a new feature where the mixins are remapped directly in the code without need for a refmap.

isXander commented 2 months ago

FYI it looks like the forge implementations are still affected by this.

Exopandora commented 2 months ago

Make sure your fabric loader and loom is up to date, it's a new feature where the mixins are remapped directly in the code without need for a refmap.

Thanks for the hint! I tested on 1.20.1, which has a very rather fabric version for compatibility reasons.

Exopandora commented 2 months ago

FYI it looks like the forge implementations are still affected by this.

Thanks for the pointer! I also updated the forge implementation.