I encountered a problem when using Allegro under Windows with DIRECTX driver. Sometimes, when I press three keys simultaneously for some time, my game would stop receiving any keyboard events from Allegro queue.
What's even more interesting, if I switch to some other window, I can't switch back to Allegro window: it doesn't receive focus. But game continues, and screen updates correctly.
This only happens if I don't limit my game's FPS, i.e. does not sleep anywhere in my main thread. If I put sleep there or slow game down by other means (like writing something to file every frame), the bug would disappear.
This behaviour started with Allegro 5.0.4 and continued in 5.0.5 (I don't remember seeing it before, but I may be wrong). It happens when FPS are around 150-200 (in debug version of game + debug version of library), completely disappear if FPS are around 60-80.
I shouldn't probably leave my FPS unlimited, but still it's an interesting behaviour: why does events stop coming only if I have high FPS AND press lots of keys? Mind you, it continues even after I release those keys...
So, is it a bug, or more-or-less intended behaviour of Allegro?
I was going to root around in Allegro insides to see if I can provide more information, but pre-built 5.0.5 monolith library does not correspond to 5.0.5 sources somehow, and I don't understand how to build monolith library myself.