[an error occurred while processing this directive]
в чем вопрос то ? (+)
(«Телесистемы»: «Конференция «Микроконтроллеры и их применение»»)

миниатюрный аудио-видеорекордер mAVR

Отправлено DASM 15 апреля 2003 г. 18:00
В ответ на: Коллеги! Поделитесь идеей - как правильно делать обработку автоповтора нажатой и удерживаемой клавиши. А то сам я зашел в тупик (+) отправлено bialix 15 апреля 2003 г. 17:02

если грубо говорить, есть счетчик на каждую клавишу. Он увеличивается на 1 если нажата и обнуляется если нет. Далее алгоритм типа
1. если не нажата, но счетчик был не равен 0 и его величина меньше некоей константы (C_SHORT_PRESS), но больше константы C_TREMOR- шлеш сообщение о коротком нажатии.
2. если нажата, и счетчик больше некоей другой константы (C_SHORT_PRESS)- шлеш сообщение о нажатии (автоповтор), ставиш флажок - идет автоповтор, обнуляеш счетчик
3. если нажата, стоит флаг автоповтора, и счетчик больше еще одной константы (C_AUTO_REPEAT_SPEED)- снова шлеш сообщение о нажатии и обнуляеш счетчик
ну и еще немного мелочей
Итого играя 3-мя константами имееш - задержу автоповтора, скорость автоповтора, фильтр дребезга
C_TREMOR - задержка на дребезг
C_SHORT_PRESS - задержка до автоповтора
C_AUTO_REPEAT_SPEED - скорость автоповтора
ну и посмотри что и где обнулять надо

Составить ответ ||| Конференция ||| Архив

Ответы



Перейти к списку ответов ||| Конференция ||| Архив ||| Главная страница ||| Содержание

E-mail: info@telesys.ru