I suspect that non-US keyboard users will have much better insight as to what tweaks are needed. I use a US keyboard and a Windows guest. I think that most of the options should be selections in the GUI and not edited into a config file.
I think the major issues are one button vs two or three button mouse, and laptop keyboard vs attached USB keyboard, and preferences for "make it look like Windows" or "pretend Windows is a Mac".
For myself, I want a mode that passes every key to the guest, with reasonable meanings in the guest. Specifically, every combination of control, alt, and shift, in combination with a printing or whitespace (or escape) character should be passed through as themselves. The modifier keys alone should also be passed through. I'm happy to have the command key as a meta key to do things directly to Parallels or OSX. If the left and right versions of keys such as shift could be differentiated, that would be good.
I see the keyboard configuration file as a way to accommodate varied keyboards. I think the best way to do that is to provide a utility that shows the keycode of any key pressed in the host environment, and a file format that allows entries of the form
<NewKeyCode>=<OldKeyCode>
to allow anyone who wants to to create their own specialized map.
Allowing the form [modifier[,...],]keycode=[modifier[,...],]keycode
would provide complete keyboard mapping flexibility.
And while I'm on keyboards, while I don't need it, some folks have requested that the optical media eject key be made to work. An addition to the tools package could implement that, but that may be out of the scope of this discussion.
Thanks for asking.
Last edited: Nov 26, 2006