Keyboard and MIDI input
Display note input with the shared keyboard while keeping device access in your host.
The piano keyboard renders note input and reports note-on and note-off gestures. Its component page includes the live preview, source and installation instructions.
Visual input without an engine
Supply onNoteOn, onNoteOff and a controlled held map to inspect note events
in your application. This can be entirely silent. The keyboard does not need
to open an audio device or acquire a MIDI device.
Bind the keyboard to Maru
Inside a hosted module face, pass the existing host note callbacks and host-observed active notes:
<PianoKeyboard
onNoteOn={face.onNoteOn}
onNoteOff={face.onNoteOff}
held={face.activeNotes}
/>
Device ownership
Physical MIDI ingress, permissions, channel routing and audio activation belong to the host. A visual keyboard forwards gestures through the public face contract; it does not become another device or signal path.