On Mon, Aug 18, 2014 at 03:54:51AM +0000, Dexuan Cui wrote: > > -----Original Message----- > > From: Dmitry Torokhov > > Sent: Saturday, August 16, 2014 0:58 AM > > To: Dexuan Cui > > > For each char in the string, the host sends 2 events (key down/up with the > > > char's UNICODE value) to the guest. > > > The patch finds each char's scan codes of key down/up, and injects the > > > scan codes to the serio keyboard module. > > > > > > Known issues: > > > 1) Only printable ASCII chars are supported, and unsupported chars are > > > ignored. It seems unlikely to support generic UNICODE chars because there > > > is not a generic API to inject a UNICODE char to text mode console, KDE, > > > gnome, etc. > > > > > > 2) When we use the feature, make sure the CapsLock state of the VM's > > > (virtual) keyboard is OFF because this patch assumes it -- we'll try to > > > fix this later, probably by tracking the state of virtual CapsLock, > > > because > > > it looks the keyboard module doesn't supply an API for us to query the > > state > > > of the keyboard. > > > > > No way. If you want to do this this way, do it in hypervisor code and keep > > feeding AT scan codes to hyperv-keyboard, although I am pretty sure users > Hi Dmitry, > Yeah, I had the same wish, but later I found this seems unlikely because IMO > the feature was firstly invented for Windows VM + generic UNICODE chars, > and we know there is no "scan code" for generic UNICODE chars... :-(
Do you know what guest is running? You could potentially gate on that. > > > of > > French, Czech and other keyboard layouts with numbers in upper register > > and > > symbols in lower will have a few choice words for you. > Sorry, I can't understand what these are. > Can you please give more details or a link to further info? On French and many other European layouts to produce a number one needs to use Shift key, instead of simply using lower register, as on US or UK layouts. I.e. if you send scancode for KEY_3 through your proposed implementation it will produce '#' and KEY_SHIFT + KEY_3 will result in '3'. There are also issues with QWERTY/AZERTY and other layouts... Thanks. -- Dmitry _______________________________________________ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel