diff options
| author | hannibal2 <24389977+hannibal00212@users.noreply.github.com> | 2023-10-12 13:34:42 +0200 |
|---|---|---|
| committer | hannibal2 <24389977+hannibal00212@users.noreply.github.com> | 2023-10-12 13:34:42 +0200 |
| commit | 06ef6be0fd0b7085c7121f100dff354311287e2b (patch) | |
| tree | a001a11533641cff0b5194a0b29984f49a47fb63 /src/main/java/at/hannibal2/skyhanni/utils | |
| parent | db0cd17c7019c072a5043ae8d0dca8ce6459fb32 (diff) | |
| download | skyhanni-06ef6be0fd0b7085c7121f100dff354311287e2b.tar.gz skyhanni-06ef6be0fd0b7085c7121f100dff354311287e2b.tar.bz2 skyhanni-06ef6be0fd0b7085c7121f100dff354311287e2b.zip | |
code cleanup, There are no Utils registered as listeners, and replacing OSUtils.isKeyHeld(key) to key.isKeyHeld()
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/utils')
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/utils/KeyboardManager.kt (renamed from src/main/java/at/hannibal2/skyhanni/utils/KeyboardUtils.kt) | 37 | ||||
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/utils/OSUtils.kt | 27 |
2 files changed, 31 insertions, 33 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/utils/KeyboardUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/KeyboardManager.kt index b06a7621e..21a17e740 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/KeyboardUtils.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/KeyboardManager.kt @@ -2,22 +2,24 @@ package at.hannibal2.skyhanni.utils import at.hannibal2.skyhanni.events.LorenzKeyPressEvent import at.hannibal2.skyhanni.events.LorenzTickEvent +import io.github.moulberry.moulconfig.internal.KeybindHelper +import net.minecraft.client.settings.KeyBinding import net.minecraftforge.fml.common.eventhandler.SubscribeEvent import org.apache.commons.lang3.SystemUtils import org.lwjgl.input.Keyboard import org.lwjgl.input.Mouse -object KeyboardUtils { +object KeyboardManager { private var lastClickedMouseButton = -1 // A mac-only key, represents Windows key on windows (but different key code) - fun isCommandKeyDown() = OSUtils.isKeyHeld(Keyboard.KEY_LMETA) || OSUtils.isKeyHeld(Keyboard.KEY_RMETA) - fun isControlKeyDown() = OSUtils.isKeyHeld(Keyboard.KEY_LCONTROL) || OSUtils.isKeyHeld(Keyboard.KEY_RCONTROL) - fun isShiftKeyDown() = OSUtils.isKeyHeld(Keyboard.KEY_LSHIFT) || OSUtils.isKeyHeld(Keyboard.KEY_RSHIFT) + fun isCommandKeyDown() = Keyboard.KEY_LMETA.isKeyHeld() || Keyboard.KEY_RMETA.isKeyHeld() + fun isControlKeyDown() = Keyboard.KEY_LCONTROL.isKeyHeld() || Keyboard.KEY_RCONTROL.isKeyHeld() + fun isShiftKeyDown() = Keyboard.KEY_LSHIFT.isKeyHeld() || Keyboard.KEY_RSHIFT.isKeyHeld() fun isPastingKeysDown(): Boolean { val modifierHeld = if (SystemUtils.IS_OS_MAC) isCommandKeyDown() else isControlKeyDown() - return modifierHeld && OSUtils.isKeyHeld(Keyboard.KEY_V) + return modifierHeld && Keyboard.KEY_V.isKeyHeld() } @SubscribeEvent @@ -37,7 +39,7 @@ object KeyboardUtils { } if (Mouse.getEventButton() == -1 && lastClickedMouseButton != -1) { - if (OSUtils.isKeyHeld(lastClickedMouseButton)) { + if (lastClickedMouseButton.isKeyHeld()) { LorenzKeyPressEvent(lastClickedMouseButton).postAndCatch() println("still holding") return @@ -50,4 +52,27 @@ object KeyboardUtils { LorenzKeyPressEvent(Keyboard.getEventCharacter().code + 256).postAndCatch() } } + + fun KeyBinding.isActive(): Boolean { + if (!Keyboard.isCreated()) return false + try { + if (keyCode.isKeyHeld()) return true + } catch (e: IndexOutOfBoundsException) { + println("KeyBinding isActive caused an IndexOutOfBoundsException with keyCode: $keyCode") + e.printStackTrace() + return false + } + return this.isKeyDown || this.isPressed + } + + fun Int.isKeyHeld(): Boolean { + if (this == 0) return false + return if (this < 0) { + Mouse.isButtonDown(this + 100) + } else { + KeybindHelper.isKeyDown(this) + } + } + + fun getKeyName(keyCode: Int): String = KeybindHelper.getKeyName(keyCode) }
\ No newline at end of file diff --git a/src/main/java/at/hannibal2/skyhanni/utils/OSUtils.kt b/src/main/java/at/hannibal2/skyhanni/utils/OSUtils.kt index 981ea87c3..b083b2d3b 100644 --- a/src/main/java/at/hannibal2/skyhanni/utils/OSUtils.kt +++ b/src/main/java/at/hannibal2/skyhanni/utils/OSUtils.kt @@ -1,9 +1,5 @@ package at.hannibal2.skyhanni.utils -import io.github.moulberry.moulconfig.internal.KeybindHelper -import net.minecraft.client.settings.KeyBinding -import org.lwjgl.input.Keyboard -import org.lwjgl.input.Mouse import java.awt.Desktop import java.io.IOException import java.net.URI @@ -30,27 +26,4 @@ object OSUtils { } suspend fun readFromClipboard() = ClipboardUtils.readFromClipboard() - - fun KeyBinding.isActive(): Boolean { - if (!Keyboard.isCreated()) return false - try { - if (isKeyHeld(keyCode)) return true - } catch (e: IndexOutOfBoundsException) { - println("KeyBinding isActive caused an IndexOutOfBoundsException with keyCode: $keyCode") - e.printStackTrace() - return false - } - return this.isKeyDown || this.isPressed - } - - fun isKeyHeld(keyCode: Int): Boolean { - if (keyCode == 0) return false - return if (keyCode < 0) { - Mouse.isButtonDown(keyCode + 100) - } else { - KeybindHelper.isKeyDown(keyCode) - } - } - - fun getKeyName(keyCode: Int): String = KeybindHelper.getKeyName(keyCode) } |
