Skip to content

The on-screen keyboard

Every battuta action is a keystroke — which is a problem on a tablet. The on-screen keyboard puts the whole keymap on screen: toggle it with 🎹 in the header (touch devices show it automatically), close it with its ×. Leave it up and it comes back the next time you open battuta.

Under the × sits ⌫, always in reach: it erases backward like a text editor — the note before the caret becomes a rest and the caret steps onto it, so a wrong note is one tap away from gone. On a tablet or a phone held upright the panel takes two lines — octaves, piano, latches, × and ⌫ on the first, the action groups on the second — so the piano gets the width of the screen; turn it and it goes back to one line, keeping your octave and latches.

The on-screen keyboard: two piano octaves with the octave rail, the alt/shift latches, the digit pad, and one key per action, grouped like the shortcut editor.
Piano, octave rail, modifier latches, the digit pad, and one key per action, grouped like the shortcut editor.

Two octaves — one on a phone, where two would leave the keys too thin to play — playing into note entry exactly like a MIDI keyboard: in input mode a tap enters that pitch at its written octave (black keys enter sharps), and holding several keys builds a chord — with multi-touch, played like a real chord. The caret advances when the last finger lifts.

The rail on the left steps the visible octaves (▲ / ▼ around the low octave’s label); a wheel or two-finger scroll over the piano does the same.

alt and shift are sticky: tap one and it applies to the next key, then releases — tap again to cancel. They behave like the real modifiers, so everything in the keyboard reference holds: latch shift and → extends the selection, latch alt and the arrows become shorten/lengthen duration. (There is no ctrl latch: every ctrl chord has a button of its own in the system group.)

While a latch is on, the keys relabel to what they will now do, the remapped ones are tinted, and the ones that latch reaches nothing on dim:

Shift latched: the keys relabel live to what they will do — the digit pad turns into voltas, staccato reads staccatissimo, tie reads tuplet — and the remapped keys are tinted.
Shift latched: voltas on the digit pad, staccatissimo on the staccato key, tuplet on tie.

One pad, four meanings — the latches choose:

Latch 1–5 6–0
none duration (7 = whole … 1 = 64th, in input mode) —
shift volta 1–5 toggle (block selection) volta 6–9
alt fingering 1–5 (add shift too to stack) finger change → 1–5

The remaining groups mirror the keymap itself — the buttons are generated from your live bindings, so a rebound key or a brand-new action shows up on its own, and actions reached by a modifier (marcato = shifted accent, measure repeat = shifted simile…) appear when their latch is on rather than crowding the panel. The nav cluster is a D-pad (home/left, up/down, end/right, paging), and the system group carries save, open, undo/redo, copy/paste, zoom and the measure operations.