The group "for testing" is only for getting the keycodes, it doesnt bind keys to anything, it just sets the variable "keycodeCheck"
1. Press a button or key ingame to get the corresponding keycode of it. You can see the keycode when you watch the variable "keycodeCheck" in the Debugger.
2. Once you know the keycodes you can create variables for all your controls (Jump/Attack/Dash) and assign default values to them (the keycodes of the keys/buttons you got in step 1.) This will be the standard Keybindings the game starts with.
3a. (this is the easy way) All you have to do from here is building a menu where the player can either press a button/key to assign a key to an action (jump)
3b. or he can choose from a list of available buttons/keys.
In this case you would need a list of all keys/buttons and there corresponding keycode, maybe saved in an .xml file.
4a. when the player pressed the button/key you can get the keycode with the expression "Keyboard.LastKeyCode" for keyboard or "Gampad.LastButton(gamepadIndex)" for gamepad. Set the variable for the action (jump) to the keycode
4b. Like above but instead of pressing a button the player would choose a button/key from a list.
example jump button/key.
you want the standard jump key to be spacebar on keyboard and A on gamepad.
Use the "for testing" group stuff to get your corresponding keycodes. (spacebar= 32 A=0 ...i think )
create variable "keyJump" and set it to "32"
create variable "padJump" and set it to "0"
Give the player a way to choose the own button/key 4a or 4b
set the variable "keyJump" or "padJump" to the new value "n"
I hope it helps.
I would highly suggest to pick the "a" route, where the player has to push a key to assign it. It's mutch easyer to implement and more convenient for the player.
But maybe i still totally misunderstood what you want