[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] Odd Little pygame.event Bug?



I think Nicholas is right about it being a keyboard limitation. PC
keyboards have had too many keys problems for ages. There's no hard
and fast rule about which sets of keys cause the keyboard to error
(every keyboard may be different). Sometimes you will get a beeping
sound when you press too many at once (the keyboard actually sends
some kind of message when this happens, I don't think it would come
through to pygame though)

the extended keys (arrow keys fit in this category) usually saturate
the keyboard faster than other keys (I'm not sure why), but in general
every keyboard can conribute to the too many keys error happening.

I think you'll see this error a lot less if you use WASD instead of
arrows for directions, and avoid the extendeds to be used in
combination with others (insert-pagedown and arrows). But any time you
start getting more than 2 keys pressed at once, you might want to test
that combination on some older PC keyboards.

On 4/16/07, Kris Schnee <kschnee@xxxxxxxxxx> wrote:
While playing with my little game framework, I found I could jump in
each of eight compass directions, except northwest. Investigating the
problem, I found that when my character was moving northwest (angle 315,
where 0 is north and 90 is east), the "Jump" function wasn't getting
called. So I told the main input loop to print a message whenever the
Space (jump) key was hit.

According to Pygame, it seems, hitting the Space key while the Up and
Left arrows are held down doesn't generate a KEYDOWN event! Yet there
seems to be no problem with hitting another key, or at least K or
LSHIFT, with this arrow combination, or with any other arrow combination.