In this post, I outlined the needed changes in order to get VMWare Workstation to behave properly with the keyboard under Gnome. I recently came across an easier solution: Simply place the following line in the .vmware/config file:
xkeymap.nokeycodeMap = true
This didn’t happen for me with previous versions of Fedora or previous version of VMWare Workstation, but it seems to have happened to others at varying times. This problem came about for me when I upgraded to Fedora 10 (I had already been using VMWare Workstation 6.5 with no issues).
I have Windows XP running in a VM to deal with the “windows-only” aspects of my daily job, and after the Fedora 10 upgrade, a handful of keys no longer worked properly. These problem keys were:
- insert
- home
- page up
- delete
- end
- page down
- all of the arrow keys (left, right, up, down) – It should be noted that the left arrow was acting like the “alt” key and the down arrow was acting like the “windows” key.
The solution, as found on this page, is easily summarized like this:
- Create (if it does not yet exist) ~/.vmware/config
- In that file, enter the following:
xkeymap.keycode.108 = 0x138 # Alt_R
xkeymap.keycode.106 = 0x135 # KP_Divide
xkeymap.keycode.104 = 0x11c # KP_Enter
xkeymap.keycode.111 = 0x148 # Up
xkeymap.keycode.116 = 0x150 # Down
xkeymap.keycode.113 = 0x14b # Left
xkeymap.keycode.114 = 0x14d # Right
xkeymap.keycode.105 = 0x11d # Control_R
xkeymap.keycode.118 = 0x152 # Insert
xkeymap.keycode.119 = 0x153 # Delete
xkeymap.keycode.110 = 0x147 # Home
xkeymap.keycode.115 = 0x14f # End
xkeymap.keycode.112 = 0x149 # Prior
xkeymap.keycode.117 = 0x151 # Next
xkeymap.keycode.78 = 0x46 # Scroll_Lock
xkeymap.keycode.127 = 0x100 # Pause
xkeymap.keycode.133 = 0x15b # Meta_L
xkeymap.keycode.134 = 0x15c # Meta_R
xkeymap.keycode.135 = 0x15d # Menu
Save the file and start VMWare Workstation to get the full functionality of the keyboard back.
After an upgrade to Fedora 10, VMware Workstation 6.5.0 would not run. The kernel modules, as expected, needed to be compiled, but the only one that would not compile was the vmmon kernel module.
Attempting to run vmware-modconfig resulted in a segfault, and attempting to compile the modules manually (as suggested in one of the vmware community forums) resulted in compile time errors:
#> make
Using 2.6.x kernel build system.
make -C /lib/modules/2.6.27.5-101.fc10.x86_64/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/kernels/2.6.27.5-101.fc10.x86_64′
CC [M]Â /root/vmware-modules/vmmon-only/common/vmciContext.o
In file included from /root/vmware-modules/vmmon-only/common/vmciContext.c:23:
/root/vmware-modules/vmmon-only/common/vmciSharedMem.h:28: error: expected declaration specifiers or ‘…’ before ‘VMCISharedMemInfo’
make[2]: *** [/root/vmware-modules/vmmon-only/common/vmciContext.o] Error 1
make[1]: *** [_module_/root/vmware-modules/vmmon-only] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.27.5-101.fc10.x86_64′
make: *** [vmmon.ko] Error 2
After much digging, the end solution turned out to be VERY simple:
mv /usr/lib/vmware/modules/binary /usr/lib/vmware/modules/binary.old
vmware-modconfig –console –install-all
The modules happily built and all was well with the world. 🙂