Try with the loader.dol attached to this post.
I made some changes to the CCP code, though CC won't be able to switch face button layouts.
To accommodate for this, I included two DOLs, one with the normal mapping (A->A, B->B, etc) and one with the flipped mapping (B->A, Y->B, etc).
Try it out and let me know if it worked!
For what controller?
There are some .c/.h files related to controllers inside "kernel/", but they are split according to what controller they are.
PS3Controller.c/.h and BT.c/.h are the ones for PS3 and Bluetooth controllers (BT being Wiimote, CC, CCP, etc).
PADReadGC.c is the one which seems to contains most of the button mapping and Analog sticks code for all the controllers, perhaps you could find something there too.