Цитата(Scanner @ Dec 3 2009, 00:12)

Подскажите как реализовать?
Точно также как и при формировании кодов нажатий нескольких клавиш. В функции подавления дребезга контактов и формирования кода нажатия клавиши введите два доп. параметра - код предыдущей нажатой клавиши и таймаут формирования кода последней клавиши. Перед выдачей функцией кода нажатой клавиши проверяйте два условия: а) совпадает ли код предыдущей нажатой клавиши и текущей? б) не превышен ли таймаут формирования кода "двойного нажатия"? Если оба условия выполняются, то вместо текущего кода выдавайте на выход функции другой код, в котором есть признак "двойного нажатия". По аналогии с формированием клавиатурой PC двух разных кодов для каждой клавиши (код "нажатия" и код "отпускания") можно просто оперировать старшим битом кода клавиши.
P.S. могу конечно ошибаться, но вроде где-то читал, что "двойной клик" запатентован фирмой Microsoft

P.P.S. для удобства пользователя и во избежание наступления на грабли при смене типа кнопок клавиатуры, советую сразу сделать параметр таймаута "двойного нажатия"
настраиваемым. Задайте диапазон его настройки в разумных пределах, ограничив снизу временем устранения дребезга (например, 10мс, что соответствует типовому времени дребезга многих механических клавиш, да и с темпом 100 раз в секунду никакой даже совсем "дурной" пользователь не сумеет нажимать клавиши), а сверху - несколькими секундами.