Например, устанваливать таймер на время, необходимое для таймаута. Потом по этому таймеру считать последний ивент. Если был давно - делать одно. Если не очень - вычислить в соответствии с уже прошедшим временем новое значение для таймера и опять поставить.
Например, устанваливать таймер на время, необходимое для таймаута. Потом по этому таймеру считать последний ивент. Если был давно - делать одно. Если не очень - вычислить в соответствии с уже прошедшим временем новое значение для таймера и опять поставить.