qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] alt-gr on Windows


From: Kevin Wolf
Subject: Re: [Qemu-devel] alt-gr on Windows
Date: Thu, 18 Dec 2014 12:55:28 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

Am 17.12.2014 um 01:11 hat Thebault, Remi geschrieben:
> Hi list!
> 
> This is not the first post on this topic, but I haven't seen any
> solution about it.
> I tested so far linux guest on windows host and the AltGr key is
> dead in the guest. (using git master branch)
> 
> On french keyboard, the keys to yield the bar "|" are alt-gr + 6.
> when executing this combination on keyboard, Windows generates this:
>     - L-CTRL
>     - R-ALT
>     - 6
> 
> in Qemu (only digged gtk UI so far), pressing alt-gr + 6 generates
> the following trace
>     - L-CTRL
>     - L-ALT   <-- note left here
>     - 6
> 
> This comes from the Win32 call MapVirtualKey in gtk.c that maps to
> scancodes without left/right distinction.
> Even when sending the right alt to the guest, the alt-gr key remains
> dead because of ctrl being virtually pressed. I found out however
> that if R-ALT + 6 is sent without the ctrl key, the guest finally
> recognize it and prints the bar, @, # and other [}{].
> 
> To make things easier, Windows delivers the ctrl code before the alt
> code, so catching it cleanly before delivery to the guest is
> probably tough.
> I could however come to an easy and quick fix with sending the "ctrl
> up" signal to the guest before the "r-alt down" is sent.
> 
> My current code do not handle all corner cases (eg: turbo mode) and
> only fixes the gtk ui, but would such fix be accepted in the repo?
> Would this break somehow the windows guest on windows host?

CCing Stefan Weil, who is both the Windows maintainer and the author of
commit 2777ccc5, which introduced the MapVirtualKey() call. As there is
a special case for Alt Gr in the code, I suppose he had this working
back then.

>From what I understand (which isn't much when it's about Windows), it
seems very unlikely to me that the change would break anything that is
working today; but you should probably give it some testing before
posting a patch.

Kevin



reply via email to

[Prev in Thread] Current Thread [Next in Thread]