Цитата(Oleg_IT @ Feb 12 2010, 00:27)

Товарищ смешивает две задачи, устранения дребезга и частота автоповтора.
Может это я не совсем понимаю или неправильно понимаю суть написанного smk?

Поясняю для самого общего случая.
Процедура устранения дребезга требуется для ликвидации недостатков аппаратуры. Единичное нажатие клавиши пользователем аппаратура должна четко определить именно как
единичное, а не как 2 или 52 или 152 нажатия. Все! Никаких ограничений на частоту нажатий эта процедура оказывать не должна. Ограничения возникают чисто физиологические. Человек физически не способен нажимать клавиши чаще чем, скажем, 100 раз в секунду. И осмысленно с такой скоростью нажимать их, тем более не способен.
- Я способна набирать 1200 символов в минуту!
- Ну и как, получается?
- Вы знаете, если честно, такая фигня выходит.
(из анекдота)

В реальности процедура устранения дребезга конечно тоже налагает ограничение на темп нажатий сверху. Типовое время дребезга механических контактов кнопок составляет порядка 10мс. Если устранение дебезга построено на периодическом опросе, то сверху ограничение в те же 100 нажатий в секунду выходит. Но если клавиатура способна 100 нажатий/с обеспечить, то она
обязана их обеспечивать без каких-либо других ограничений.
Теперь про
автоповтор. Автоповтор это "фича" клавиатуры, дополнительное удобство т.с. Автоповтор имитирует многократное нажатие пользователем одной и той же клавиши. Но раз он только имитирует действия пользователя (а пользователи-то все разные), то следовательно автоповтор должен иметь настраиваемые или даже (само)адаптируемые параметры. Пример самоадаптируемого изменения скорости автоповтора можно привести на базе паяльной станции с цифровой регулировкой температуры. Одиночные нажатия изменяют регулировку температуры на 1°C. Автоповтор вначале имитирует такую же ступень изменения (на 1°C). Но если удерживать клавишу дольше и изменение произойдет более чем на 10°C, то шаг приращения температуры автоматически увеличивается до 10°C. Впрочем это я немного отвлекся. Суть-то в том, что автоповтор это имитация действий пользователя. Для его (пользователя) удобства. А ведь пользователи все разные, кто-то реально по 20 раз/с способен нажимать кнопки, а кто-то "с ограниченными возможностями" нажимает кнопки локтем (калека) или физически не способен на быстрые движения (старик или с отклонениями в психическом развитии). Соответственно для каждого из них нужны разные задержки для включения функции автоповтора и разный темп имитации нажатий. Если у функции автоповтора есть возможности подстройки этих параметров, то я не представляю ситуации, когда
Цитата("smk")
Оператор хочет увеличить на 1, а пока нажал-отпустил насчитало 10.

Вот где мое недоумение/непонимание возникло.