Hee hee, I don’t really want to replace my MacBook’s keyboard! Here’s a
usage case that does it for me:
Press Right arrow
Press Up arrow
Press Down arrow
Release Right arrow (This is the problem event)
Release Whatever
I know that all keyboards are different, so you can probably only reproduce
this with an older MacBook, but there should be an equivalent series for
everyone without a keyboard capable of n-key rollover. I’m going to give up
for now and move on. There’s lots more to do!
So, without giving too much away, I’m working on a GUI lib that (among other
things) abstracts the input, allowing for mouse, keyboard, and joystick to
act like a mouse (a la Maniac Mansion, for example) or for keyboard and
joystick to navigate between widgets (like nearly every console game’s GUI).
Jonny DOn Fri, Jan 23, 2009 at 5:52 PM, Donny Viszneki <donny.viszneki at gmail.com>wrote:
On Fri, Jan 23, 2009 at 5:45 PM, Jonathan Dearborn <@Jonathan_Dearborn> wrote:
Indefinitely without user interaction, yes. You have to press and
release
the offending key to stop the cursor from moving (or ship from spinning,
etc.). The best I’ve got right now is that you can press the opposite
direction to stop it as well (the natural reaction to a runaway cursor).
That’s a very different problem from any keyjamming problem I’ve ever
experienced. Just to be clear:
Depress Q
Depress W
Depress S
Release S
Release W
Release Q
Keyjamming problem: No events for S are ever sent.
This is a common problem, and this is the reason that so many games
use the modifier keys as buttons: because modifier keys are intended
for use in combination with other keys, they often get their own
circuits, which means they can be combined with more combinations of
keys.
I’ve never encountered a keyboard would send a KEYDOWN event for a
key, and then not send a KEYUP event even whenever all keys have
been released. You have a seriously shitty keyboard if that is the
case. Buy a new one! (Or, as I said earlier, replace the keyboard
controller!)
–
http://codebad.com/
SDL mailing list
SDL at lists.libsdl.org
http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org