![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Aug 2010
Сообщений: 91
|
Одновременно или по очереди? Мне нужно по нажатию клавиш, извлечь соответствующие им элементы массива и обработать. Функция-обработчик события KEY_DOWN извлекает один элемент, в зависимости от клавиши. Но вот что произойдет, если несколько клавиш нажато одновременно? Отработает ли программа без ошибок или произойдет что-то катастрофическое? Как в таком случае это исправить?
|
|
|||||
|
Регистрация: Nov 2007
Адрес: Moscow
Сообщений: 566
|
KEY_DOWN и KEY_UP случаются, когда вы нажали, или отпустили кнопку. Это значит, что при нажатии второй кнопки случится KEY_DOWN, и при нажатии третьей. Можно запоминать уже нажатые кнопки, и если комбинация совпадает.
__________________
#flasher@irc.trg.ru:6667 |
|
|||||
|
Регистрация: Feb 2009
Сообщений: 1,195
|
Совсем одновременных нажатий кнопок не бывает в принципе. Даже если они физически каким-то чудом нажаты действительно одновременно, с точки зрения контроллера клавиатуры, факт нажатия каждой клавиши будет определён по очереди, в процессе сканирования матрицы, и события в системе в итоге будут сгенерированы тоже по очереди.
|
|
|||||
|
Регистрация: Aug 2010
Сообщений: 91
|
Проверил, все действительно отрабатывается по очереди, но выглядит будто одновременно
То что надо. |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:18. |
|
|
« Предыдущая тема | Следующая тема » |
|
|