Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > получение данных о клавишах


Автор: ZC1989 30.11.2006, 18:29
Подскажите, что-то я не понимаю один момент…

Почему возникает проблема с определением нажатия клавиши?

int down = 0;
for(int key = 0; key < 256; ++key)
{
    if(GetAsyncKeyState(key) != 0) ++ down;
}

По моим представлениям должно возвращаться количество нажатых клавиш на клавиатуре, частично результат правильный, но иногда нажатие кнопки пропускается, особенно если 3 уже нажато, комбинация AWSD вместо 4х выдаёт только 3 и вообще часть клавиш так же пропускается…

Автор: witex 30.11.2006, 18:53
Насколько знаю, даже биос воспринимает только 3 клавиши, и передаёт их системе!
Так что вот!

Автор: ZC1989 30.11.2006, 19:08
witex, но не со всеми же клавишами так! если нажать ASDG, то будет выдано 4 smile 

Автор: witex 30.11.2006, 20:05
Ну со стрелками тож, 4 не определит!

Автор: ZC1989 30.11.2006, 20:40
witex, точно... пасиб за разъяснения! smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)