Skip to content

Commit 2b0f59e

Browse files
committed
Fix last report getting duplicated when pen is OOR
1 parent 2fcdaac commit 2b0f59e

2 files changed

Lines changed: 11 additions & 7 deletions

File tree

DevocubFilters/AntiChatter.cs

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,10 @@ protected override void ConsumeState()
145145
else
146146
calcTarget = targetPos;
147147
}
148+
else
149+
{
150+
OnEmit();
151+
}
148152
}
149153

150154
protected override void UpdateState()
@@ -154,11 +158,9 @@ protected override void UpdateState()
154158
report.Position = Filter(calcTarget) / MillimeterScale;
155159
report.Pressure = this.pressure;
156160
State = report;
157-
}
158161

159-
if (PenIsInRange() || State is not ITabletReport)
160-
{
161-
OnEmit();
162+
if (PenIsInRange())
163+
OnEmit();
162164
}
163165
}
164166

HawkuFilters/Smoothing.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ protected override void ConsumeState()
3737
{
3838
if (State is ITabletReport report)
3939
this.targetPos = new Vector3(report.Position, report.Pressure) * mmScale;
40+
else
41+
OnEmit();
4042
}
4143

4244
protected override void UpdateState()
@@ -47,10 +49,10 @@ protected override void UpdateState()
4749
report.Position = new Vector2(newPoint.X, newPoint.Y);
4850
report.Pressure = (uint)newPoint.Z;
4951
State = report;
50-
}
5152

52-
if (PenIsInRange() || State is not ITabletReport)
53-
OnEmit();
53+
if (PenIsInRange())
54+
OnEmit();
55+
}
5456
}
5557

5658
public Vector3 Filter(Vector3 point)

0 commit comments

Comments
 (0)