VMware Communities
lemchev
Contributor
Contributor

VNC dk keymap

Hi there

Using Remote Display with a Guest OS is cool. I've also mapped the added RemoteDisplay.vnc.keymap = "no" to the .vmx file, so that I can use the localized scandinavian chars like æøå.

However I still have a problem with other chars; as this is mapped to a norwegian keyboard, and I'm using a danish keyboard, I still can't use | \ < and >, which is kinda importent when using a shell in a VMware.

So have anyone made a dk keymap for VNC, or could someone explain me, what the codes on the right hand side of the keymappings is representing?

For example:

0x005c = 0x000d # XK_backslash

So the left hand value, 0x005c, is the X keysym, 0x5c, for backslash, that you can look up with xev. But what is the right hand code??? If I could just figure out what these code are, then I could just as well make my own DK mapping file.

0 Kudos
4 Replies
rfn
Contributor
Contributor

Hi,

Did you ever fix this? I'm really looking for a Danish keymap for ESXi which should be the same as for VMware Server/Workstation.

Regards,

René Frej Nielsen

0 Kudos
bonne1
Contributor
Contributor

Another Dane here trying to make the vmware/vnc keymapping work smoothly. Did any of you manage to make a "da" map that they might want to share?

Regards, Lars.

0 Kudos
Gewecke
Contributor
Contributor

Hi,

As far as I've been able to reverse engineer, the contents of the vnckeymap's have the following format:

keysym = v-scancode # XK_keysym

keysyms are the codes you can find on Linux using the xev tool

v-scancodes are VMWare's private format, which maps to a physical key on the keyboard. Although not particularly helpful, VMWare have listed these codes for a US-104 keyboard here:

http://www.vmware.com/support/ws55/doc/ws_devices_keymap_vscan.html

If you need to build a danish keymap file, copy the "no" file to a "da" file and open it using your favourite text editor. There's a couple of things you need to fix. Norwegians have a peculiar habit of reversing the Æ and Ø keys (sorry no-guys), so that need to be fixed.

Also, there as bug in the "no" file that prevents the < and > from working (which also causes the backslash to disappear).

To fix the < and > problem, the two lines below need to be changed:

FromTo
0x003c = 0x0033 # XK_less0x003c = 0x0056 # XK_less
0x003e = 0x0034 # XK_greater0x003e = 0x0056 # XK_greater

To reverse the Æ (AE) and Ø (O-slash) keys so they work like we danish people prefer, change:

FromTo
0x00c6 = 0x0028 # XK_AE0x00c6 = 0x0027 # XK_AE
0x00d8 = 0x0027 # XK_Ooblique0x00d8 = 0x0028 # XK_Ooblique
0x00e6 = 0x0028 # XK_ae0x00e6 = 0x0027 # XK_ae
0x00f8 = 0x0027 # XK_oslash0x00f8 = 0x0028 # XK_oslash

As for making bar and backslashes work in conjunction with the Alt-Gr key, i'm afraid your'e a bit on your own (although backslash may work already with the mappings above)

I haven't made it work so far, because I am actually working on a Mac, and I dont even have an Alt-Gr key....

Mac keyboard mapping from VNC to Linux through VMWare thinking its got a PC keyboard is quite another challenge.

(for those danish Mac users interested, this fix is to do a Linux keymap, which add the Mac shortcuts like Alt-I to bar, Alt-Shift-7 to backslash etc etc.)

But what you will need to accomplish is to map the v-scan code key 0x000d to XK_dead_grave/XK_dead_circumflex symbols, and then most likely the bar key will work.

I hope this can be of help,

Gewecke

0 Kudos
Gewecke
Contributor
Contributor

OK, here the last piece of the puzzle:

to make grave/acute/bar work, do the following:

1. Comment out the two lines:

#0xfe50 = 0x000d # XK_dead_grave
#0xfe51 = 0x000d # XK_dead_acute
2. Add these two lines

0x0060 = 0x000d # XK_grave

0x00b4 = 0x000d # XK_acute

That made it work for me..

0 Kudos