Keyboard controlBeta

Keys

Type, chord, shortcut. With human timing.

Keyboard control

Keystrokes with a pulse.

Keys produces key-down and key-up events for text and shortcuts with the inter-key timing of a person typing, including chords and held modifiers.

The text or the shortcut arrives as a token sequence from the language co-processor; the brain schedules the motor events. Typing rhythm, rollover and hold durations come from the recurrent dynamics, not from a random delay.

62 words per minute, with a person's rhythm.

Keys types at a configurable 40 to 120 words per minute. Inter-key intervals match recorded typists to within 12 ms on a per-bigram basis.

target Figures marked "target" are design targets for the first release, not measurements.

40–120targetWords per minuteconfigurable target speed
12 mstargetTiming errorper-bigram interval vs. recorded typists
100%targetShortcut fidelitychords released in the right order
How it is built

Same brain, its own wiring.

Input adapters occupy afferent regions, output adapters read efferent ones. Co-processors feed in through the embedding port.

The 3D view needs WebGPU or WebGL2.
Engine
  • FlyCore v0.1.0
  • weights v0.1.0-beta
Input adapters
  • token sequence
  • keyboard state
Output adapters
  • keyboard (down/up events)
Co-processors
  • Intent
Python
import flycore

brain = flycore.load("flylabs/keys")      # engine + weights + adapters
agent = brain.attach(keyboard=flycore.io.Keyboard())
agent.type("Hello, world", wpm=70)
agent.chord("cmd+s")
# events -> [(t, key, down|up), ...]
Use cases

Type, chord, shortcut. With human timing.

Form filling in test suites

Exercise input validation with realistic typing, not paste events.

Desktop agents

Pair with Cursor for a complete input device the operating system cannot tell from a person.

Limits
  • Beta: Latin keyboard layouts only.
  • Same licence restriction as Cursor: your interfaces, or ones you are authorised to automate.