Commit cb981dc
fix(linux): address CodeRabbit re-review of the click-capture path
- Reconnect on the same node path. `read_device` now removes its path from the
shared `opened` set on every exit, so a device that unplugs and returns on the
same `/dev/input/eventN` is re-adopted by the next scan instead of skipped for
the rest of the recording. The set is an Arc<Mutex<HashSet>>; check-and-insert
is one locked step so two scans can't both adopt a path.
- Drop pre-stream presses by time, not just a flag. `PointerButton` and
`StreamEvent::State` arrive on different channels, so a "Share"-button press
read before streaming could be dequeued after a bare `streaming` flag flipped
true. Replace the flag with `streaming_since: Option<u64>` and emit a press only
when its read time is >= that instant — the older press is dropped regardless of
delivery order.
- Stop click capture on disconnect. `streaming_since` is cleared on the
`unconnected` transition, so presses after the stream drops no longer emit click
samples against a stale cursor position.
- Update the installation capability table: Linux click effects now work on
Wayland with the `input` group, matching the "Mouse clicks on Wayland" section.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>1 parent 4ce9237 commit cb981dc
3 files changed
Lines changed: 61 additions & 36 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
24 | 24 | | |
25 | 25 | | |
26 | 26 | | |
| 27 | + | |
27 | 28 | | |
28 | 29 | | |
29 | 30 | | |
| |||
79 | 80 | | |
80 | 81 | | |
81 | 82 | | |
82 | | - | |
83 | | - | |
84 | | - | |
85 | | - | |
86 | | - | |
87 | | - | |
88 | | - | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
89 | 90 | | |
90 | 91 | | |
91 | 92 | | |
| |||
94 | 95 | | |
95 | 96 | | |
96 | 97 | | |
| 98 | + | |
97 | 99 | | |
98 | 100 | | |
99 | | - | |
| 101 | + | |
100 | 102 | | |
101 | 103 | | |
102 | 104 | | |
103 | 105 | | |
104 | | - | |
105 | | - | |
106 | | - | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
107 | 110 | | |
108 | | - | |
| 111 | + | |
109 | 112 | | |
110 | 113 | | |
111 | | - | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
112 | 117 | | |
113 | | - | |
| 118 | + | |
| 119 | + | |
114 | 120 | | |
115 | 121 | | |
116 | 122 | | |
| |||
132 | 138 | | |
133 | 139 | | |
134 | 140 | | |
135 | | - | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
136 | 153 | | |
137 | 154 | | |
138 | 155 | | |
| |||
142 | 159 | | |
143 | 160 | | |
144 | 161 | | |
| 162 | + | |
145 | 163 | | |
146 | 164 | | |
147 | 165 | | |
| |||
150 | 168 | | |
151 | 169 | | |
152 | 170 | | |
| 171 | + | |
153 | 172 | | |
154 | 173 | | |
155 | 174 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
608 | 608 | | |
609 | 609 | | |
610 | 610 | | |
611 | | - | |
612 | | - | |
613 | | - | |
614 | | - | |
615 | | - | |
616 | | - | |
617 | | - | |
618 | | - | |
| 611 | + | |
| 612 | + | |
| 613 | + | |
| 614 | + | |
| 615 | + | |
| 616 | + | |
| 617 | + | |
| 618 | + | |
| 619 | + | |
| 620 | + | |
| 621 | + | |
619 | 622 | | |
620 | 623 | | |
621 | 624 | | |
| |||
680 | 683 | | |
681 | 684 | | |
682 | 685 | | |
683 | | - | |
684 | | - | |
685 | | - | |
| 686 | + | |
| 687 | + | |
| 688 | + | |
| 689 | + | |
686 | 690 | | |
687 | | - | |
688 | | - | |
689 | | - | |
690 | | - | |
691 | | - | |
692 | | - | |
693 | | - | |
694 | | - | |
| 691 | + | |
| 692 | + | |
695 | 693 | | |
696 | 694 | | |
697 | 695 | | |
| |||
1116 | 1114 | | |
1117 | 1115 | | |
1118 | 1116 | | |
| 1117 | + | |
| 1118 | + | |
| 1119 | + | |
| 1120 | + | |
1119 | 1121 | | |
1120 | | - | |
| 1122 | + | |
| 1123 | + | |
| 1124 | + | |
| 1125 | + | |
| 1126 | + | |
1121 | 1127 | | |
1122 | 1128 | | |
1123 | 1129 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
132 | 132 | | |
133 | 133 | | |
134 | 134 | | |
135 | | - | |
| 135 | + | |
136 | 136 | | |
137 | 137 | | |
138 | 138 | | |
| |||
0 commit comments