Skip to content

Release v0.0.5-alpha

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 22 Nov 03:38
· 15 commits to main since this release
27b302c
chore: proper keybind handling and better input blocking system (#53)

* chore: move CigaretteScreen instance into Cigarette pkg

* create keybinding helper

* create Minecraft Keyboard mixin

* remove KeyBinding mod initializer

* add binding and press checks

* add input blocking methods

* add mouse blocking enabled by default when keys are blocked

* create keybind wrappers and InputBlocker class

* use new wrappers

* add mouse blocking

* add method to trigger virtual key press

* fix: wrapped keybinds do not receive events

* properly support mouse events (no scrolling)

* add virtual key holding and releasing

* fix: mouse virtual state desyncing from physical state after unblocking

* create tick helper to schedule events to occur in X ticks

* add hold/release for X ticks functionality

* chore: add javadocs to TickHelper

* chore: finish javadocs in KeybindHelper

* chore: rename keys to make sense

* add most other native keybinds

* chore: finish javadocs in MinecraftKeybind

* remove asMouse in favor of a constructor arg

* chore: finish javadocs in VirtualKeybind

* fix: missing checks on whether keybind is a mouse binding when comparing against mouse inputs

* chore: add javadocs to InputBlocker

* add methods for setting the default and current bounded key

* add registering method for virtual keybinds

* update KeybindWidget to use VirtualKeybind

* fix: pressing escape to unbind keybind closes GUI afterwards

* fix: keybinds loaded from config do not work

* remove KeyBindingAccessor and KeyboardInputMixin and update modules that used those

* fix: virtual keybinds trigger inside of GUIs

* fix crash when attempting to bridge on a mode that is disabled

* remove restriction on keys that can be bound

* fix virtual keybinds queueing events when modules are disabled

* fix: mouse events duplicate when in GUIs