On Thu, Mar 31, 2016 at 1:43 PM, Frediano Ziglio <fziglio@xxxxxxxxxx> wrote: >> >> I noticed Linux GNOME desktop hangs up when Windows virt-viewer connects to >> the desktop and type some specific keys on JP keyboard. >> >> Server: GNOME desktop and IBus in RHEL 7 >> Client virt-viewer in Windows 7 with JP 106 keyboard >> >> When I see the key events with 'xev' command in GNOME desktop, I observed the >> unlimited too many key events of Zenkaku_Hankaku key and it caused the >> desktop freeze. >> The attached three patches resolves the desktop issues. >> > > Can you please send the patches as separate e-mails (like git format-patch style) > so we can discuss them online? In order to speed up the process I took the freedom to apply Takao's patches locally, regenerate the patches (and cover letter) and submit them upstream using git send-email. Patches are on the mailing list at this point. > > Frediano > >> 1. spice-gtk-1311820-01-zkhk.patch >> Zenkaku_Hankaku key has the different virtual-key codes between WM_KEYDOWN >> and WM_KEYUP and MapVirtualKey() cannot get the scancode from virtual-key >> code of WM_KEYDOWN (VK_OEM_ENLW) and spice-gtk didn't send the key press >> events and caused the desktop freeze with unlimited key release events. >> >> The fix is to get the scancode from virtual-key code of WM_KEYUP >> (VK_OEM_AUTO) and Zenkaku_Hankaku key works fine. >> >> Alt + Zenkaku_Hankaku key also has the different virtual-key code and >> MapVirtualKey() cannot get the >> scancode from the virtual-key and spice-gtk didn't send the key press events >> and Alt+Zenkaku_Hankaku could not be used. >> >> The fix is to get the scancode from virtual-key code of Zenkaku_Hankaku key >> (VK_OEM_AUTO). >> >> VK_CAPITAL, VK_OEM_BACKTAB are also applied the similar fixes. >> >> 2. spice-gtk-1311820-02-freeze.patch >> After spice-gtk-1311820-01-zkhk.patch is applied, WM_KEYDOWN of >> Alt+Zenkaku_Hankaku (VK_KANJI) can be sent with spice-gtk but >> Alt+Zenkaku_Hankaku did >> not send the WM_KEYUP event in Windows and it caused Linux desktop freeze >> with unlimited key press events. >> >> The fix is to send the key release event in spice-gtk. >> >> VK_OEM_ATTN, VK_OEM_COPY, VK_OEM_BACKTAB are applied the similar fixes. >> >> 3. spice-gtk-1311820-03-hangul.patch >> This is an additional fix. Korean keyboard assigns Hangul key on the position >> of Right Alt and Left Alt and Hangul keys have the different scancodes >> but MapVirtualKey() returned the same scancode and could not use Hangul key >> on Linux desktop. >> >> The fix is to send the right scancode of VK_HANGUL. >> >> Thanks, >> Fujiwara >> > _______________________________________________ > Spice-devel mailing list > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/spice-devel _______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel