VNC Keyboard Layout (Intel AMT)

VNC Keyboard Layout (Intel AMT)

avatar

We are connecting via Intel AMT and the integrated VNC (or Ultra VNC) to machines.

Everything works great, but on machines which have NOT US Keyboard Layout as the local Layout on the local PC, the spcial characters are completly wrong on the host machine.

How could that be fixed, so we get the correct characters on the Host machine, also when we don't have US as local layout.

Best regards.
Patrick

All Comments (23)

avatar

Hi Patrick

What layouts are used on the local and remote machine?

Jonathan Lafontaine

avatar

Hi Jonathan

It's Swiss German on both machines. (Host and Remote PC)

Best regards.
Patrick

avatar

Hi Patrick,

I've been testing your issue and I would like to check if my results mirror yours.

Layout is the same on both sides of the connection: no problem, all characters are good
US layout on the local machine and Swiss German on the server, output is US layout without problems.
Swiss German on the local machine and US on the server, output is Swiss German but some special characters are wrong.

Jonathan Lafontaine

avatar

Hi Jonathan

No I don't have the same behavior.
I have locally Swiss German AND on the Remote Workstation also Swiss German.
When I connect to it via Vpro VNC, everything is OK and I have the correct layout.

When I use the RDM Intel Entry (which also goes via VNC) it has US Layout.

Best regards.
Patrick

avatar

Hi Patrick,

I've done a bit more testing with VNC Viewer+ and here's what I've got.

VNC Viewer+ with a Swiss German local layout connecting to a vPro using a Swiss German Layout, most special characters are wrong.
RDM with a Swiss German local layout connecting to a vPro using a Swiss German Layout, most special characters are also wrong but not necessarily the same.


VNC Viewer+ with a Swiss German local layout connecting to a vPro using a US Layout, most special characters are wrong.

RDM with a Swiss German local layout connecting to a vPro using a US Layout, I have mostly the same output with some minor differences.



VNC Viewer+ with a US local layout connecting to a vPro using a Swiss German Layout, everything looks fine.
RDM with a US local layout connecting to a vPro using a Swiss German Layout, everything looks fine.

Am I getting close?

Jonathan Lafontaine

avatar

Hey Jonathan

Thanks for all your testing and learning German by the way! 🤣

I only tested these two:

VNC Viewer+ with a Swiss German local layout connecting to a vPro using a Swiss German Layout -> Everthing is correct, no false characters.

RDM with a Swiss German local layout connecting to a vPro using a Swiss German Layout, -> most special characters are wrong And it looks like a US set instead of a Swiss German set to me. Like RDM is using US instead of CH German.

As it's working fine in VNC Plus directly, it must be something in RDM. Are there any settings to be made? Or how did you test it exactly? Windows keyboard layout or is there a setting within RDM?

Thanks and best regards.
Patrick

avatar

I added the Swiss German keyboard layout to the English (United States) language options.
I then connected with different layout combinations from both RDM and VNC Viewer+ and typed the number row shifted and compared the results.

I started looking at wireshark captures to figure out what VNC Viewer+ is sending vs RDM.
VNC Viewer+ being the official vPro viewer uses vnc protocol 4.0 which is not publicly available, RDM uses vnc protocol 3.8.

As for a workaround, you could instead use a standard vnc session set to external and configure VNC Viewer+ as the VNC application.
Command line arguments for the entry would look like this "-uri kvm://<username>:<password>@<host_computer>"

Jonathan Lafontaine

avatar

Just to be sure, here is the first row from my CH german keyboard:

°+"*ç%&/()=?`

Here is what I see when I do it in RDM via Intel entry on the remote machine:

