Docs  /  Typing — desktop keyboard injection

Typing — desktop keyboard injection

_Typing injects keystrokes via Win32 SendInput, with a queue for the computer loop, optional vision keyboard assist, dry-run, and safety gates.

Wired call sites

Caller Use
Computers.cpp TypingInit, vision Typing(frame), ProcessTypingTick
ComputerBot.cpp OpenApplicationSearch
ComputerRL.cpp EnqueueText
Startup (typing_commands) TypingInit + command thread
Speech typing … / type … / keyboard …
Lua ai_typing_status, ai_typing_text, ai_typing_queue

Commands

typing status
typing doctor
typing dry-run on
typing delay 40
typing text hello world
typing enter open notepad
typing queue slow text
typing process 10
typing clear
typing open Calculator
typing tap enter
typing vision inject on
typing on|off

Safety

Live inject runs through:

  1. enabled / dry-run flags
  2. LegalShield — blocks illegal-looking text
  3. SafetyEthicsTrust gate — may require confirm for destructive phrasing

Prefer:

typing dry-run on
typing text test message

before live desktop control.

Debug tips

Symptom Check
Nothing types typing status → enabled? dry-run? queue?
Queue never drains computer loop / typing process
Ethics block legal check <text> / confirm gate
Wrong keys focus target window; layout US-ish VkKeyScan
Vision noise keep vision inject off unless calibrated

API

_Typing::TypingInit();
_Typing::SetDryRun(true);
_Typing::TypeText("hello");
_Typing::EnqueueText("world");
_Typing::ProcessTypingTick(true);
_Typing::GetTypingStatus();
Generated from the project markdown docs on 2026-07-24. This is a static, self-contained site.