Sorting it all Out Michael Kaplan's random stuff of dubious value Be sure to read the disclaimer here first!
I will start by saying that Virtual PC 2004 rocks. It truly does.
I spent a bunch of time yesterday building interesting Virtual Machines based on my simple Windows 2000, XP, and Server 2003 VMs that I keep around and the fact that it really rocks as a product was never to far from my mind.
Well, until I was chaging the default keyboard layouts of the guest machines in the VMs and my host machine for some demos I will be using them for. As a product, Virtual PC did fall a tiny little bit in my otherwise high opinion of it....
To start with, it is not so great with its default behavior used to switch out of the guest machine and move to the host machine -- it uses the Right Alt key. This has two problems, one not really international and one really so:
Take for example the German keyboard layout's base and AltGR shift states (cribbed screen shots of the GlobalDev Windows keyboard layouts page:
By the way, who thinks GlobalDev ought to have an RSS feed? I do! Russ, are you reading this post? :-)
Now generally, the keyboard does not have a good way to get to the AltGR functionality without that key (Ctrl+Alt is unwieldy for ordinary typing). German is a minor example, with a mere twelve assigned keystrokes (though someone who wanted to type a Euro sign might take exception at calling it a "mere" anything!), some of those other keyboards have many more assigned, and a few even have Shift+AltGR assignments as well.
Now of course there is a way to change the keystroke assignment here (item #9 in the Keyboard functionality, troubleshooting topic):
When the right ALT key is configured to be the host key, navigating through menus using only the keyboard does not work. Cause: On some keyboards, when the host key is the right ALT key, the Host key + ALT + menu accelerator does not work to access menus. Solution: You must change the host key to be something other than ALT or CTRL. For more information see, To change the host key used for Virtual PC.
When the right ALT key is configured to be the host key, navigating through menus using only the keyboard does not work.
Cause: On some keyboards, when the host key is the right ALT key, the Host key + ALT + menu accelerator does not work to access menus. Solution: You must change the host key to be something other than ALT or CTRL. For more information see, To change the host key used for Virtual PC.
Cause: On some keyboards, when the host key is the right ALT key, the Host key + ALT + menu accelerator does not work to access menus.
Solution: You must change the host key to be something other than ALT or CTRL. For more information see, To change the host key used for Virtual PC.
And then that topic has the actual instructions:
To change the host key used for Virtual PC Open Virtual PC Console. On the File menu, click Options. Click Keyboard. In the Current host key box, click the key name to select it, and then, on the keyboard, press the key that you want to use as the host key. The name of the new host key is displayed in the Current host key box. Notes To open Virtual PC Console, on the host operating system, click Start, point to All Programs or Programs, and then click Microsoft Virtual PC. The host key is used for several functions, including mouse control and providing CTRL key functionality in menu shortcuts.
To change the host key used for Virtual PC
Open Virtual PC Console. On the File menu, click Options. Click Keyboard. In the Current host key box, click the key name to select it, and then, on the keyboard, press the key that you want to use as the host key. The name of the new host key is displayed in the Current host key box. Notes To open Virtual PC Console, on the host operating system, click Start, point to All Programs or Programs, and then click Microsoft Virtual PC. The host key is used for several functions, including mouse control and providing CTRL key functionality in menu shortcuts.
The name of the new host key is displayed in the Current host key box.
Notes
Now we will ignore the tortuous nature of the instructions for a moment. Let us remember for a moment that up to 60% of Microsoft's market is outside of the US and that 70-100% of that majority do not want to use English a significant percentage of the time (numbers that will only get worse for English as products like MSKLC, ELKs, LIPs, and XP Starter Edition help to further expand the ability of people to read and write in their native language. In such an environment, is using the Right Alt key as a default setting here when large parts of the market for Microsoft products (most or all of which do not have a localized versions of Virtual PC 2004!) a smart choice?
I just checked, there is not an International English version of it, at present. I do see a note in a Virtual Server 2005 Evaluation FAQ about this:
Q. Is the Virtual Server 2005 Evaluation Kit available in languages other than English? A. Localized versions of the Evaluation Kit may be available in some locales. We will release information about non-English versions of the Kit as it becomes available. However, until then, you are welcome to order the English-language version through this site.
Q. Is the Virtual Server 2005 Evaluation Kit available in languages other than English?
A. Localized versions of the Evaluation Kit may be available in some locales. We will release information about non-English versions of the Kit as it becomes available. However, until then, you are welcome to order the English-language version through this site.
There is also a note in the Virtual Server 2005 FAQ about this:
Q. Will localized versions of Virtual Server 2005 be made available? A. Virtual Server 2005 will be available in English and Japanese.
Q. Will localized versions of Virtual Server 2005 be made available?
A. Virtual Server 2005 will be available in English and Japanese.
And it is true -- there is a localized Japanese version of Virtual Server 2005 (though not of Virtual PC 2004). Japanese thankfully does not have most of these problems though I believe I have seen a few Japanese laptops over the last few years that (hard pressed to fit the Hiragana/Katakana, English/Japanese, and Fullwidth/Halfwidth buttons) did not have a Right Alt key? :-)
Beyond having a better default being chosen, some work to try to detect the situation (on either end) and offer other options, such as altering the setting. Maybe allowing a shifted keystroke would also be a helpful option (currently you can only pick any one key). There are a lot of things that could be done here to make the situation better for the English version if additional localized versions are not planned, or in all versions if they are.
....
The other problem that comes up is the potential difference in layouts between the host and guest machine, and dealing with that difference in a way that is as intuitive as possible for users. This is of course a problem that Terminal Services has long had to deal with, and is not an easy one, either in the logon screen where options are admittedly more limited or once one is logged on, where they could potentially have interesting solutions they could architect.
But the Virtual PC solution is not the most original or intuitive of possible options. It is in item #7 in the Keyboard functionality, troubleshooting topic:
My keyboard supports multiple languages but certain characters are not working in a virtual machine. Cause: The guest operating system must be configured to support the language that contains the characters you want to use. Solution: Refer to the documentation for the guest operating system to configure support for the language you want to use.
My keyboard supports multiple languages but certain characters are not working in a virtual machine.
Cause: The guest operating system must be configured to support the language that contains the characters you want to use. Solution: Refer to the documentation for the guest operating system to configure support for the language you want to use.
Cause: The guest operating system must be configured to support the language that contains the characters you want to use.
Solution: Refer to the documentation for the guest operating system to configure support for the language you want to use.
Yikes! I guess that is a solution. But I can't help wondering if more could be done here. Now obviously Virtual PC is casting a much wider net than Terminal Services (I am sure we will see clients for Linux long before we would see servers!) but it seems like there might be some things that could be done if it is running a Windows OS, couldn't there be? Or maybe an explanation that there could not and more help on how to deal with the problem then one semi-hidden help question in an FAQ. :-(
Now I will keep on using Virtual PC, because frankly it still does rock, and a lot of the above can be explained by the fact that it is a product that Microsoft first picked up through acquiring another company, and perhaps future versions will work harder to help solve the issues now that the company that owns the product does have that larger focus.
But it definitely has some work to do in its next major version on the international front. :-)
And in the meantime it can serve to help application developers out there think hard about what they do with keyboard issues in their own applications, to avoid similar issues of greater or lesser scale....
This post is brought to you by "V" (U+0056, a.k.a. LATIN CAPITAL LETTER V)