qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] qemu kbd emulation


From: Oliver Gerlich
Subject: Re: [Qemu-devel] qemu kbd emulation
Date: Wed, 28 Jun 2006 10:39:04 +0200
User-agent: Mozilla Thunderbird 1.0.6-1.4.1 (X11/20051026)

Rafał Cygnarowski wrote:
Hi!

I wanted to correct qemu emulation of keyboard under DOS as guest OS, so I started with simple pascal program to check what happen on guest DOS (and DOS) when I press up/down/left/right keys.

The program was:

-- BEGIN test.pas --
program time; {$M 2048,0,0}
uses crt, dos;
var OldKeyInt : procedure;

procedure NewKeyInt; interrupt;
begin
        write(Port[$60]); write(' ')
        inline($9c); OldKeyInt;
end;

begin
        getintvec($9, addr(OldKeyInt));
        setintvec($9, @NewKeyInt);
        keep(0);
end.
-- END test.pas --

and it look that qemu does not generate some codes before pressing and after releasing arrow keys. For example pressing up key on qemu looks like:

224 72 224 200

while without emulation it looks:

224 42 224 72 224 200 224 170.

It's true only for single keystrokes, but good for the beginning.

So I tried to patch qemu for this and created following patch:

-- BEGIN sdl.patch --
[snipped patch]
-- END sdl.patch --

Unfortunatelly results of this patch completely suprised me. After this patch my test program produces results witch are impossible to produce in normal situation. Example output for UP key was:

224 224 72 88224 224 170.

What's wrong with this patch? What I'm doing wrong?

Regards,

What SDL version are you using? I noticed some strange keyboard behavior with SDL 1.2.9 (Debian package), and this didn't happen when using SDL 1.2.10 (self-built). The problems were things like no Shift-Tab in Windows, and "showkey" under Linux displaying strange keycodes when using Shift-Tab.

Regards,
Oliver




reply via email to

[Prev in Thread] Current Thread [Next in Thread]