Автоповтор дважды нажатой клавиши
Предыдущие статьи: "Автоповтор нажатой клавиши", "Автоповтор нажатой клавиши с регулируемой скоростью".
Чем отличается практика от теории, хорошее решение приходит в голову моментально прямо при реализации теоретической идеи. Вы можете думать очень долго, всё продумать тщательно, но потом сделаете всё равно не так, как это было задумано изначально. Как только я стал делать автоповтор после третьего нажатия клавиши, сразу понял, что будет достаточно и двойного нажатия. Получилось это сделать только благодаря не фиксируемому времени задержки, а вычисляемому из скорости печати пользователя.
Алгоритм работы автоповтора такой: при нажатии любой клавиши считаем время её нажатия, после отпускания клавиши считаем время отпускания. При этом нет нужды считать до бесконечности, если перешли определённый порог, то дальше нет смысла знать это время, значит пауза была слишком большой, и автоповтора не будет. Если же время оказалось в рамках допустимого, то при втором нажатии этой же клавиши начинаем считать время её нажатия, и сравниваем со временем первого нажатия. Как только это время становится чуть больше (у меня это фиксируемая величина, хотя в идеале должно быть на сколько-то процентов больше), запускаем процесс отпускания и нажатия клавиши со скоростью в 2 раза большей, чем была пауза между нажатиями клавиш.
Стартует мой "турбоавтоповтор" моментально, нет этой неприятной паузы, что в обычном. При этом очень легко задавать скорость автоповтора, делаете паузу чуть побольше, и вот он уже стал медленнее. Грубые тесты показывают, что такой автоповтор быстрее обычного примерно в два раза, это при быстром нажатии клавиши, при медленном он может быть даже точно таким же, но при этом всё равно происходит быстрый старт.
Ложных срабатываний практически не бывает, чтобы оно случилось, потребуется нажать кнопку первый раз быстро, второй раз по какой-то причине задержать её. Можно сколько угодно набирать ООО, www, ее, и др. и ни разу не напечатается лишний символ.
Вот разве что в играх он будет мешать, там требуется удерживать клавишу нажатой, отжатие её приведёт к сбоям, поэтому его можно отключать.
Стал пользоваться этим автоповтором сразу же, обычным перестал, он очень уж медленным кажется.
А вот мнение Азы Раскина (сына Джефа Раскина) по этому поводу: - How very cool!