Allegro не читает все нажатия клавиш

Я пытаюсь прочитать ввод с клавиатуры. Я могу читать 2 одновременно нажатые клавиши просто отлично, но когда я пытаюсь 3, результаты различаются в зависимости от того, какие клавиши нажаты. Например, если я нажимаю и удерживаю левую клавишу массива, мой спрайт перемещается влево. Затем, когда я нажимаю и удерживаю клавишу со стрелкой вправо (все еще удерживая клавишу со стрелкой влево), мой спрайт останавливается (как и должно быть). Но здесь все становится рискованно. Если я затем нажимаю и удерживаю клавишу со стрелкой вниз, спрайт перемещается вниз (клавиши со стрелками влево, вправо и вниз нажаты). Однако если я нажимаю и удерживаю клавишу со стрелкой вверх (клавиши со стрелкой влево, вправо и вверх нажаты), спрайт вообще не двигается.

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

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

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

Спасибо,

техАлгоритмист


person janovak    schedule 28.11.2013    source источник


Ответы (1)


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

person nio    schedule 28.11.2013
comment
Большое Вам спасибо. Это сработало. Я даже не пробовал свою другую клавиатуру, так как 3 клавиши работали, если я нажимал влево, вправо и вниз. Я предположил, что меньшая клавиатура просто не будет работать для нескольких одновременных вводов вместо того, чтобы быть непоследовательной для разных вводов клавиш. - person janovak; 29.11.2013