VMware vCloud Director 5.5.x and 5.6.x Internaltional Key mapping broken with WebMKS Console

Posted on 02/03/2015 · Posted in VMware

Noticed that with the latest update to VMware vCloud Director, 5.5.2 build 2233543 Thursday 10/23/2014 any console window opened with Google Chrome browser had really strange behavior with my Scandinavian keyboard layout. It wasn’t the regular type of keyboard layout mix up where you could just switch the way you input to match the US keyboard layout, but instead it was completely foobaared and none of the key presses really went correctly, except for a-z,A-Z and 0-9.

VMware support confirmed that this is an issue with the latest version of VMware vCloud Director 5.5.2.1 and Google Chrome browser only, as it uses WebMKS for console connections. WebMKS only supports EN/US keyboard layout and the keyboard layout has to be the same on both the VM and your OS for things to work correctly.

You know if WebMKS is being used from the following path in your remote session url: cloud/WebMKSConsole.html

While the old plugin shows the URL as: cloud/VMRCConsole.html

As a workaround, use Firefox or Internet Explorer for your console sessions.

Edit 28.4.2015: It seems that Firefox is now also using webkms with the remote console connections with vCD 5.6.4. VMware has confirmed that this will be fixed in the next version, but no timeframe was provided to me.

Edit 29.4.2015: To force vCloud Director for SP to use the old VMRC Console plugin rather than the new WebMKS Console, add the following lines to your MS SQL database:

insert into vcloud.dbo.config (cat, name, value) values ('vcloud', 'console.webmks.firefox.windows', 'false');
insert into vcloud.dbo.config (cat, name, value) values ('vcloud', 'console.webmks.ie.windows', 'false');
insert into vcloud.dbo.config (cat, name, value) values ('vcloud', 'console.webmks.chrome.windows', 'false');
insert into vcloud.dbo.config (cat, name, value) values ('vcloud', 'console.webmks.firefox.linux', 'false');
insert into vcloud.dbo.config (cat, name, value) values ('vcloud', 'console.webmks.chrome.linux', 'false');