From 93f7ef0e6f19813985c4dba61872ba9fb952cc80 Mon Sep 17 00:00:00 2001 From: Kevin <66999025+DAQEM@users.noreply.github.com> Date: Tue, 14 Oct 2025 02:10:25 +0200 Subject: [PATCH] fix: change keyCode to action (#667) * fix: change keyCode to action The int passed to the keyPressed function represents the action instead of the keyCode. The keyCode is inside the keyEvent. The action is 1 for key pressed and 0 for key released. * fix: wrong parameter in NeoForge --- .../event/events/client/ClientRawInputEvent.java | 6 +++--- .../mixin/fabric/client/MixinKeyboardHandler.java | 4 ++-- .../architectury/event/forge/EventHandlerImplClient.java | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/common/src/main/java/dev/architectury/event/events/client/ClientRawInputEvent.java b/common/src/main/java/dev/architectury/event/events/client/ClientRawInputEvent.java index 43bdeb29..2974748e 100644 --- a/common/src/main/java/dev/architectury/event/events/client/ClientRawInputEvent.java +++ b/common/src/main/java/dev/architectury/event/events/client/ClientRawInputEvent.java @@ -32,7 +32,7 @@ public interface ClientRawInputEvent { */ Event MOUSE_SCROLLED = EventFactory.createEventResult(); /** - * @see MouseClicked#mouseClicked(Minecraft, int, int, int) + * @see MouseClicked#mouseClicked(Minecraft, MouseButtonInfo, int) */ Event MOUSE_CLICKED_PRE = EventFactory.createEventResult(); Event MOUSE_CLICKED_POST = EventFactory.createEventResult(); @@ -47,12 +47,12 @@ public interface ClientRawInputEvent { * Equivalent to Forge's {@code InputEvent.KeyInputEvent} event. * * @param client The Minecraft instance performing it. - * @param keyCode The key code. + * @param action The action that should be performed. * @param keyEvent The key event. * @return A {@link EventResult} determining the outcome of the event, * the execution of the vanilla pressing mechanism may be cancelled by the result. */ - EventResult keyPressed(Minecraft client, int keyCode, KeyEvent keyEvent); + EventResult keyPressed(Minecraft client, int action, KeyEvent keyEvent); } interface MouseScrolled { diff --git a/fabric/src/main/java/dev/architectury/mixin/fabric/client/MixinKeyboardHandler.java b/fabric/src/main/java/dev/architectury/mixin/fabric/client/MixinKeyboardHandler.java index 5c4650fd..cc8d0d63 100644 --- a/fabric/src/main/java/dev/architectury/mixin/fabric/client/MixinKeyboardHandler.java +++ b/fabric/src/main/java/dev/architectury/mixin/fabric/client/MixinKeyboardHandler.java @@ -73,9 +73,9 @@ public class MixinKeyboardHandler { } @Inject(method = "keyPress", at = @At("RETURN"), cancellable = true) - public void onRawKey(long handle, int key, KeyEvent keyEvent, CallbackInfo info) { + public void onRawKey(long handle, int action, KeyEvent keyEvent, CallbackInfo info) { if (handle == this.minecraft.getWindow().handle()) { - var result = ClientRawInputEvent.KEY_PRESSED.invoker().keyPressed(minecraft, key, keyEvent); + var result = ClientRawInputEvent.KEY_PRESSED.invoker().keyPressed(minecraft, action, keyEvent); if (result.isPresent()) info.cancel(); } diff --git a/neoforge/src/main/java/dev/architectury/event/forge/EventHandlerImplClient.java b/neoforge/src/main/java/dev/architectury/event/forge/EventHandlerImplClient.java index 29553cc6..a5155019 100644 --- a/neoforge/src/main/java/dev/architectury/event/forge/EventHandlerImplClient.java +++ b/neoforge/src/main/java/dev/architectury/event/forge/EventHandlerImplClient.java @@ -298,7 +298,7 @@ public class EventHandlerImplClient { @SubscribeEvent(priority = EventPriority.HIGH) public static void eventInputEvent(InputEvent.Key event) { - ClientRawInputEvent.KEY_PRESSED.invoker().keyPressed(Minecraft.getInstance(), event.getKey(), event.getKeyEvent()); + ClientRawInputEvent.KEY_PRESSED.invoker().keyPressed(Minecraft.getInstance(), event.getAction(), event.getKeyEvent()); } @SubscribeEvent(priority = EventPriority.HIGH)