I am not a lawyer. Or even much of a coder, but here goes…
From what I see in
keymap.c the:
KEYMAP(whole, bunch, of, keys, go, here),
statements are all arrays within an array. (Do not sue me if "array" is not the right word here. Please!) The code is formatted for ease of reading, but what's actually going into the compiler is one huge long line of code which consists of several keyboard matrices (coded as one dimensional arrays) all shoved in a row. There's one for the main map and then a bunch of fancy pants alternate layers like HHKB mode, which don't matter unless you want them.
But! I think the only one that needs touched is this one:
#define KEYMAP( \
K31, K30, K00, K10, K11, K20, K21, K40, K41, K60, K61, K70, K71, K50, K51, \
K32, K01, K02, K13, K12, K23, K22, K42, K43, K62, K63, K73, K72, K52, \
K33, K04, K03, K14, K15, K24, K25, K45, K44, K65, K64, K74, K53, \
K34, K05, K06, K07, K16, K17, K26, K46, K66, K76, K75, K55, K54, \
K35, K36, K37, K57, K56 \
) \
It's
the definition that kicks the rest off. Those numbers will be the actual row and column information. The rest are all about what to assign to them (for layers) once the physical matrix is defined.
So, while you are at it: do not use {curly brackets}, do not use semicolons; and do not try to alter anything outside of the (brackets). I think the idea is to type in your matrix rows and columns into that bit up top, and hope for the best. It should compile at least! A bit of documentation seems to be needed up there.
Oh, and I am still not a lawyer, or that much of a coder!