Section 1
Getting Started

Loop 2.1 now has a full keyboard control system. You don't have to use it — everything still works with the mouse — but once the bindings are in your fingers, operating the machine feels fundamentally different. Your eyes can stay on the loops.

The system is designed to be learned incrementally. Start with the three keys you'll use constantly:

Space Start / Stop the clock     E Send (inject current value)     R Send ALU answer to loop

Those three alone are worth learning. Add bus chords when you're ready. Add the rest whenever it feels natural.

Input Fields
Keyboard bindings are automatically suppressed when any text field has focus — speed input, TG threshold, chat, notes, anything. You won't accidentally start the clock while typing a value. Press Escape at any time to leave a focused field and return keyboard control to the machine.
On Learning
Nobody operates fluently on day one. The binding positions were chosen for ergonomics, not memorability — they reward time at the machine, not time studying this document. Refer back here as needed. The cheat sheet (?, coming soon) is always one key away.
Section 2
The Keyboard Layout

Most bound keys live on the left side of the keyboard so your right hand can stay on the mouse. The four loop keys — S D F G — match the left-hand home row, spatially ordered to mirror the Working, ALU, Memory, and Big loops as they appear on screen.

`
1Bus A
2Bus B
3Bus C
4Bus D
5Bus E
6Bus F
7Bus G
8Bus H
9Bus I
0
[Slower
]Faster
Tab
QClear
ESend
RAnswer
TChat
Y
U
I
O
P
Caps
SWorking
DALU
FMemory
GBig
HValues
J
K
L
Shift
ZSlot→Loop
XWrite
CCap Route
VALU Op
B
NChallenge
M
.Step
Start / Stop
Clock
Loop
ALU
Memory
Inject
Bus
Chat
Challenge

Keys 5–9 are shown at reduced opacity — they're for toggling networking buses and use the same double-tap pattern as 1–4, but don't support chord entry.

Section 3
Clock & Stepping
KeyAction
SpaceStart / Stop the clock
.Step one tick (global — all running loops advance one position)
[Decrease clock speed one step
]Increase clock speed one step

Speed steps: 1 · 2 · 3 · 4 · 6 · 8 · 12 · 16 · 24 · 32 · 48 · 64 · 96 · 128 · 144 Hz. Each press of [ or ] moves one step along this ladder. The recommended operating speed for most work is 24 Hz.

Step Mode
With the clock stopped, . lets you step through computation bit by bit. This is the best way to trace an unexpected value or verify that a bus is routing correctly.
Section 4
Loop Controls

The four loop keys are spatially mapped to the left-hand home row. Working is under your pinky, then ALU, Memory, Big moving toward the index finger. Shift adds gate control to the same positions.

KeyActionLoop
SPause / ResumeWorking
DPause / ResumeALU
FPause / ResumeMemory
GPause / ResumeBig
Shift+SToggle gate open / closedWorking
Shift+DToggle gate open / closedALU
Shift+FToggle gate open / closedMemory
Shift+GToggle gate open / closedBig
Pause vs Gate
Pausing a loop stops its bits from moving but leaves the gate open — values can still enter or exit. Closing the gate blocks the loop's eject point entirely so nothing leaves regardless of bus state. They're different operations and together give you fine-grained control over when values move.
Section 5
ALU Actions
KeyAction
RSend ALU answer to loop
Shift+RSend comparator result to loop
VCycle ALU operation forward
Shift+VCycle ALU operation backward
CCycle capture route forward (OFF → A → B → C → D → OFF…)
Shift+CCycle capture route backward

Operation cycle order: ADD → SUB → AND → OR → XOR → NOT → SHL → SHR → NEG → INC → DEC — and back to ADD.

Why R and Not A
A is reserved as a chord target (it means "ALU loop" in the bus chord vocabulary). R for result — top row, left index finger reach, directly above the home row ALU key.
Section 6
Inject & Input
KeyAction
ESend — inject the current switch value into the Working loop
Shift+ERandom inject — a random value within the configured min/max range
QClear all input switches (set to zero)

Set your value with the bit switches, then press E to inject. Q clears the switches so you start fresh for the next value. For random-number work, configure the min/max in the RNG panel, then use Shift+E to fire values without touching the switches at all.

Section 7
Memory
KeyAction
XToggle Write to Slots on / off
Shift+XToggle Auto-Increment on / off
ZSend current slot to loop
Shift+ZBatch Write All — stream all 16 slots into the Memory loop

Z sends whichever slot address is currently selected. Shift+Z runs the full batch sequence regardless of the current address. Use X with Shift+X together to set up an auto-incrementing capture pass: enable Write to Slots, enable Auto-Inc, then start the clock and let words accumulate into consecutive slots.

Section 8
Bus Controls — Toggle

Two ways to toggle any internal bus (A–D) on or off:

  • Double-tap: press the bus key twice rapidly (1 1, 2 2, etc.). The threshold is 300ms — it's generous, not a trick shot.
  • Shift+number: Shift+1 through Shift+4. No timing required, always reliable.

Both methods produce identical behavior. Use whichever you prefer.

Double-tapShift+keyBus
1 1Shift+1Bus A
2 2Shift+2Bus B
3 3Shift+3Bus C
4 4Shift+4Bus D
Toggle vs Configure
Toggling on/off is separate from configuring source and destination. The toggle keys only flip a bus active or inactive. To change what a bus is connected to, use the chord system (next section) or the sidebar panels with the mouse.
Section 9
Bus Chord System

The chord system lets you configure a bus's source and destination with three keystrokes. The grammar is fixed:

[bus key]  [source key]  [destination key]

Press 1, 2, 3, or 4 to start a chord for that bus. The machine enters chord mode — a status display appears at the bottom of the screen showing your progress. Then type the source component, then the destination. The bus updates instantly on the third keystroke.

1 W A → Bus A: Working → ALU
2 A M → Bus B: ALU → Memory
3 M B → Bus C: Memory → Big
4 B W → Bus D: Big → Working
↑ Four-loop pipeline in 12 keystrokes
Component Keys
KeyComponentSourceDestination
WWorking loop
AALU loop
MMemory loop
BBig loop
PPattern Matcher 1 output
TThreshold Gate 1 output
KGlobal Counter
FFile Save

Sources produce data; destinations receive it. PM1 and TG1 outputs are source-only — you can route from them but not to them. File Save is destination-only. If you attempt an invalid combination (e.g. 1 F W — trying to use File Save as a source), the chord cancels cleanly and the status display shows why.

PM2 and TG2
The chord keys P and T map to PM1 and TG1 respectively. If you need to route from PM2 or TG2, use the sidebar bus configuration panels with the mouse. During fast operation, PM1 and TG1 cover the common case.
Cancellation

Press Escape at any point during a chord to cancel it. The bus is left unchanged. A chord that receives no input times out and cancels automatically after 2 seconds.

While a chord is active, all flat-layer keys are suppressed — pressing Space mid-chord won't accidentally stop the clock. The only active keys during a chord are the component target keys and Escape.

More Examples
1 P W → Bus A: PM1 output → Working
2 K A → Bus B: Global Counter → ALU
3 T M → Bus C: TG1 output → Memory
1 W F → Bus A: Working → File Save
1 1 → Toggle Bus A on/off (double-tap, not a chord)
2 A W → Bus B: ALU → Working
2 2 → Toggle Bus B off
Section 10
Networking Buses

Buses E through I are the networking buses. Their source/destination and peer configuration is click-only — there's no chord grammar for them. But toggling them on and off during active networked computation is a mid-flow action, so it's covered by the keyboard.

Same two methods as internal buses, same timing:

Double-tapShift+keyBus
5 5Shift+5Bus E (External)
6 6Shift+6Bus F (P2P Left)
7 7Shift+7Bus G (P2P Right)
8 8Shift+8Bus H (Net0)
9 9Shift+9Bus I (Net1)
No Chord for 5–9
Pressing 5 once does not enter chord mode — it starts the double-tap timer. If no second 5 arrives within 300ms, the press is discarded with no action. This prevents accidental chord entry on buses that don't support it.
Section 11
Chat

During networked sessions, the keyboard chat flow is designed to keep your hands on the machine.

KeyActionWhen
TOpen chat — focus the chat inputNo input focused
EnterSend message and exit chatChat open via T
EscapeCancel — discard text, return to machineChat input focused

The key behavior here is that Enter both sends and exits when you entered chat via T. One key to send, no second key to return to machine control. The round-trip is: T → type → Enter → back operating.

If you clicked into the chat input with the mouse instead, Enter sends but leaves focus in the chat field — the assumption is you may want to send several messages in sequence. Use Escape to leave.

T in Chord Context
T normally opens chat. But if a bus chord is active (you've pressed 1–4 and are waiting for a source key), T acts as the Threshold Gate 1 source target instead. The chord state takes priority. Once the chord completes or cancels, T returns to chat.
Section 12
Challenges

Most challenge setup is click-only — selecting challenge type, configuring parameters, adjusting scoring. But the actions that happen during active computation have keyboard shortcuts.

KeyActionCondition
NStart new challengeNo challenge currently active
Shift+NAbort challengeChallenge is active
HToggle Show ValuesChallenge active or complete
EnterRELEASE — inject staged valueNo input focused; RELEASE button is lit

N respects the current challenge type and parameter settings. It's equivalent to clicking NEW CHALLENGE — it won't start if a challenge is already running.

Enter for RELEASE is context-sensitive. If the chat input or any other field is focused, Enter goes to that field as normal. It only triggers RELEASE when you're at the machine (nothing focused) and the RELEASE button is active and lit. The priority is unambiguous: you cannot accidentally release a challenge value while typing.

Chain Sum Keyboard Workflow
A complete chain sum by keyboard: Space to start → wait for RELEASE to activate → Enter to release → operate the machine → T to message teammates → Enter to send and return to operating. No mouse required once the initial setup is done.
Appendix
Quick Reference

Flat Layer

KeyActionCategory
SpaceStart / Stop clockClock
.Step one tickClock
[Decrease clock speedClock
]Increase clock speedClock
SPause / Resume WorkingLoop
DPause / Resume ALULoop
FPause / Resume MemoryLoop
GPause / Resume BigLoop
RSend ALU answer to loopALU
VCycle ALU op forwardALU
CCycle capture route forwardALU
ESend (inject current value)Inject
QClear input switchesInject
XToggle Write to SlotsMemory
ZSend current slot to loopMemory
TOpen chat inputChat
NStart new challengeChallenge
HToggle Show ValuesChallenge
EnterChallenge RELEASE (when lit)Challenge

Shift Layer

BindingActionCategory
Shift+SToggle Working gateLoop
Shift+DToggle ALU gateLoop
Shift+FToggle Memory gateLoop
Shift+GToggle Big gateLoop
Shift+RSend comparator to loopALU
Shift+VCycle ALU op backwardALU
Shift+CCycle capture route backwardALU
Shift+ERandom injectInject
Shift+XToggle Auto-IncrementMemory
Shift+ZBatch Write AllMemory
Shift+14Toggle Bus A–DBus
Shift+59Toggle Bus E–INet Bus
Shift+NAbort challengeChallenge

Bus Chord Keys

KeyBusSingle pressDouble-tap
1Bus AEnter chord modeToggle on/off
2Bus BEnter chord modeToggle on/off
3Bus CEnter chord modeToggle on/off
4Bus DEnter chord modeToggle on/off
5Bus E(no action)Toggle on/off
6Bus F(no action)Toggle on/off
7Bus G(no action)Toggle on/off
8Bus H(no action)Toggle on/off
9Bus I(no action)Toggle on/off

Chord Target Keys (inside a chord)

KeyComponentSourceDest
WWorking
AALU
MMemory
BBig
PPM1 output
TTG1 output
KGlobal Counter
FFile Save

Always Available

KeyAction
EscapeCancel active chord · Blur any focused input field