Which firmware build accepts which command comes from the live matrix at makcu.com/api/versions, refreshed every five minutes. Later builds can drop commands that earlier builds had. Every tool result ends with a line naming the latest released and latest builds and the date the matrix was updated.
mak_search
Ranked full-text search across the protocol docs and SDK source. Use it first to find where a command, opcode, setting, method or constant is defined. Each hit gives the file path, line number, and the heading or symbol around it.string
required
Text to find, e.g.
KEY_INIT, 0x3E, controller handoff, NOR save.'doc' | 'source' | 'all'
default:"all"
Search only documentation, only SDK source, or both.
'python' | 'rust' | 'cpp' | 'c' | 'csharp'
Limit source results to one SDK language.
string
Search only files whose path contains this text, e.g.
protocol/ or rust/.boolean
default:"false"
Treat
query as a JavaScript regular expression.integer
default:"20"
Maximum number of hits, from 1 to 100.
mak_read
Reads a file, one markdown section, or a range of lines. Usesection for the large protocol docs and a line range for source files. A partial path such as MAK_API.md or controller.py works if only one file matches.
string
required
File path, e.g.
protocol/MAK_API.md or python/makxd/controller.py.string
A markdown heading, e.g.
Frame. Markdown files only. If a heading appears more than once, add its parent: Controller > Physical-input masks.integer
First line to read, counting from 1.
integer
Last line to read. This line is included.
integer
default:"400"
Maximum lines returned, from 1 to 3000.
boolean
default:"false"
Return only the file’s headings or symbols with line numbers, not the file itself.
mak_list
Lists the files in the snapshot with their sizes and line counts, plus the upstream commit the snapshot was taken from.'doc' | 'source' | 'all'
default:"all"
List only documentation, only SDK source, or both.
'python' | 'rust' | 'cpp' | 'c' | 'csharp'
List only source files in one SDK language.
string
List only paths that contain this text.
mak_find_symbol
Finds a function, method, class, struct, trait or enum by name in all five SDKs. Names, argument counts and return types differ between languages, so compare them here before porting code from one SDK to another.string
required
A symbol name or part of one, e.g.
connect, controller_state, firmware_version.'python' | 'rust' | 'cpp' | 'c' | 'csharp'
Limit results to one SDK language.
integer
default:"40"
Maximum number of matches, from 1 to 200.
mak_command
Looks up a device command in both contracts at once: the binary MAK_API form (opcode, payload, reply) and the ASCII KM_API form (km.* arguments and reply). It also lists the released and test firmware builds that do and don’t accept the command, taken from the live matrix. That includes commands the contracts don’t document yet, such as km.flick and 0x55 PHYS_BUTTONS. Call it with no name for the full catalog.
string
A
km.* name (km.move, moveto), a MAK_API name (KEY_PRESS) or an opcode (0x18). Omit it for the catalog.mak_firmware
The MAKCU firmware capability matrix from makcu.com/api/versions. With nobuild it lists every released and test build, the commands and opcodes that differ between builds, behaviour differences such as echo defaults and button stream formats, and the change log. With a build it lists that build’s notes, what it lacks, how it differs from the latest released build, and its behaviour. A build missing from the matrix resolves to the closest lower build, following the page’s downgrade rule.
string
V4.036, 4.036, 4036 (the number FIRMWARE_VERSION returns) or V30. Omit it for the overview.