[OpenBIOS] [Qemu-ppc] [Qemu-devel] Mac OS X on QEMU

Scott Wood scottwood at freescale.com
Wed Jul 10 22:49:08 CEST 2013


On 07/10/2013 02:54:19 PM, Programmingkid wrote:
> 
> On Jul 10, 2013, at 3:03 PM, Scott Wood wrote:
> 
> > On 07/09/2013 10:36:37 PM, Programmingkid wrote:
> >> On Jul 9, 2013, at 1:32 PM, Scott Wood wrote:
> >> > On 07/04/2013 09:58:04 AM, Programmingkid wrote:
> >> >> On Jul 4, 2013, at 10:51 AM, Stefan Hajnoczi wrote:
> >> >> > On Thu, Jul 4, 2013 at 4:45 PM, Alexander Graf  
> <agraf at suse.de> wrote:
> >> >> >>
> >> >> >> On 04.07.2013, at 16:40, Programmingkid wrote:
> >> >> >>
> >> >> >>> We have made a lot of progress in the last month with  
> making Mac OS X run in QEMU. A lot of people are to thank for this  
> milestone. To everyone involved, thank you.
> >> >> >>>
> >> >> >>> There is one thing that we have to figure out. That is the  
> command key issue. This key is a very important on the Macintosh. It  
> is used to send keyboard shortcuts to applications.
> >> >> >>>
> >> >> >>> What I propose is adding a menu item to QEMU's menu called  
> "Map Command key to ALT". This would allow a user to be able to send  
> Macintosh applications command key shortcuts from both a PC and Mac  
> keyboard.
> >> >> >>>
> >> >> >>> I welcome any and all ideas to solve this problem.
> >> >> >>
> >> >> >> This is the wrong mailing list for this. Your proposal would  
> touch non-PPC code in QEMU, so this needs to go to qemu-devel.
> >> >> >>
> >> >> >> Keep in mind that the same thing arises with x86 Mac OS X  
> running in QEMU.
> >> >> >
> >> >> > When I VNC into a Mac I find that the "Windows key" becomes  
> the
> >> >> > Command key.  And the same probably happens when you plug a  
> non-Apple
> >> >> > USB keyboard into a Mac.
> >> >> I was thinking about the Windows key. It would be the perfect  
> substitute - if it was available on all keyboards.
> >> >> >
> >> >> > If you are using a keyboard with a "Windows key" then that  
> would be
> >> >> > the most natural option.  If you don't have that key then you  
> really
> >> >> > need to map something else...
> >> >> >
> >> >> > Stefan
> >> >> Maybe there should be two menu items:
> >> >> "Map command key to ALT" and "Map command key to Windows key".
> >> >> They would be mutually exclusive of course.
> >> >
> >> > Isn't the Windows key already the same thing as the Command key,  
> in terms of the actual keycode generated?
> >> I don't think so. The command key is equal to 0x37. The windows  
> key is equal to 0x5B. This is my source:  
> http://msdn.microsoft.com/en-us/library/windows/desktop/dd375731(v=vs.85).aspx
> >
> > That says 0x37 is the 7 key.  The word "command" does not appear.
> 
> Sorry, but this is my source for a Mac keyboard:
> http://boredzo.org/blog/wp-content/uploads/2007/05/imtx-virtual-keycodes.png.
> 
> The values you see on the keys are in decimal. 55 in base 10 is equal  
> to 37 in base 16.

You're comparing apples to oranges.  Both of those are "virtual  
keycodes" defined by some OS.  Note that all the other keys are  
different as well between the two.

> > I assume you mean "The alt and control key are not used very  
> much...".
> >
> > Maybe the user doesn't mind -- but maybe they do mind and would  
> rather swap the two than end up with both ALT and the OS key being  
> Command.  When I used MacOS X I use control and alt quite a bit, in  
> console and X11 apps.
> 
> That's not a problem. The user would be free to decide which key acts  
> as the command key. A function key could be used. The alt and control  
> key can be left alone.

If I want to use the alt key as the command key, then with your  
proposal, how would I get the OS key to act as the alt key?

> >> I also want to state that I decided against the adding menu items  
> idea. Instead I am currently planning to use a command line option.  
> You just pass the key value you want to use to act as the command  
> key. Here's an example:
> >> qemu-system-ppc -command-key 0x37.
> >> The user could pick one of the functions keys as the command key  
> if desired.
> >
> > If you're going to get into remapping keys, wouldn't it be better  
> to have a generalized mechanism so the user could do whatever remaps  
> they want?  Other targets may have their own special keys.
> >
> > -Scott
> 
> That does sound like a good idea. There would be a lot of things we  
> would have to consider and agree upon. This is what I think you want,  
> a command line option that specifies a key what it maps to.
> Example:
> 
> qemu-system-ppc -a-key 0x0 -b-key 0x11 ...
> 
> Basically you specify a key, then state the raw keyboard value for  
> it. Is that what you mean by generalized mechanism? This way could  
> work, but I think using a file might be better.
> 
> Example:
> 
> file: keyboard-layout.txt
> a			0x0
> b 			0x11
> c			0x8
> command	0x37
> option		0x3A
> control		0x3B
> ....

Yes, something like that.  It would be nice if existing infrastructure  
could be used, such as using X11 keycodes (or whatever else is native  
to the host) rather than making up a new namespace for keys.

> qemu-system-ppc -keyboard-layout-file ./keyboard-layout.txt
> 
> There is one issue that still bothers me. Should we assume an ascii  
> keyboard is attached to the QEMU emulated machine? We might want to  
> consider unicode in the future. Not every user speaks english. Are  
> there any non-native english users who would like to see unicode  
> support in QEMU?

Keyboards don't generally speak ASCII (or Unicode).  They produce  
keycodes, which are generally translated into some sort of event by the  
host's input layer (e.g. the X server).  It's up to the guest software  
to translate those keycodes into either ASCII or Unicode (or whatever  
else it wants).

-Scott



More information about the OpenBIOS mailing list