[OpenBIOS] [Qemu-ppc] [Qemu-devel] Mac OS X on QEMU
scottwood at freescale.com
Wed Jul 10 23:42:54 CEST 2013
On 07/10/2013 03:55:46 PM, Programmingkid wrote:
> On Jul 10, 2013, at 4:17 PM, Scott Wood wrote:
> > On 07/10/2013 02:54:19 PM, Programmingkid wrote:
> >> On Jul 10, 2013, at 3:03 PM, Scott Wood wrote:
> >> > 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?
> That would involve detecting the key, then looking up what the user
> wants the key to act as. Then sending that translation to the guest
> OS. Since most keyboards have duplicate alt, control and
> command/windows keys, giving up one of them should be ok.
Just because you'd be happy with it doesn't mean others would.
> > 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
> Do you have any documentation that should be used as a reference?
> >> 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).
> Thanks for this info. The ascii system does work on a PC environment.
> The Mac adds a command key that isn't a part of the ascii standard.
No, it's the same on PCs. There's no ASCII code for Shift (except in
combination with certain keys), Control (except in combination with
certain keys), Alt, Windows, Menu, Arrows, NumLock, PrintScreen,
Insert, volume keys, etc. Some of those things may have escape
sequences that are encodable in ASCII (not actually part of the ASCII
standard), but those are generated by the OS, not the hardware.
> We can't just add an offset to a letter character and send it to the
> guest OS like the alt or control keys.
Again, it's the guest that does that.
> Since QEMU appears to use a serial console as its input,
Hmm? You *can* do that, but you don't have to.
> trying to tell the guest OS that the command key is down is going to
> be challenging.
No different than connecting to a real Mac via a USB serial port, or
via ssh. Command line programs don't use the command key.
If you're using graphics in the guest, then QEMU should be emulating a
real keyboard as well.
> I'm hoping it won't require a rewrite of QEMU's input system.
> Anybody have any ideas on how to send the guest OS the command key
> and another letter key at the same time?
It never happens at the same exact time, at least as reported by the
keyboard. Whichever one happens first gets sent first, and there's a
separate notification when a key is released.
More information about the OpenBIOS