Wow. Long title. But a huge pain in the ars if (like me) you use Linux hosting a Windows VM. When I first started using VMware Workstation 6.5, I was stoked. Stable, worked well with any VMs regardless of where I created them. Then I started noticing that specific keys on my keyboard wouldn't work. Or would act like I pressed a different key. My favorite was when I repeatedly tapped the down arrow on my keyboard only to see my start bar launch.
I did some research, and like my most Linux solutions, it was DIY. Manually add the key mappings to the *.vmx file. Well, after upgrading my system to a new linux kernel, my vm lost it's key mappings. Probably unrelated, but still damn frustrating. On top of that, I completely forgot what the hell I did to fix it in the first place.
So tonight I was doing more research, and I found the greatest thread ever in VMware Communities. Completely accurate as to my problem, the only thing it lacked was a solution spelled out for me. At the bottom of thread though, lo and behold, was a KB article.
The gist of the KB article was that new versions of Linux are using a new version of the evdev drivers. This is causing some issues with key mapping in VMware Workstation. Simply open /etc/vmware/config in your favorite text editor (nano is my preferred) and add the following line at the bottom of the file:
xkeymap.noKeycodeMap = "TRUE"
This means that Workstation will not interpret keystrokes based on keycodes, but based on the symbols of the keys, which I'm guessing is different from previous versions of the evdev driver. Putting this line in your /etc/vmware/config will make sure that all vms on your Linux host map the correct keys. Pretty handy if I do say so myself.