Keys LEFT UP and SPACE

Hello all,

I’ve been running into an annoying “bug”. In most of my projects/experiments
I commonly use the arrow keys for movement, and the space bar for action.

They all work seperately, but with the combination of Up, Left, and Space; it
will drop one or the other depending on which is pressed last, usually space.

I’ve tried two different ways of accessing the keys (pumpkeys+getkeystate and
pollevents+event.key.keysym.sym)

But other combinations (eg. (Up,Right,Space),(Up,Left,s)) do work. This is
consistant on Windows 2000, XPpro, Vista Ultimate. I believe it did the same
on Linux (debian, gentoo, ubuntu) but I’d have to double check on that.

Is there a reason for this?

I have no problem using a different button other than space since other keys
will work with the UP+LEFT combination. But it is an annoyance and I just
simply want to know why it is.

Anyone else have this problem?

Anyone have a solution for it?

Is it system based? Or is it SDL based?

Thanks!
Micah

Hello all,

I’ve been running into an annoying “bug”. In most of my projects/experiments
I commonly use the arrow keys for movement, and the space bar for action.

They all work seperately, but with the combination of Up, Left, and Space; it
will drop one or the other depending on which is pressed last, usually space.

I’ve tried two different ways of accessing the keys (pumpkeys+getkeystate and
pollevents+event.key.keysym.sym)

But other combinations (eg. (Up,Right,Space),(Up,Left,s)) do work. This is
consistant on Windows 2000, XPpro, Vista Ultimate. I believe it did the same
on Linux (debian, gentoo, ubuntu) but I’d have to double check on that.

Is there a reason for this?

Yes, there is a reason for that. Keyboards are built that way. All of
them. They are built that way because it is cheaper and most keyboards
are used to type, not play games. There is really nothing you can do
about it. Consider using a mouse or a joystick.

I’ll let someone else give you the long answer or you can just google
for the info. It has been well document for… oh I don’t know… since
the first IBM PC? The problem bit me in '84.

Bob PendletonOn Tue, 2007-10-30 at 21:55 +0000, Micah Brening wrote:

I have no problem using a different button other than space since other keys
will work with the UP+LEFT combination. But it is an annoyance and I just
simply want to know why it is.

Anyone else have this problem?

Anyone have a solution for it?

Is it system based? Or is it SDL based?

Thanks!
Micah


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


±-------------------------------------+

I’ll let someone else give you the long answer or you can just
google for the info. It has been well document for… oh I don’t
know… since the first IBM PC?

Since before then. I first encountered it on the TRS-80 Model I. The
symptoms were slightly different, but it’s the same basic issue.

b

Yep, I still have a couple of Model 1s lying around somewhere. Keyboards work
that way because the hardware is a scanned matrix. There’s a limit to how
much rollover the software can handle.

JOn Tue October 30 2007 19:04, Brian Raiter wrote:

I’ll let someone else give you the long answer or you can just
google for the info. It has been well document for… oh I don’t
know… since the first IBM PC?

Since before then. I first encountered it on the TRS-80 Model I. The
symptoms were slightly different, but it’s the same basic issue.

I’ll let someone else give you the long answer or you can just
google for the info. It has been well document for… oh I don’t
know… since the first IBM PC?

Since before then. I first encountered it on the TRS-80 Model I.
The

symptoms were slightly different, but it’s the same basic issue.

Yep, I still have a couple of Model 1s lying around somewhere.
Keyboards work that way because the hardware is a scanned matrix.
There’s a limit to how much rollover the software can handle.

Well, there is the option of adding a diode for each switch (this
allows scanning one row at a time, without interference from other
rows) - but AFAIK, that’s only used in special interfaces for arcade
cabinets and the like.

//David Olofson - Programmer, Composer, Open Source Advocate

.------- http://olofson.net - Games, SDL examples -------.
| http://zeespace.net - 2.5D rendering engine |
| http://audiality.org - Music/audio engine |
| http://eel.olofson.net - Real time scripting |
’-- http://www.reologica.se - Rheology instrumentation --'On Wednesday 31 October 2007, Jeff wrote:

On Tue October 30 2007 19:04, Brian Raiter wrote:

Team-
Different keyboards can handle more or fewer key presses at the same time. Get a new keyboard and odds are your keyboard issue will be gone. Some new keyboards do exacyly what you are talking about but it’s rare. Make it so it displays all of the keys on the screen like “up button is pressed” and such and this will show you. Switch keyboards a few times and note the difference. The overlap/overflow happens just like you say at one point or another according to the order of the scan codes.

---- Micah Brening <micah.brening at gmail.com> wrote:> Hello all,

I’ve been running into an annoying “bug”. In most of my projects/experiments
I commonly use the arrow keys for movement, and the space bar for action.

They all work seperately, but with the combination of Up, Left, and Space; it
will drop one or the other depending on which is pressed last, usually space.

I’ve tried two different ways of accessing the keys (pumpkeys+getkeystate and
pollevents+event.key.keysym.sym)

But other combinations (eg. (Up,Right,Space),(Up,Left,s)) do work. This is
consistant on Windows 2000, XPpro, Vista Ultimate. I believe it did the same
on Linux (debian, gentoo, ubuntu) but I’d have to double check on that.

Is there a reason for this?

I have no problem using a different button other than space since other keys
will work with the UP+LEFT combination. But it is an annoyance and I just
simply want to know why it is.

Anyone else have this problem?

Anyone have a solution for it?

Is it system based? Or is it SDL based?

Thanks!
Micah


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org

Here’s a good article on this.

http://www.sjbaker.org/steve/omniv/keyboards_are_evil.html

Whenever this issue comes up I just google for “keyboards are evil”.

Good info (:> ----- Original Message -----

From: sdl-bounces@lists.libsdl.org [mailto:sdl-bounces at lists.libsdl.org] On
Behalf Of necronology at cox.net
Sent: Wednesday, October 31, 2007 2:40 AM
To: sdl at libsdl.org; A list for developers using the SDL library. (includes
SDL-announce)
Cc: Micah Brening
Subject: Re: [SDL] Keys LEFT UP and SPACE

Team-
Different keyboards can handle more or fewer key presses at the same time.
Get a new keyboard and odds are your keyboard issue will be gone. Some new
keyboards do exacyly what you are talking about but it’s rare. Make it so it
displays all of the keys on the screen like “up button is pressed” and such
and this will show you. Switch keyboards a few times and note the
difference. The overlap/overflow happens just like you say at one point or
another according to the order of the scan codes.

---- Micah Brening <micah.brening at gmail.com> wrote:

Hello all,

I’ve been running into an annoying “bug”. In most of my
projects/experiments
I commonly use the arrow keys for movement, and the space bar for action.

They all work seperately, but with the combination of Up, Left, and Space;
it
will drop one or the other depending on which is pressed last, usually
space.

I’ve tried two different ways of accessing the keys (pumpkeys+getkeystate
and
pollevents+event.key.keysym.sym)

But other combinations (eg. (Up,Right,Space),(Up,Left,s)) do work. This
is
consistant on Windows 2000, XPpro, Vista Ultimate. I believe it did the
same
on Linux (debian, gentoo, ubuntu) but I’d have to double check on that.

Is there a reason for this?

I have no problem using a different button other than space since other
keys
will work with the UP+LEFT combination. But it is an annoyance and I just

simply want to know why it is.

Anyone else have this problem?

Anyone have a solution for it?

Is it system based? Or is it SDL based?

Thanks!
Micah


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org


SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org