Support for non-English keyboard layouts in aSPICE and Opaque

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

 



Hi guys,

Some of you may have seen most of this in my posting on the ovirt-users mailing list. I wanted to inform the spice-devel list separately, in order to hear your input on the topic as it concerns SPICE directly.

I really didn't like the idea of releasing Opaque (the oVirt/RHEV VM console Android client) into production supporting only English (QWERTY), so I decided to implement a workaround for the existing inability to send Unicode directly to the OS of the VMs. It's not perfect, because it requires users to choose their layout themselves correctly, and it requires many layouts to be supported in order to approach universal usefulness. However, I expect that interested people will contribute keyboard layout map files for their own layouts once I document the final format and release the documentation with the source code.

Using this method, Opaque (and soon aSPICE) translate Unicode characters on-device according to a layout map chosen by the user into a series of scan codes and meta key-presses. Currently English (QWERTY), German (QWERTZ), and French (AZERTY) are fully supported including all AltGr and dead-key combinations.

Even though a Unicode channel may become reality in the future, this method will allow aSPICE and Opaque to immediately support existing installations until there is a better solution.

At this point, I think that Opaque is feature-full enough for a public release, so I'll be concentrating on integrating the project into bVNC/aRDP/aSPICE.

Sincerely,
iordan

--
The conscious mind has only one thread of execution.
_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]