Skip to content

Commit e5385f5

Browse files
Beetixclaude
authored andcommitted
docs(linux): note that touchpad tap-to-click is not captured
evdev sees a physical clickpad press (a real BTN_LEFT) but not a tap: libinput synthesises tap-to-click above the kernel device and never writes it back, so there is nothing at the evdev layer the helper reads. Document the limitation for users under "Mouse clicks on Wayland", and at the device_reports_left_button site where a touchpad passes the BTN_LEFT check yet silently drops taps. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 8b4af1e commit e5385f5

2 files changed

Lines changed: 9 additions & 0 deletions

File tree

‎electron/native/pipewire-capture/src/input.rs‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,13 @@ pub fn spawn_readers(sender: &Sender<Message>) -> ClickCapture {
7979
}
8080
}
8181

82+
/// A touchpad advertises `BTN_LEFT` for a physical clickpad press, so it passes
83+
/// this check and its node is opened — but tap-to-click never arrives here.
84+
/// libinput consumes the raw `BTN_TOUCH`/`ABS_MT_*` stream and synthesises the
85+
/// button for its own clients without writing `BTN_LEFT` back to the kernel
86+
/// device, so a tap is invisible at the evdev layer we read. The consequence is
87+
/// documented for users under "Mouse clicks on Wayland" in the installation docs:
88+
/// on a touchpad only hard presses are captured, taps are not.
8289
fn device_reports_left_button(device: &Device) -> bool {
8390
device
8491
.supported_keys()

‎website/docs/installation.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,8 @@ Log out and back in for the new group to take effect. Nothing breaks without it
123123

124124
The scope is deliberately narrow: only the left mouse button (`BTN_LEFT`) is ever read, never keystrokes. To turn the reader off entirely even where the permission exists, set `OPENSCREEN_DISABLE_CLICK_CAPTURE=1` in the environment OpenScreen is launched from.
125125

126+
**Touchpads:** only a physical click — pressing the pad down until it depresses — is recorded. **Tap-to-click is not**, because your compositor's input stack (libinput) synthesises those taps for its own use and never writes them back to the kernel device that OpenScreen reads, so there is nothing at the evdev layer to see. A mouse, or a touchpad with tap-to-click turned off, records every click.
127+
126128
## Platform differences
127129

128130
The editing tools are the same everywhere — zooms, backgrounds, crop/trim/speed, annotations, transcription, captions, and projects. Every export format works on every platform; what differs is **capture**, and how fast MP4 encodes on Linux:

0 commit comments

Comments
 (0)