1
mirror of https://github.com/Shiewk/Widgets.git synced 2026-04-28 11:34:17 +02:00

2.3.1: Fix keystroke display if using arrow keys

This commit is contained in:
Shy
2026-01-26 17:04:59 +01:00
parent bdcf351ba0
commit 48aaad944f
2 changed files with 12 additions and 2 deletions
+1 -1
View File
@@ -6,7 +6,7 @@ minecraft_version=1.21.11
yarn_mappings=1.21.11+build.4 yarn_mappings=1.21.11+build.4
loader_version=0.17.3 loader_version=0.17.3
# Mod Properties # Mod Properties
mod_version=2.3.0 mod_version=2.3.1
maven_group=de.shiewk maven_group=de.shiewk
archives_base_name=Widgets archives_base_name=Widgets
# Dependencies # Dependencies
@@ -96,7 +96,7 @@ public class KeyStrokesWidget extends ResizableWidget {
TextRenderer renderer = MinecraftClient.getInstance().textRenderer; TextRenderer renderer = MinecraftClient.getInstance().textRenderer;
for (Key key : new Key[]{KEY_FWD, KEY_BWD, KEY_LEFT, KEY_RIGHT, KEY_JUMP}){ for (Key key : new Key[]{KEY_FWD, KEY_BWD, KEY_LEFT, KEY_RIGHT, KEY_JUMP}){
if (key instanceof KeyLarge keyLarge){ if (key instanceof KeyLarge keyLarge){
keyLarge.boundToKey = key.binding.getBoundKeyLocalizedText().getString(); keyLarge.boundToKey = getKeyName(key);
keyLarge.boundToLength = renderer.getWidth(keyLarge.boundToKey); keyLarge.boundToLength = renderer.getWidth(keyLarge.boundToKey);
} }
final boolean pressed = key.binding.isPressed(); final boolean pressed = key.binding.isPressed();
@@ -107,6 +107,16 @@ public class KeyStrokesWidget extends ResizableWidget {
} }
} }
private static String getKeyName(Key key) {
return switch (key.binding.getBoundKeyTranslationKey()) {
case "key.keyboard.up" -> "\u2191";
case "key.keyboard.down" -> "\u2193";
case "key.keyboard.left" -> "\u2190";
case "key.keyboard.right" -> "\u2192";
default -> key.binding.getBoundKeyLocalizedText().getString();
};
}
@Override @Override
public Text getName() { public Text getName() {
return Text.translatable("widgets.widgets.keystrokes"); return Text.translatable("widgets.widgets.keystrokes");