1
0
Fork 0
flightgear/src/Input
mfranz 0eef853caa This is an ugly fix for an ugly problem. And no, the two uglies don't cancel
each other out. The problem is this: if we press, for example, "Ctrl-a", but
release the "Ctrl" modifier button *before* the "a" button (which nobody does
intentionally, but which happens all the time), then we don't get the RELEASE
signal on "Ctrl-a" (keycode 1), but on the "a" (79). But "a" hasn't been
pressed, so the signal is dropped. And who releases "Ctrl-a"? Nobody!
So the next PRESSED signal for "Ctrl-a" is ignored, too. It is still
"pressed" after all, isn't it? That's the reason for the occasional
non-functioning of keys.

Due to the nearing 0.9.9 release, I only commit a crude last-minute fix.
It's not as intrusive as it looks, and shouldn't be "dangerous" at all.
It only makes sure that when we get an unexpected RELEASE for one letter
key ("a") that the two twins "A" and "Ctrl-A" are released if they are
still in "pressed" state.

The proper fix will be to let fg_os{,_sdl}.cxx always report presses on the
same key ("a", "Shift-a", "Ctrl-a", "Alt-a", and other combinations of
modifiers) as the *same* key (97), only with modifiers appropriately set.
2005-11-12 10:51:58 +00:00
..
.cvsignore -Removed .cvsignore from itself, since .cvsignore is now in the CVS 2001-12-12 04:15:23 +00:00
fgjs.cxx Ralf Gerlich: 2005-07-31 14:05:55 +00:00
input.cxx This is an ugly fix for an ugly problem. And no, the two uglies don't cancel 2005-11-12 10:51:58 +00:00
input.hxx - don't store link to a disconnected *copy* of a subtree, but a link to 2005-06-20 18:52:45 +00:00
js_demo.cxx Add calls to jsInit() which is a noop on all platforms but Mac. 2004-05-04 19:02:19 +00:00
jsinput.cxx Ralf Gerlich: 2005-07-31 14:05:55 +00:00
jsinput.h Ralf Gerlich: 2005-07-31 14:05:55 +00:00
jssuper.cxx Tweak #includes to use double quotes for local files not <> 2001-12-10 23:00:27 +00:00
jssuper.h Cygwin fixes contributed by Norman Vine. 2001-06-12 23:15:16 +00:00
Makefile.am Martin Spott: 2005-01-24 10:17:14 +00:00