Let LVGL decide a tap on the Guition: release inside the tile counts (0.2.33)
A firm press on Studio 1 that drifted 73 px was still refused by the touch guard's movement limit. On a capacitive panel that limit has no job left: the edge swipe consumes its own tap, sliders capture their own drag, and LVGL already drops the click when the finger leaves the tile. The guard's limit can now be 0 (no limit); the Guition profile sets it so, the CYD keeps 56 px because its resistive panel jumps. Firmware 0.2.28 for both boards; the app only moves its target version. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -76,6 +76,18 @@ int main() {
|
||||
wide.begin(3200, 200, 200, 3);
|
||||
assert(!wide.accept(3260, 2)); // same tile within 600 ms
|
||||
assert(wide.reason() == "dezelfde knop binnen de dendertijd");
|
||||
// No movement limit (0): a capacitive board leaves the drift decision to LVGL's press-lost.
|
||||
cyd::TouchGuard free;
|
||||
free.configure(0, 20);
|
||||
free.begin(100, 200, 200, 3);
|
||||
free.update(205, 200, 3); free.update(205, 200, 3); free.update(205, 200, 3); // settled
|
||||
free.update(400, 260, 3);
|
||||
assert(free.distance() > 200);
|
||||
assert(free.accept(180, 1)); // 200 px of drift, still a tap
|
||||
free.begin(1000, 200, 200, 3);
|
||||
free.update(205, 200, 3); free.update(205, 200, 3); free.update(205, 200, 3);
|
||||
free.update(400, 200, 3);
|
||||
assert(free.accept_repeat(1060, 7)); // -/+ keys follow the same rule
|
||||
cyd::TouchGuard resistive;
|
||||
resistive.configure(56, 60);
|
||||
resistive.begin(100, 50, 50);
|
||||
|
||||
Reference in New Issue
Block a user