How to slow down GUI

I have a date of birth textField that is working beautifully until I build it.
When built the input is super sensitive.
I select the field, hit a number key and WHAM … that number takes the next 3 places in the date string before it stops entering and politely waits for another number.
On entering another number WHAM … another three entries of that number.
Obviously I am not going to ever get a valid date this way.

Any suggestions as to why this is? And more importantly how to get it under control?
This works exactly as expected in the editor. It only gets crazy on build.
Arrrrghhhhhhh …

You should use Input.GetKeyDown instead of Input.GetKey .

The solution was

if(Event.current.type.ToString() == “used”)

This only passes once per event.
This is the best way I found to stop the focus from rolling through the standard OnGUI 2 cycles per frame.