instead of blocking too long if inpblock is set to something like
500ms the input timeout is not set directly to inpblock but is
increasing dynamically from 0 to inpblock by a little algorithm
FIXME: the call from the win_* method to the ui_input_* method looks
wrong.. this causes a cross reference which shouldn't be