After a kernel update on Fedora 10 followed by a reboot and VMware reconfiguration (vmware-config.pl) the arrow keys inside the Guest OS got all messed up. None of them seemed to work anymore (neither did Home, End, Page Up, Page Down).
This issue is quite old and VMware doesn’t seem to care enough about it, let alone fix it. It has been reported so far on several Linux distributions including Fedora and Ubuntu running vmware player, server or workstation. I haven’t tried vmware server 2 yet as I’m still pleased with vmware server 1.0.8 (latest release as of March 2009) and I usually prefer the lighter VirtualBox.
Searching the Internet I found several fixes and a complete explanation. Setting xkeymap.nokeycodeMap=true did the trick for me, however I was not satisfied with having to manually edit /etc/vmware/config after each kernel upgrade.
There are several ways to have the key code assigned automatically each time vmware-config.pl is issued. Upon a successful configuration, the Perl script attempts to start the vmware service. That’s why I prefer editing the vmware startup script and use it to modify the configuration file.
The following solution works on Fedora and should work on most systems.
- go to /etc/init.d and open vmware in your favourite editor
- locate the lines starting with
case “$1” in
- add the following immediately below the start) line
#ensure xkeymap is on
if ! grep xkeymap /etc/vmware/config 1>/dev/null 2>&1; then
echo “xkeymap.nokeycodeMap = true” >> /etc/vmware/config
- save the file and you’re done! Now each time the vmware service is started (manually or automatically), the startup script will ensure the key code mapping is set.
You can substitute xkeymap.nokeycodeMap with whichever key code works for you.