Half-working layout definition alternative.
Finishing easier layout definition.
Oops, this plan was doomed from the beginning:

There is no way to differentiate between a KEY_ constant and a char
literal. If it can be interpreted as the latter, it will. Oops.
Converting to char literals fully in layout.h