Alpha-less colour cursors (Windows 11 coloured I-beam, some high-DPI system cursors) use the AND mask plus the colour bitmap as XOR — the same four-state table as monochrome.
AND=1 with a non-zero colour pixel is invert, not transparent. The old helper dropped those pixels, so the client installed a fully-transparent pointer over every text field.
Same invert-to-black + white-outline approximation as the monochrome converter, with tests. Confirmed on glass after deploying the host.
Test plan
Hover text on a Windows host (Notepad / browser) — I-beam stays visible
Arrow / hand / resize still look right
cargo test -p pf-capture --lib a_masked_color (Windows)
## Summary
- Alpha-less colour cursors (Windows 11 coloured I-beam, some high-DPI system cursors) use the AND mask plus the colour bitmap as XOR — the same four-state table as monochrome.
- AND=1 with a non-zero colour pixel is invert, not transparent. The old helper dropped those pixels, so the client installed a fully-transparent pointer over every text field.
- Same invert-to-black + white-outline approximation as the monochrome converter, with tests. Confirmed on glass after deploying the host.
## Test plan
- [x] Hover text on a Windows host (Notepad / browser) — I-beam stays visible
- [x] Arrow / hand / resize still look right
- [ ] `cargo test -p pf-capture --lib a_masked_color` (Windows)
AND=1 plus a non-zero colour pixel is invert, not transparent. Treating it as a simple alpha mask dropped the text cursor, so the client installed nothing over every text field.
Co-authored-by: Cursor <cursoragent@cursor.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Test plan
cargo test -p pf-capture --lib a_masked_color(Windows)