A keybinding system in unity

So I am making a game in unity, And i want to make a keybinding system at the start of the game, but do not know few things before proceeding:
How do I change a keycode value during runtime? is it even possible?
How I get the name of the key which is assigned (like for keycode.W, I want an output of type string “W”)
How do I wait for an input? (So that i can change it to that key

Please give the answer in C#

that’s whar you’re looking for!