Автоповтор нажатой клавиши с регулируемой скоростью
Вот и дошло дело до программирования контроллера, пора думать как организовать автоповтор нажатой клавиши.
В обычной клавиатуре это происходит так: сначала долгая пауза, после этого в компьютер передаются коды нажатой клавиши с небольшим интервалом. Скорость автоповтора можно задавать в операционной системе.
Настройки клавиатуры в Xubuntu
Появилась идея сделать автоповтор по Джону Бумгарнеру, но с регулируемой скоростью автоповтора. Активируется автоповтор при троекратном нажатии на одну клавишу, и её удерживанием. При этом долгого ожидания не будет, сразу пойдет повторение на максимальной скорости. А вот скорость эту будем задавать не через настройки клавиатуры в операционной системе, а будем брать скорость троекратного нажатия, помноженную на коэффициент (какой именно, будет подобран на практике, по своим ощущениям). Чтобы не было проблем с вводом www
, ООО
, и т.п. нужно дать пользователю время на отпускание клавиши, если автоповтор быстрее этого времени, время отпускания можно взять из времени удерживания предыдущих нажатий, опять же таки с некоторой поправкой.
Мало того, что такой автоповтор не будет срабатывать случайно, он ещё к том же будет автоматически подстраиваться под пользователя, его реакцию, и требования в данный момент времени.
При слишком большой паузе между нажатием клавиши первые два раза счётчик нажатий должен сбрасываться, но это время будет достаточно большим, чтобы функцией автоповтора смогли пользоваться и люди с медленной реакцией.
Будет ли регулируемое время автоповтора лучше, чем фиксированное, задаваемое настройкой, покажет только практика. Возможно лучше будет сделать двукратное нажатие клавиши, с чуть большей задержкой после второго нажатия, чем последующий автоповтор, либо сочетание всех трех видов автоповтора: долгое удерживание клавиши, двухкратное нажатие с небольшой паузой, либо трёхкратное нажатие без паузы.