diff --git a/internal/app/darktile/gui/gui.go b/internal/app/darktile/gui/gui.go index a2614c0..e501238 100644 --- a/internal/app/darktile/gui/gui.go +++ b/internal/app/darktile/gui/gui.go @@ -102,12 +102,12 @@ func (g *GUI) Run() error { func (g *GUI) watchForUpdate() { for range g.updateChan { ebiten.ScheduleFrame() - go func() { - if g.keyState.AnythingPressed() { + if g.keyState.AnythingPressed() { + go func() { time.Sleep(time.Millisecond * 10) ebiten.ScheduleFrame() - } - }() + }() + } } } diff --git a/internal/app/darktile/gui/key_states.go b/internal/app/darktile/gui/key_states.go index d650381..6ea4163 100644 --- a/internal/app/darktile/gui/key_states.go +++ b/internal/app/darktile/gui/key_states.go @@ -30,6 +30,8 @@ type press struct { } func (k *keyState) AnythingPressed() bool { + k.mu.Lock() + defer k.mu.Unlock() return len(k.keys) > 0 }