You need not to edit definition of KEYMAP macro, just edit key symbols in keymaps[] array.
I think this keymap.c patch is enough to swap Left Control and Caps Lock.
130c130
< CAPS,A, S, D, F, G, H, J, K, L, SCLN,QUOT, ENT, P4, P5, P6, PPLS,
---
> LCTL,A, S, D, F, G, H, J, K, L, SCLN,QUOT, ENT, P4, P5, P6, PPLS,
132c132
< LCTL,LGUI,LALT, SPC, LEFT,DOWN,RGHT, P0, PDOT,PENT
---
> CAPS,LGUI,LALT, SPC, LEFT,DOWN,RGHT, P0, PDOT,PENT