Stacking key functions- Keybindings

I recently created 2 new input actions for my game. Walk and toggle walk/run. I would like to stack these commands to be able to run off the same key, just using a different key stroke to activate each. I would like to be able to hold the key down and walk for as long as it is held down, but also use double tap of the same key to flip/flop walk/run. Is their any way of doing this?

I was also hoping to expand this to be able to give multiple options to a single key, including inputaxis keys (think jump dodging in UT) and just differentiate the activated option based off the key stroke/s. However I want to keep the binding freedom of the InputActions instead of binding directly to a set key.

For example…

Single E tap - Action A

Rapid Double E tap - Action B

Hold E - Action C (for as long as it is held)

Hold E for a set time - Action D

E+Another Key - Action E (Combo input beyond shift,alt,ctrl)

Or any other combo I may have forgotten

Obviously I would never use all of those on a single key (maybe) but having the option to use them to do independent actions without cluttering the keyboard with key mappings would be nice. Is there anyway to achieve this? The reason I would like to keep the input actions would be so each Action could still be remapped depending on the players play style, if they don’t want to use the combo or stacking, or even the feature at all.

Thanks