true-input
作者: factory-ai
用於機器人控制工作流程的背景知識——不直接調用。通過無頭模式實現真實終端模擬器自動化的True-input驅動機制…
npx skills add https://github.com/factory-ai/factory-plugins --skill true-inputTrue-Input Driver
The orchestrator routed you here. Use these mechanics to execute your plan.
Drive a real terminal emulator, injecting keystrokes through the platform's native HID input path. This proves exactly what bytes the terminal emits -- no synthetic injection, no PTY distortion.
When to use
- Proving that a terminal really sends the sequence you expect (e.g., Ghostty's
Shift+Enter) - Recording demos that reflect actual terminal rendering
- Validating that Droid handles a keystroke correctly end-to-end in a specific terminal
If you don't need real terminal proof, use tuistory -- it's faster and more deterministic.
Platform support
| Platform | Status | Driver | Read |
|---|---|---|---|
| Linux / Wayland | Implemented | cage + wtype + any Wayland terminal | platforms/linux.md |
| macOS (QEMU) | Implemented | QEMU monitor sendkey to a macOS VM | platforms/macos.md |
| Windows (KVM) | Implemented | virsh send-key to a KVM/QEMU VM | platforms/windows.md |
Read the platform file for your target OS. Each contains prerequisites, core pattern, command reference, encoding reference, recording, troubleshooting, and recovery -- specific to that platform.
Key differences from tuistory
| Concern | tuistory | true-input |
|---|---|---|
| Snapshot source | Virtual screen buffer | Scrubbed PTY log (Linux) or screenshot (VM platforms) |
| Wait mechanism | Event-driven (screen redraws) | Log polling (Linux) or sleep-based (VMs) |
| Recording | Must wrap launch (--record) | Can start/stop any time |
| Keyboard encoding | Synthetic (bypasses terminal) | Real terminal encoding path |
Known dead ends
- Xvfb + xdotool: bypasses real keyboard processing entirely
- uinput + Xvfb: Xvfb does not consume kernel input devices
- SSH for TUI testing: PTY layer distorts input encoding; use SSH only for deployment
- Raw
asciinema rec: true-input records viawf-recorder(Wayland screen capture), not asciinema. Usetctl --recordortctl record start/stop. Callingasciinema recdirectly has no access to the compositor and produces nothing useful.
來自 factory-ai 的更多技能
full-stack-playbook
factory-ai
這本手冊引導你執行一個全端網頁應用程式的任務。適用於CRUD應用、儀表板、電子商務網站,以及類似具有明確前端與後端層級的專案。
official
agent-browser
factory-ai
用於droid-control工作流程的背景知識——不直接調用。Agent-browser驅動機制,用於網頁和Electron桌面應用自動化。
official
autoresearch
factory-ai
自主實驗循環:嘗試想法,保留有效者,捨棄無效者,永不停歇。
official
ban-type-assertions
factory-ai
Ban `as` type assertions in a package via the `@typescript-eslint/consistent-type-assertions` lint rule, replacing them with compiler-verified type-safe…
official
browser-navigation
factory-ai
全面的瀏覽器自動化,適用於測試、資料擷取及網頁互動。
official
capture
factory-ai
用於機器人控制工作流程的背景知識——不直接調用。記錄終端和瀏覽器會話的生命週期。
official
commit-security-scan
factory-ai
使用LLM推理和威脅模型模式分析程式碼變更中的安全漏洞。適用於PR審查、提交前檢查或分支比較。
official
compose
factory-ai
用於droid-control工作流程的背景知識——不直接調用。通過Remotion進行視頻組裝——標題卡、佈局、轉場、特效及展示……
official