Keyboard and Mouse Shortcuts
Four tables, one page
What each button does, and the features that have no shortcut, are in the editor reference. If this is your first time, walk through the editor quick start first.
Two worlds: focus decides the keyboard
The editor has two places you can work in — the piano roll and the MML text pane — and they share one keyboard. There is only one rule:
While focus is in the text pane, every roll key gets out of the way.
Which is to say: while you are typing in a text box, Delete deletes characters, Ctrl+C copies text and the arrow keys move the cursor, exactly as in any other text box. That holds even while the mouse is sitting over the roll — resting your hand over the roll while typing is a natural posture, and having your text paste swallowed at that moment would be maddening.
To get back to the roll's world, click on the roll (the mode where clicking empty space draws nothing is Select only).
The keys on the roll side share one precondition: something has to be selected. Delete, +/- and Ctrl+C/X all act on "the notes you selected", and with no selection nothing happens at all.
Also, the whole set stands down while a dialog or a right-click menu is open: with the Velocity box open, Delete will not delete the notes behind it and 3 will not quietly change the note length.
The five playback keys are a separate group (Space and the four arrow keys): they need no selection, but they get out of the way while you are typing in the text pane just the same — pressing the space bar in a text box types a space. See playback shortcuts.
While focus is in the MML text pane, every key in the two keyboard tables below gets out of the way and you are in plain text editing (Delete deletes characters, Ctrl+C copies text, the arrow keys move the cursor, Space types a space). They stand down entirely while a dialog or a right-click menu is open as well.
Switching tabs and saving have no shortcuts — the buttons are the only way (saving happens on its own anyway; see the settings drawer).
Playback
| Key | Effect | Requires |
|---|---|---|
| Space | Play / pause / resume | Engine ready; focus not on another button or input |
| ←/→ | Playhead one bar back / forward | Playing or paused |
| ↑ | Back to the start | Playing or paused |
| ↓ | Stop | Playing or paused |
| ⏯ ⏹ ⏮ ⏭ | Media keys: play/pause, stop, one bar back/forward | After Play has been pressed once |
Piano roll keyboard
| Key | Effect | Requires |
|---|---|---|
| 0 | Switches to Select only (arrow) mode | — |
| 1 2 3 4 5 6 | Note length: whole / half / quarter / eighth / sixteenth / thirty-second | — |
| 7 | Sixty-fourth note. There is no button for this one — press it and all seven go dark, which is not a fault but "the current length is not one of these seven". The note icon on the left tells you what it is | — |
| . | Toggles whether the notes you draw next carry a dot (one and a half times as long). To dot notes already drawn, use the right-click menu | Drawing mode; sixty-fourth notes cannot be dotted |
| Ctrl+A | Selects every note in the part you are on. Follow it with Ctrl+C and you have the whole part as MML | — |
| Ctrl+D | Duplicates the selection right after itself, pushed on by a whole number of bars. Hold Ctrl and tap D to lay it down bar after bar | A selection, not playing |
| Delete/Backspace | Selected notes become rests of the same length | A selection, not playing |
| +/- | Velocity one step up or down | A selection, not playing |
| Ctrl+C | Copies the selected notes | A selection |
| Ctrl+X | Cuts the selected notes | A selection, not playing |
| Ctrl+V | Pastes notes (landing on the selection or the mouse position) | Not playing |
| ↑ ↓ ← → | Half-cell fine-tuning (only ← → while resizing) | Only during a drag |
| Shift+↑ ↓ | One octave up or down | Only during a drag; a drum roll has no octaves, so nothing moves there |
| Shift+← → | One bar back or forward. It shifts, it does not snap — a note on an off-beat lands on the same off-beat of the next bar | Only during a drag |
| Esc | Cancels the drag in progress and stops the preview; with no drag going, clears the selection | — |
Mouse and wheel
| Gesture | Effect | Requires |
|---|---|---|
| Left click on empty space | Draws a note | Drawing mode |
| Left click on empty space | Sets the playback start marker | Select only mode |
| Left drag from empty space | Marquee: the selection becomes exactly the notes the box caught (catching none clears it) | Select only mode, not playing |
| Ctrl+drag from empty space | Marquee add: what was already selected stays | Select only mode, not playing |
| Right click on empty space | Opens the right-click menu | — |
| Left / right click on the bar ruler | Sets the playback start marker / opens a menu | Works during playback too |
| Left click a note | Selects it and sounds it once | — |
| Right click a note | Opens the note menu | — |
| Drag a note | Moves it | Not playing |
| Drag a note's right edge | Changes its length | Single selection, not playing |
| Ctrl+click a note | Adds to or removes from the selection | Not playing |
| Shift+click a note | Range selection | Not playing |
| Double-click a note | The text cursor jumps to its position | Select only mode, not playing |
| Click a key on the left | Sounds that note | Works during playback too |
| Ctrl+wheel | Column-width zoom | — |
| Ctrl+Shift+wheel or Alt+wheel | Row-height zoom | — |
| Shift+wheel | Horizontal scrolling | — |
Ctrl+clicking a note and Ctrl+marquee are not the same, and that is deliberate. Clicking toggles (an already-selected note comes out); a box is add only (already-selected notes always stay). A box cannot reliably catch "only the ones not yet selected", so it does not try to toggle.
A plain box (no Ctrl) replaces: the selection becomes exactly what it caught. A selection can be off-screen with nothing on screen to say so, which is why adding is not the default — otherwise "select a few notes in bar 3, scroll to bar 40, box the ones in front of you" would quietly edit bar 3 too.
Everywhere
| Key | Effect | Requires |
|---|---|---|
| Ctrl+Z | Undo | — |
| Ctrl+Shift+Z/Ctrl+Y | Redo | — |
| Ctrl+S | Saves this score. Once it has been saved and the name is unchanged, it writes straight back to the same file; otherwise it opens the save box | — |
| Esc | Closes dialogs, the settings drawer and the phone menu | — |
| ↑ ↓ | Adjusts the height of the roll and the editing area (Shift for bigger steps) | Focus on the splitter |
| Enter/Esc | Confirms / cancels a rename | While renaming a score |
| [/] | Moves this score’s instrument to the previous / next one in the list. Hold to run through the list; it stops at either end | Focus not in a text area or a dropdown; no dialog or settings drawer open |
| M | Mutes / unmutes this score. On playback only — export, save and share stay complete | Focus not in a text area or a dropdown; no dialog or settings drawer open |
| Shift+M | Plays only this score and mutes all the others. Press again to release | Same as above |
| H | Shows / hides this score's notes in the roll. It still sounds and still exports | Same as above |
| Shift+H | Shows only this score in the roll and takes all the others off. Press again to show them all | Same as above |
| S | Turns the 3D mix on and off (the concentric circles at the end of the instrument row). It does not open the box — this key is for flipping it on and off to hear the difference | Same as above |
Ctrl+S does one of two things, and the dividing line is whether this is still the file you last saved.
Writes straight back — you have already saved (or opened) a file this session, and since then you have not changed the file name or the destination. Pressing it writes to that same file, without asking again whether to overwrite, and a confirmation appears in the corner. This is the only path on the whole site that overwrites an existing save without asking, so none of the cases below take it.
Opens the save box — the first save, no name yet, a changed file name (that is a save-as), a destination you switched in the box, or a web destination whose sign-in has expired. Pasting over, loading a share and importing a file also send you to the box: each of those replaces the whole contents of the editor, and what is there afterwards is no longer the file you had.
If the score is empty it just says so rather than opening the box. It does nothing while another dialog is open — except the save box itself, where Ctrl+S is simply the save button.
[/] Auditioning works the way it always has: hold a key on the piano at the left of the roll with one hand and press [/] with the other, and every instrument change replays that note with the new sound. You pick the pitch, because instrument ranges differ — an automatic pitch would often land outside the range and sound broken.
Changing instruments during playback takes effect from the next note, so there is no need to stop.
Those four follow one rule: the letter picks what it governs, and Shift makes it “this one only”. M is for your ears, H for your eyes — exactly the two pairs the four buttons on the instrument row are arranged in.
Solo deliberately does not get S. There are two kinds of solo here (play only for the ears, show only for the eyes), S can go to just one of them, and the other would end up a key nobody can remember. That key went to the spatial mix instead.
What each button does, and the features that have no shortcut, are in the editor reference. Not read the quick start yet? The editor quick start has a single route from nothing to pasting into the game. To write MML by hand see the syntax guide, and for anything else the FAQ.