diff --git a/runelite-client/src/main/java/net/runelite/client/config/Keybind.java b/runelite-client/src/main/java/net/runelite/client/config/Keybind.java index 018f337d5c..47bbd64343 100644 --- a/runelite-client/src/main/java/net/runelite/client/config/Keybind.java +++ b/runelite-client/src/main/java/net/runelite/client/config/Keybind.java @@ -133,7 +133,7 @@ public class Keybind String mod = ""; if (modifiers != 0) { - mod = InputEvent.getModifiersExText(modifiers); + mod = getModifiersExText(modifiers); } if (mod.isEmpty() && key.isEmpty()) @@ -150,4 +150,31 @@ public class Keybind } return mod; } + + public static String getModifiersExText(int modifiers) + { + StringBuilder buf = new StringBuilder(); + if ((modifiers & InputEvent.META_DOWN_MASK) != 0) + { + buf.append("Meta+"); + } + if ((modifiers & InputEvent.CTRL_DOWN_MASK) != 0) + { + buf.append("Ctrl+"); + } + if ((modifiers & InputEvent.ALT_DOWN_MASK) != 0) + { + buf.append("Alt+"); + } + if ((modifiers & InputEvent.SHIFT_DOWN_MASK) != 0) + { + buf.append("Shift+"); + } + + if (buf.length() > 0) + { + buf.setLength(buf.length() - 1); // remove trailing '+' + } + return buf.toString(); + } }