qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Mac keyboard not supported


From: Johannes Schindelin
Subject: Re: [Qemu-devel] Mac keyboard not supported
Date: Mon, 17 Jan 2005 18:58:37 +0100 (CET)

Hi,

On Mon, 17 Jan 2005, Laurent Amon wrote:

> Selon Johannes Schindelin <address@hidden>:
>
> > I don't think the SDL guys are slow. And it is no major rework. It is one
> > file, one function, and if I'm correct, just deletion of 3 lines -- and it
> > should be a lot easier than replicating a whole keymap.
> If you can point me to the 3 lines, I'll try to compile SDL and see if it 
> works
> better. I hope I'll have a moment to look at it in the next few days. Not my
> priority, though.

The error is in SDL's file "src/video/maccommon/SDL_macevents.c" at the
end of the function "Mac_InitOSKeymap". The characters with values greater
than 0x7f are mapped in an inconsistent fashion (non-portable between two
languages):

This

                        /* Now we should have an ascii value, ...
                        if (value >= 128)         /* Some non-...
                                MAC_keymap[i] = world++;
                        else if (value >= 32)         /* non-c...
                                MAC_keymap[i] = value;

should be replaced by this:

                        MAC_keymap[i] = value&0xff;

> > For normal users, there is no need to differentiate between left and right
> > modifier keys. Also, it is not important to have exactly the same mapping
> > as on PC, but only that if you hit a key (e.g. '/') that the guest
> > actually understands the same key ('/'). No more, no less.
> I don't agree with you. When you type '/', the guest OS needs to to know the
> keycode corresponding to the '/' on the keyboard you emulate as well as the
> modifier key mask necessary to generate it. I believe windows works on that
> level, does it not? I don't think that you can simply pass the character.
> As to differenciating between left/right keys, it would be handy in order to
> emulate a Alt-Graph key (which is needed since qemu now grabs ctrl-alt), and
> the "contextual menu" key too. Not to mention playing pinball.

:-)

I didn't mean to send the character, sorry if my explanation doesn't match
my thoughts (still got a hangover). What I meant was this: If I press '/',
then I want QEmu to send *anything* which makes the guest OS understand
that I pressed '/'. If I happen to have an English guest, but a German
host this means that the keysym for '/' should be translated to the PC
code of the corresponding key (resetting Shift, which has to be pressed in
German, but not in English). We're not there yet -- at the moment you need
to have the same layout in host and guest. But my point is: it doesn't
matter if the layouts of PC and Mac match or not (for now: as long as the
needed modifiers are the same, which is the case).

Ciao,
Dscho





reply via email to

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