Changeset 10742:3e07ec30c445 made it possible to switch to the QEMU
monitor terminal when using the VNC display protocol. Unfortunately
the VNC key handling is rather crazy, so even if you have the shift
key pressed, a VNC client will send a lowercase letter, expecting the
server to interpret the state of the shift key as desired.
Normally in HVM guests, the guest OS does this interpretation just fine,
but if you switch to the monitor terminal (Ctrl+Alt+2) then the guest OS
is not involved. The end result: it is impossible to type any uppercase
letters in the monitor - which makes it hard to type in file paths for
example.
In the spirit of the original patch in changeset 10742, the attached patch
is the simplest solution to make shift keys work - it tracks the shift key
and caps lock key state. If both are active, or both inactive, then no
transform is made; If either one, or the other (but not both) are active,
then the letters a-z are transformed to A-Z, and vica-verca.
A real long term solution would be to somehow get the monitor to use
the proper keymap tables like the SDL display does, but that's something
which should really be done upstream rather than as a Xen patch since it
would be a rather large amount of work.
Signed-off-by: Daniel P. Berrange <berrange@xxxxxxxxxx>
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 -=|
xen-qemu-vnc-monitor-shift.patch
Description: Text document
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|