Date: Thu, 4 Jul 1996 12:03:23 -0700 (PDT) From: Jag To: Eli Zaretskii cc: djgpp AT delorie DOT com Subject: Re: Quake and Win95... In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Thu, 4 Jul 1996, Eli Zaretskii wrote: > You mean `F' like the letter F (not F1 function key or something)? Yes its the letter 'F'. I found out that the same thing happens in onother game, Masters of Orion. Maybe even others, but I have not tested it. > Don't forget that the DPMI host (in this case, Win95) sees the keystroke > *before* your program (who do you think makes happen the interrupt > reflection from real to protected mode?). So in principle, it could act > on a keystroke instead of passing the interrupt to your app. I just > wouldn't expect it to do so for a key as simple as F... > > Do you install a protected-mode handler, or a real-mode one (or both)? I am using the Allegro keyboard handler, it looks like a PM handler. key - is an array my_keyint - is the keyboard handler routine. Keyboard_Int = 9; static _go32_dpmi_seginfo key_oldint; static _go32_dpmi_seginfo key_int; ..................../ /.................. Lock_Variable(key); Lock_Function(my_keyint); key_int.pm_offset = (int)my_keyint; _go32_dpmi_allocate_iret_wrapper(&key_int); key_int.pm_selector = _go32_my_cs(); _go32_dpmi_get_protected_mode_interrupt_vector(Keyboard_Int, &key_oldint); _go32_dpmi_set_protected_mode_interrupt_vector(Keyboard_Int, &key_int); Thanks Vince