Daniel P. Berrange
2006-Oct-03 01:14 UTC
[Fedora-xen] FYI switching VTs in guest framebuffer with virt-manager
A fair number of people have wondered how to switch virtual consoles in guest framebuffer using virt-manager. The basic problem is that all keystrokes need to be passed through to the guest & not interpreted by the local host. This is a tricker problem than it sounds because while you can grab the keyboard using XGrabKeyboard (or its GTK equiv), this does not block VT switching. So with the recent release of 0.2.3 of virt-manager I implemented a simple workaround. Here is a summary of the behaviour in virt-manager now: - In normal view keyboard grab is not activated - so regular window manager key bindings will still be processed by your local X session rather than the guest. - In fullscreen view, keyboard grab is automatically activated (and deactivated when switching back to normal view). So all keys will be processed by the guest with exception of the Ctrl+Alt+XXX combos - At any time ''sticky modifiers'' can be activated. Press any modifier key 3 times in a row, and it will ''stick'' on until the next non-modifier key is released. So, if you want to send Ctrl+Alt+F1 to the guest, then you would type ''Ctrl Ctrl Ctrl Alt+F1''. I''ve found the time ''3 quick taps of Ctrl'' quickly becomes second nature & not nearly as tedious as it sounds - switching VTs is a fairly infrequent operation after all. Regards, Dan. -- |=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=| |=- Perl modules: http://search.cpan.org/~danberr/ -=| |=- Projects: http://freshmeat.net/~danielpb/ -=| |=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|