Commit 93451ee
fw/services/touch: release an active touch when the last subscriber leaves
The last subscriber going away powers the touch sensor down mid-gesture,
so a finger that was down at teardown never produces a Liftoff. The
Touchdown's backlight hold (light_touch_down -> light_button_pressed)
then never unwinds: the button refcount stays pinned, the light never
enters its timed state, and with the sensor off no later touch can clear
it.
Synthesise the Liftoff with the last coordinates when the subscriber
count reaches zero, mirroring the teardown the global disable path
already performs for the same reason.
Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Joseph Mearman <joseph@mearman.co.uk>1 parent e7fe4f6 commit 93451ee
2 files changed
Lines changed: 28 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
66 | | - | |
| 66 | + | |
| 67 | + | |
67 | 68 | | |
68 | 69 | | |
69 | | - | |
70 | | - | |
71 | | - | |
72 | | - | |
| 70 | + | |
73 | 71 | | |
74 | 72 | | |
75 | 73 | | |
76 | 74 | | |
77 | 75 | | |
78 | 76 | | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
79 | 82 | | |
80 | 83 | | |
81 | 84 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
591 | 591 | | |
592 | 592 | | |
593 | 593 | | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
| 603 | + | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
| 607 | + | |
| 608 | + | |
| 609 | + | |
| 610 | + | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
594 | 614 | | |
595 | 615 | | |
596 | 616 | | |
| |||
0 commit comments