From 452a4cf04f14967ed5fa97b727419f5966b94357 Mon Sep 17 00:00:00 2001 From: "5684185+vsariola@users.noreply.github.com" <5684185+vsariola@users.noreply.github.com> Date: Tue, 8 Jul 2025 22:33:19 +0300 Subject: [PATCH] feat(tracker/gioui): ctrl+drag changes knob value faster Slow down the normal dragging 4 x slower. --- tracker/gioui/param.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tracker/gioui/param.go b/tracker/gioui/param.go index 3cd59e2..732c837 100644 --- a/tracker/gioui/param.go +++ b/tracker/gioui/param.go @@ -177,7 +177,11 @@ func (s *ParamState) update(gtx C, param tracker.Parameter, scroll bool) { // update the value based on the drag amount m := param.Range() d := p.Position.Sub(s.dragStartPt) - amount := float32(d.X-d.Y) / float32(gtx.Dp(128)) + speed := gtx.Dp(512) + if p.Modifiers.Contain(key.ModCtrl) { + speed = gtx.Dp(128) + } + amount := float32(d.X-d.Y) / float32(speed) newValue := int(float32(s.dragStartVal) + amount*float32(m.Max-m.Min)) param.SetValue(newValue) s.tipArea.Appear(gtx.Now)