First as said previously in your other thread, never use use ieee.numeric_std.all and ieee.std_logic_unsigned.all at the same time, you'll run into problems. and while you are at it, forget about the non standard ieee.std_logic_unsigned, just use ieee.numeric_std.all and its signed and unsigned types.
Then you shouldn't use the key signal as a clock. You will run into synchronization problems and will be very sensitive to glitches problems if the key isn't debounced. You should use your iclk50 as clock, and for example compare the KEY signal to its previous value to detect a key press.
For the rest, create an additional signal that will be a counter, set it to 4 when the key is pressed, decrease it by 1 each time you make the LED blink and stop when you reach 0.