`à(%/_)=`_° (Strange thing is, that the same character is displayed twice: `and _

I though that's US layout?

I added the Swiss German keyboard layout to the English (United States) language options. -> You are talking about the windows language options, right?

The thing with using the external Viewer is, that we would need a lot of licenses for VNC Viewer+ to connect to Intel vPro (as this is not free).

So I still hope we can somehow solve that. What did your wireshark test bringt to light?

avatar

Here's the top row on a US keyboard: !@#$%^&*()_+
When my layout is US and the vPro is Swiss German, I get °+"*ç%&/()=?`

Anything else I've tried so far gives me something like `à(%/_)=`_°

Yes, I'm talking about he language options in the Windows settings. Did this impact your results in any way?


So far, wireshark confirmed that I'm sending the same key code as VNC Viewer+ for most keys.
What's weird is that you experience no problem when a Swiss German keyboard layout is used on both side but I do.

Jonathan Lafontaine

avatar

Wow, when I change it to US English, everything is displayed correctly within RDM via VNC on the INtel ATM!
That's very strange. So why would it be a problem, to have my local setting to CH german keyboard, and it will display some completly wrong characaters, and also has the Z and Y at oposit places, but when I change it to US it shows the right keys...?

avatar

I've tested with a regular vnc server, ultra vnc in this case, and almost all combinations have the right output so I don't think RDM is sending the wrong keys.
But it's possible that some settings, only available in protocol version 4.0, can change what layout the server expects.

Jonathan Lafontaine

avatar

Would you have a vPro System which has at least AMT 6.0? As this my behave a little bit different than a normal VNC Server.

avatar

Yes, I've tested on a proper vPro vnc server.
I'm not at work and can't validate the AMT version right now but if definitely behave differently than a normal VNC Server.

Jonathan Lafontaine

avatar

Very strange. It's quite a pain to change the keyboard layout when using vpro and change it back, when writing something locally. Do you see any way to find out what the problem could be.

Is there a normal VNC Pro Version which also uses vnc protocol 3.8 so I could test it out, to see if I have the problem there as well or not?

avatar

Technically, the way VNC is designed, the server should change it's protocol to match the client.
We advertise version 3.8 to AMT but since it's a licensed product, it's possible they ignore it.

I think I have a RealVNC Server license at work, I could install one to see if I can get the same behavior.
Something else you could try is turning on the legacy mode on vPro.
Using MeshCommander, you can activate the port 5900 to use any vnc client to connect.
Not all AMT features are supported in this mode but it would be a good test.
Unfortunately, when I tried to enable this mode on my device earlier today, MeshCommander return error 400: cannot set value, so looks like it's a test I will not be able to replicate.

Jonathan Lafontaine

avatar

Hey Jonathan

Wow, I did not know about the meshcommander, what a great tool! Just tested the KVM there and it has the same problem as in RDM. So only when we use VNC+ directly from the intel vpro solution manager it works OK.

How can I activate the port 5900? I searched for that in the MeshCommander, but could not find this option.

I also read now, that with version 9.7 we can even replace the whole AMT with the meshcommander... wow, what a good tip, thank you so much.

I think we will get to the ground of this! :-)

avatar

Once connected, on the System Status page, you should see a line related to port 5900 or legacy mode with blue text next to it.
If you click the blue text, it will open the settings dialog for this particular option and let you enable it.

Jonathan Lafontaine

avatar

here is a screenshot. Don't see this option. (also checked under redirection port (active features) nothing there.

mes.jpg

avatar

Click the blue text beside Remote Desktop.

Jonathan Lafontaine

avatar

Get the same error: unable to set value...

avatar

That's unfortunate.

I hope my test with the RealVNC Server will yield some useful information.

Jonathan Lafontaine

avatar

Hi Patrick,

I've done some more testing today with the vPro and a standalone RealVNC server.
Unfortunately, short of reversing VNC protocol 4.0, there doesn't seem to be anything we can do to solve this issue.
Event VNC Viewer+, once limited to protocol version 3.3, cannot correctly handle the different layouts anymore.

I will add reversing of the 4.0 protocol to our R&D todo list but can't provide a time frame as to when it's gonna be tackled.

Jonathan Lafontaine

avatar

Hi Johnathan

Thank you for the big effort. Ok so we hope it's gonna be fixed in the future.

Best regards.
Patrick