Событие нажатия клавиши запускается дважды для одного нажатия кнопки ВВОД в Windows CE - PullRequest
0 голосов
/ 11 марта 2009

Во время разработки я заметил, что некоторые КПК с Windows CE и, возможно, с Windows Mobile тоже отправляют клавишу Enter дважды в событии нажатой клавиши, таким образом я дважды выполняю код, который находится под событием нажатия клавиши элемента управления для кнопки возврата.

Я подозреваю, что это аппаратная ошибка, и я хотел бы спросить, как вы ее решили, не меняя логику приложения.

Ответы [ 3 ]

0 голосов
/ 11 марта 2009

Без изменения логики? Вы действительно не можете (если нет аппаратного или встроенного программного обеспечения). Я предполагаю, что самый простой механизм (который требует логического изменения) - это обработать две клавиши Enter или нажатия клавиш за короткий период (скажем, <100 мс), а затем проигнорировать второй. </p>

0 голосов
/ 24 июня 2009

Это случилось и со мной, и оказалось, что это было потому, что на панели управления -> клавиатура была включена опция «включить повтор символов». Задержка повторения по умолчанию была слишком быстрой для клавиатуры, которую мы использовали, поэтому я просто замедлил ее, и проблема исчезла.

0 голосов
/ 11 марта 2009

Я не знаю, поможет ли это, но если вы читаете порт клавиатуры, то Enter выглядит как два байта, а не один.

...