Skip to content

# ShikiPad v5.2

Latest

Choose a tag to compare

@ForestOuting ForestOuting released this 22 Jul 03:23
· 6 commits to main since this release
  • Preserved a complete deferred modifier tap when a left-stick or Create/Options modifier is released before its arbitrated KeyDown can run, preventing fast taps from disappearing behind a touchpad output.
  • Made the modifier-binding wait genuinely independent from the pure layer grace window while retaining the original layer takeover boundaries.
  • Enforced the documented module order at runtime, added native Interception send-result checks with one retry, serialized context cleanup, and kept injector bookkeeping unchanged after failed sends.
  • Added a per-session single-instance lock, HID parse diagnostics, validated editable parameters, implemented the documented linear right-stick curve, and corrected all assembly metadata to V5.2.
  • Added reproducible release packaging, SHA-256 manifests, third-party notices, .NET 8 Desktop Runtime documentation, and driver-installer exit-code handling; removed the unused Bluetooth marker from the package definition.
  • Added a per-poll output arbiter so simultaneous modules cannot interleave independent output sequences. Priority is touchpad click, touch gesture, modifier transitions, L3/R3, eight action positions, left-stick wheel, then right-stick pointer movement.
  • Fixed left-stick and Create/Options modifier presses bypassing arbitration: their logical state and 45 ms binding are registered immediately, while physical KeyDown output is serialized after touchpad outputs and before bindable mouse/action output.
  • Release events never enter the arbiter: KeyUp/mouse-up/gesture-modifier cleanup always runs. Logical modifier registration plus Home, Mute, and shoulder/trigger state also update before arbitration; only physical modifier KeyDown is serialized.
  • Deferred mouse-button and action outputs keep their pending state for the next poll, and blocked repeats keep their due time instead of being silently settled.
  • KeyTap now temporarily releases and restores an already-held ordinary target key, preventing an atomic shortcut from stealing another module's held-key ownership.
  • Touch-gesture shortcuts now use exact modifier isolation: unrelated held modifiers are suspended for the atomic shortcut and restored afterward, while action-layer taps retain their intentional 45 ms bound modifiers.