[Bug 2157521] Re: SRU: Fix international keyboard mapping
Launchpad Bug Tracker
2157521 at bugs.launchpad.net
Fri Jul 24 05:43:41 UTC 2026
** Merge proposal linked:
https://code.launchpad.net/~zhhuabj/ubuntu/+source/spice-html5/+git/spice-html5/+merge/508961
--
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to spice-html5 in Ubuntu.
https://bugs.launchpad.net/bugs/2157521
Title:
SRU: Fix international keyboard mapping
Status in spice-html5 package in Ubuntu:
New
Bug description:
[Impact]
Currently, users trying to use spice-html5 with international keyboards (like the Brazilian ABNT2) have problems typing. Some physical keys send the completely wrong output to the virtual machine console.
This happens because the javascript code is relying on the old keyCode
property from the browser. This property is very bad at translating
non-US keyboard layouts. For example, the keys /? and \| on the
Brazilian layout get mixed up with US keys because they share the same
numeric ID in the browser.
The fix updates the library to use the modern KeyboardEvent.code
property instead, which reads the real physical key location before
the browser tries to translate it.
[Test Plan]
- Have an environment with spice-html5 configured (like OpenStack Horizon).
- Open a virtual machine console in the web browser.
- Configure your local client machine to use an international keyboard layout (like pt-BR ABNT2).
- Inside the console, press the keys that don't exist on standard US keyboards, like /? (next to right shift) and \| (next to left shift).
- Without the patch, the console will receive the wrong scancode and type the wrong character.
- With the patch applied, the guest OS will receive the correct scancode and type the characters normally.
[Where problems could occur]
The risk of regressions here might be if any of the new mappings in the code dictionary are wrong. If a string is mapped to the wrong scancode, a key that was working fine before could start sending the wrong input.
However, the risk is very low because the developer kept the old
keyCode behavior working as a fallback in the code. If the browser
doesn't send a valid e.code, it just falls back to the old way. Also,
our local usage tests didn't show any issue with standard or
international typing after applying this.
[Other Info]
The patch is already merged upstream and it applies cleanly on top of the current Ubuntu package version.
Upstream commit: https://github.com/opensourcevdi/spice-html5/commit/9c8377f86c3423010e5705861429761074ed63e2
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/spice-html5/+bug/2157521/+subscriptions
More information about the Ubuntu-openstack-bugs
mailing list