From a84e6c1ca2f007b53e64b56a5e1f9d3310bd6906 Mon Sep 17 00:00:00 2001 From: "masahiro.kasatani" Date: Thu, 2 Apr 2026 15:16:54 +0900 Subject: [PATCH] =?UTF-8?q?fix:=201G=20=E5=85=A5=E5=8A=9B=E6=99=82?= =?UTF-8?q?=E3=81=AB=20prevG=20=E3=83=95=E3=83=A9=E3=82=B0=E3=81=8C?= =?UTF-8?q?=E8=A7=A3=E9=99=A4=E3=81=95=E3=82=8C=E3=81=9A=E3=83=95=E3=83=AA?= =?UTF-8?q?=E3=83=BC=E3=82=BA=E3=81=99=E3=82=8B=E3=83=90=E3=82=B0=E3=82=92?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit G キーが Shift より 1 フレーム先に検出されると prevG=true がセットされ、 次フレームで Shift+G を押しても !shift 条件が合わず prevG が永久に解除 されなかった。IsKeyPressed で G が押し続けられている状態を確認することで このタイミング問題を解消する。 Co-Authored-By: Claude Sonnet 4.6 --- input/input.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/input/input.go b/input/input.go index 4f02df7..672da37 100644 --- a/input/input.go +++ b/input/input.go @@ -87,6 +87,12 @@ func (h *Handler) Read() (Command, rune) { h.prevG = false return CmdWordEndBack, 0 } + // G キーが Shift より 1 フレーム先に検出された場合、次フレームで + // Shift+G として判定できるよう IsKeyPressed で確認してフリーズを防ぐ。 + if shift && ebiten.IsKeyPressed(ebiten.KeyG) { + h.prevG = false + return CmdFileBottom, 0 + } return CmdNone, 0 }