Hello
Over the past few months I’ve been building a live rig around a KeyLab 88 mk3: my own setlist on the screen, preset lists on the jog wheel, LED feedback on pads and buttons, all driven from Max for Live. I’m not a programmer — Claude wrote the code — but none of this is documented anywhere, so I ended up mapping the protocol myself along the way. These are my notes.
What’s in there:
- The two screen families (
00 02 04for DAW mode,00 01 04for Arturia mode) and how they differ - A 7-line full-width list widget that isn’t in Arturia’s own script, with the packet formats for title, items and cursor
- Footer button packets in Arturia’s own field structure, including the on/off values
- Complete CC maps for both modes: screen buttons, transport row, jog wheel, faders and encoders, plus the separate touch CCs
- LED ids for the transport row and the pads
- The User-mode configuration family, where pad colours are stored
- Practical things that aren’t in any table: what freezes the device, why packets get dropped, why fader readouts sometimes don’t appear at all
Every claim is marked with how solid it is: measured on hardware, read out of working code, or inferred. There’s a short list of dead ends too, so nobody has to repeat them.
This is for the 61 and 88 mk3, not the Essential mk3. And it’s unofficial — nothing here comes from Arturia, and nothing is endorsed by them.
I’ve also put together a small Ableton proof of concept — POC.als with the Max for Live device and a README. The bottom row of screen buttons arms four tracks, the Arrangement locators appear as a 7-line list, and the jog wheel, Play and Stop drive playback, stopping at the next locator. It’s not my live rig, just a working starting point to take apart. With that, Ableton and Max for Live, you can build your own.
Corrections and additions welcome.
Kind regards
Brian