Skip to content

Humanize all computer endpoints#169

Open
ulziibay-kernel wants to merge 3 commits intomainfrom
ulziibay-kernel/humanize-computer-endpoints
Open

Humanize all computer endpoints#169
ulziibay-kernel wants to merge 3 commits intomainfrom
ulziibay-kernel/humanize-computer-endpoints

Conversation

@ulziibay-kernel
Copy link
Copy Markdown
Contributor

@ulziibay-kernel ulziibay-kernel commented Mar 2, 2026

This is a plan to implement human like interactions for all Computer Controls. https://www.kernel.sh/docs/browsers/computer-controls#computer-controls.
#148 added human like mouse movements. However, there are other movements like clicking, scrolling, typing, pressing that could use human like improvements.


Note

Low Risk
Documentation-only change that adds an implementation plan; it does not modify runtime code, APIs, or behavior yet.

Overview
Adds plans/humanize-computer-endpoints.md, a performance-focused design proposal to extend human-like behavior across computer control endpoints (click, type, press key, scroll, drag) while minimizing xdotool process spawns.

The doc outlines proposed API additions (a smooth flag on multiple request types), a small shared humanize helper library, and strategies for precomputing inline sleep timing or chunked typing to simulate natural input.

Written by Cursor Bugbot for commit 36b1a8d. This will update automatically on new commits. Configure here.

Covers click, type, press key, scroll, and drag mouse with
performance-first algorithms (zero additional xdotool process spawns).
Includes the existing Bezier curve mouse movement as reference.

Co-authored-by: Cursor <cursoragent@cursor.com>
@ulziibay-kernel ulziibay-kernel force-pushed the ulziibay-kernel/humanize-computer-endpoints branch from 6b34ba9 to f508bfa Compare March 2, 2026 18:06
@ulziibay-kernel ulziibay-kernel requested a review from rgarcia March 4, 2026 16:16
- Type text: use O(words) separate xdotool calls with Go-side sleeps
  instead of single-call chaining, since xdotool type consumes rest
  of argv and can't be chained with sleep.
- Type text: keep trailing delimiters (space, punctuation) with the
  preceding chunk so pauses happen after word boundaries.
- Scroll: use bounded total duration (default 200ms) instead of fixed
  per-tick slowMs/fastMs, so large tick counts don't block input.

Made-with: Cursor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants