I think using number instead of string would be nicer.
Because string comparing take times.
Here is what I though about customize control in game:
A function for returning string with given input,like:
PlayerMoveForwardKey = getContStr( theControlNumberOfInput );
That's just for displaying what input have set for a certain action;
Then we store 'theControlNumberOfInput' in a value , use this value in
the function that handling control reaction.