Running virt-viewer-x64-0.5.6.msi, on Windows 7, connecting to QEMU using spice, AltGR key combinations fails (using Swedish keyboard layout both at server and client).
I suspect that this is a variant of https://bugzilla.redhat.com/show_bug.cgi?id=904092. After some debugging, I realized that there is an extra VK_LCONTROL keypress sent by Windows. This extra VK_LCONTROL will then make the key e.g. AltGr-< actually be Control-AltGr-<, which is not interpreted as a | sign. So in spice-widget.c : keyboard_hook_cb(), I added SPICE_DEBUG lines which printed out the hooked->scanCode, and realized that this extra VK_LCONTROL has a very suspect scanCode with bit 9 set. If I instead press the left Ctrl key, it will also emit VK_LCONTROL, but with bit 9 cleared. So I just made sure that keyboard_hook_cb(), silently dropped these strange VK_LCONTROL events, which seems to work for me. case VK_NUMLOCK: case VK_LSHIFT: case VK_RSHIFT: - case VK_LCONTROL: case VK_RCONTROL: case VK_LMENU: case VK_RMENU: break; + case VK_LCONTROL: + // When pressing AltGr, an extra VK_LCONTROL with a special scancode with bit 9 set is sent. + // Lets ignore the extra VK_LCONTROL, as that will make AltGr missbehave. + if (hooked->scanCode & 0x200) + return 1; + break; default: SendMessage(win32_window, wparam, hooked->vkCode, dwmsg); return 1; } /Mattias
_______________________________________________ virt-tools-list mailing list [email protected] https://www.redhat.com/mailman/listinfo/virt-tools-list
