80e28a00ec
- unmodified_drivers: handle IRQF_SAMPLE_RANDOM, it was removed in 3.6-rc1 - bnc#778105 - first XEN-PV VM fails to spawn xend: Increase wait time for disk to appear in host bootloader Modified existing xen-domUloader.diff - Disable the snapshot patches. Snapshot only supported the qcow2 image format which was poorly implemented qemu 0.10.2. Snapshot support may be restored in the future when the newer upstream qemu is used by Xen. - bnc#776995 - attaching scsi control luns with pvscsi - xend/pvscsi: fix passing of SCSI control LUNs xen-bug776995-pvscsi-no-devname.patch - xend/pvscsi: fix usage of persistant device names for SCSI devices xen-bug776995-pvscsi-persistent-names.patch - xend/pvscsi: update sysfs parser for Linux 3.0 xen-bug776995-pvscsi-sysfs-parser.patch - Update to Xen 4.2.0 RC3+ c/s 25779 - Update to Xen 4.2.0 RC2+ c/s 25765 OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=199
46 lines
1.9 KiB
Diff
46 lines
1.9 KiB
Diff
When access domU from Windows VNC client, spanish keyboard altgr key
|
|
doesn't work. According to log info, we found that the keycodes passed
|
|
from vncclient to qemu vncserver have something wrong. When altgr and "2"
|
|
pressed, keycodes vncserver receives are:
|
|
ALT_R down,
|
|
CTRL_L down,
|
|
CTRL_L up,
|
|
ATL_R up,
|
|
"2" down,
|
|
"2" up,
|
|
...
|
|
Since when send "2" down, there is no altgr modifier, the char displayed
|
|
on screen will be "2" but not "@".
|
|
|
|
To solve this problem, there is another patch applied by upstream which
|
|
sends an additional altgr modifier before "2" down in the above case.
|
|
It works well when domU is windows, but on sles10 sp3 domU, sometimes it
|
|
display "@" and sometimes it still displays "2", especially when press
|
|
altgr+2 continuously.
|
|
|
|
For the sles10 sp3 domU problem, maybe because there are two many alt_r (same
|
|
keycode as altgr on "es") up and down events and the domU OS couldn't handle
|
|
it well.
|
|
|
|
To furtherly solve this problem, I write this patch, when vncserver
|
|
is "es" and receives a alt_r keysym (this is already abnormal since "es" has
|
|
no alt_r), then treat the alt_r as alt_l. This can avoid too many altgr
|
|
keycodes up and down events and make sure the intentionally added altgr keycode can take effect.
|
|
|
|
Signed-off by Chunyan Liu (cyliu@novell.com)
|
|
|
|
Index: xen-4.2.0-testing/tools/qemu-xen-traditional-dir-remote/vnc.c
|
|
===================================================================
|
|
--- xen-4.2.0-testing.orig/tools/qemu-xen-traditional-dir-remote/vnc.c
|
|
+++ xen-4.2.0-testing/tools/qemu-xen-traditional-dir-remote/vnc.c
|
|
@@ -1308,6 +1308,9 @@ static void do_key_event(VncState *vs, i
|
|
shift_keys = vs->modifiers_state[0x2a] | vs->modifiers_state[0x36];
|
|
altgr_keys = vs->modifiers_state[0xb8];
|
|
|
|
+ if ( !strcmp(keyboard_layout,"es") && sym == 0xffea )
|
|
+ sym = 0xffe9;
|
|
+
|
|
keycode = keysym2scancode(vs->kbd_layout, sym & 0xFFFF);
|
|
if (keycode == 0) {
|
|
fprintf(stderr, "Key lost : keysym=0x%x(%d)\n", sym, sym);
|