diff --git a/src/main/java/codechicken/nei/LayoutManager.java b/src/main/java/codechicken/nei/LayoutManager.java index 8167f0d0..3f7db40d 100644 --- a/src/main/java/codechicken/nei/LayoutManager.java +++ b/src/main/java/codechicken/nei/LayoutManager.java @@ -359,11 +359,18 @@ public class LayoutManager implements IContainerInputHandler, IContainerTooltipH this.icons[2] = new DrawableBuilder("nei:textures/nei_tabbed_sprites.png", 64, 0, 16, 16).build(); } + private boolean getIsAccessibleControlEventKey() { + if (Minecraft.isRunningOnMac) { + return Keyboard.getEventKey() == Keyboard.KEY_LMETA || Keyboard.getEventKey() == Keyboard.KEY_RMETA; + } + return Keyboard.getEventKey() == Keyboard.KEY_LCONTROL + || Keyboard.getEventKey() == Keyboard.KEY_RCONTROL; + } + @Override public boolean onButtonPress(boolean rightclick) { if (!rightclick) { - if (Keyboard.getEventKeyState() && (Keyboard.getEventKey() == Keyboard.KEY_LCONTROL - || Keyboard.getEventKey() == Keyboard.KEY_RCONTROL)) { + if (Keyboard.getEventKeyState() && getIsAccessibleControlEventKey()) { NEIClientConfig.cycleSetting("inventory.cheatmode", 3); } else { if (Keyboard.getEventKeyState() && (Keyboard.getEventKey() == Keyboard.KEY_LSHIFT diff --git a/src/main/java/codechicken/nei/NEIClientUtils.java b/src/main/java/codechicken/nei/NEIClientUtils.java index 35e7a2ae..043e6f78 100644 --- a/src/main/java/codechicken/nei/NEIClientUtils.java +++ b/src/main/java/codechicken/nei/NEIClientUtils.java @@ -251,6 +251,9 @@ public class NEIClientUtils extends NEIServerUtils { } public static boolean controlKey() { + if (Minecraft.isRunningOnMac) { + return Keyboard.isKeyDown(Keyboard.KEY_LMETA) || Keyboard.isKeyDown(Keyboard.KEY_RMETA); + } return Keyboard.isKeyDown(Keyboard.KEY_LCONTROL) || Keyboard.isKeyDown(Keyboard.KEY_RCONTROL); }