Files
NeoForge/patches/net/minecraft/client/KeyboardHandler.java.patch
T
b160270bd5 Port to 26.3 (#3403)
Co-authored-by: XFactHD <[email protected]>
Co-authored-by: Technici4n <[email protected]>
Co-authored-by: sciwhiz12 <[email protected]>
Co-authored-by: Matyrobbrt <[email protected]>
Co-authored-by: Marc Hermans <[email protected]>
Co-authored-by: Sara Freimer <[email protected]>
2026-09-16 03:08:09 +08:00

59 lines
3.2 KiB
Diff

--- a/net/minecraft/client/KeyboardHandler.java
+++ b/net/minecraft/client/KeyboardHandler.java
@@ -496,7 +_,11 @@
if (screen != null) {
try {
if (action != 1 && action != -1) {
- if (action == 0 && screen.keyReleased(event)) {
+ if (action == 0 && (
+ net.neoforged.neoforge.client.ClientHooks.onScreenKeyReleasedPre(screen, event) ||
+ screen.keyReleased(event) ||
+ net.neoforged.neoforge.client.ClientHooks.onScreenKeyReleasedPost(screen, event))
+ ) {
if (options.keyDebugModifier.matches(event)) {
this.usedDebugKeyAsModifier = false;
}
@@ -505,7 +_,11 @@
}
} else {
screen.afterKeyboardAction();
- if (screen.keyPressed(event)) {
+ if (
+ net.neoforged.neoforge.client.ClientHooks.onScreenKeyPressedPre(screen, event) ||
+ screen.keyPressed(event) ||
+ net.neoforged.neoforge.client.ClientHooks.onScreenKeyPressedPost(screen, event)
+ ) {
if (this.minecraft.gui.screen() == null) {
InputConstants.Key key = InputConstants.getKey(event);
KeyMapping.set(key, false);
@@ -578,6 +_,7 @@
}
}
}
+ net.neoforged.neoforge.client.ClientHooks.onKeyInput(event, action);
}
}
@@ -586,7 +_,9 @@
Screen screen = this.minecraft.gui.screen();
if (screen != null && this.minecraft.gui.overlay() == null) {
try {
- screen.charTyped(event);
+ if (net.neoforged.neoforge.client.ClientHooks.onScreenCharTypedPre(screen, event)) return;
+ if (screen.charTyped(event)) return;
+ net.neoforged.neoforge.client.ClientHooks.onScreenCharTypedPost(screen, event);
} catch (Throwable t) {
CrashReport report = CrashReport.forThrowable(t, "charTyped event handler");
CrashReportCategory keyDetails = report.addCategory("Key");
@@ -618,7 +_,9 @@
public static void submitPreeditEvent(GuiEventListener element, @Nullable PreeditEvent event) {
try {
- element.preeditUpdated(event);
+ if (element instanceof Screen screen && net.neoforged.neoforge.client.ClientHooks.onScreenPreeditPre(screen, event)) return;
+ if (element.preeditUpdated(event)) return;
+ if (element instanceof Screen screen) net.neoforged.neoforge.client.ClientHooks.onScreenPreeditPost(screen, event);
} catch (Throwable t) {
CrashReport report = CrashReport.forThrowable(t, "IME pre-edit event handler");
CrashReportCategory keyDetails = report.addCategory("Event");