Wednesday, 3 December 2008

VMWare and the fubar keyboard effect

Welcome to the Ubuntu community! See my note about this at the end.

Note:
As this is my most popular blog entry, it looks like a lot of people are suffering the same problem. I'm grateful for all the positive feedback - thanks! Feel free to continue to leave feedback, especially if you have more information (or something that doesn't work), or links to related pages. Thanks :)

For what seems like 300 years I've been struggling with the horrible effect of VMWare workstation on my keyboard. I have a perfectly good license for VMWare workstation 4, so I continued to use it regardless of the fact that version 6 is available. (I've since upgraded to version 6, and from the responses from others this fix still works).

This never used to be a problem, but it got successively worse: Once VMWare grabbed the keyboard, many function keys (ctrl, shift, alt, etc) would remap to nothing, or worse, some other key function!

Solution 1
I solved this out-side of vmware thanks to a gentoo-user thread:
  • Run `setxkbmap` from your terminal
    (Ubuntu: install x11-xkb-utils; Gentoo: install x11-apps/setxkbmap). This fixes some keys, but not all
  • Then put your cursor over the VMWare menu bar somewhere, but not in the client window
    (don't let the keyboard/mouse get grabbed automatically)
  • Press Ctrl-g
    (this grabs the keyboard/mouse). You should see the cursor jump to the middle of the VMWare screen. If this doesn't work, focus a different window, and try again.
  • Press Ctrl-Alt
    (This un-grabs the keyboard/mouse)
This solved the problem outside VMWare (on the host), but still didn't solve the problem where within VMWare (on the guest), my arrow keys, del and ins, etc. were still screwed. For a keyboard-shortcut lover such as myself, who uses the keyboard more than the mouse, this is very annoying.

Finally I thought I'd try VMPlayer (and wow, does the suspend / resume feature work fast!). The problem was even more evident - now every use of VMWare many non alpha-numeric keys were unusable.

Solution 3:
(no, you didn't miss the 2!)


Some readers have had success with the one line:
xkeymap.nokeycodeMap = true
in the file /etc/vmware/config. As the root user (sudo won't work in this case), this command should do it for you:
echo "xkeymap.nokeycodeMap = true" >> /etc/vmware/config
or:
echo "xkeymap.nokeycodeMap = true" >> ~/.vmware/config

If you don't have root access. See Solution 2 for more locations of this config file.

Solution 2:
This is the original Solution 2, and since many comments reference it I have left it numbered so. However, Solution 3 is much simpler (and newer) so I've put that first.

Apparently this issue arrises with the evdev input driver. Thanks to "doranikov", The solution is simple: Tell VMWare what your keyboard really does! Put this in either /etc/vmware/config, or /usr/lib/vmware/config if you have root access, or in ~/.vmware/config otherwise. (Do this in the host OS, not the client) If the file doesn't exist, just create it:
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
done!

Getting keycodes

What if your keycodes are different? To get the keycodes, you'll need xev or xmodmap. Run xev and place your cursor in the xev window. Then press the key you want (eg, right Control).

You'll get output like this on the terminal:
KeyPress event, serial 33, synthetic NO, window 0x3200001,
root 0x1cb, subw 0x0, time 749698, (167,181), root:(1793,706),
state 0x10, keycode 105 (keysym 0xffe4, Control_R), same_screen YES,
XLookupString gives 0 bytes:
XmbLookupString gives 0 bytes:
XFilterEvent returns: False

KeyRelease event, serial 33, synthetic NO, window 0x3200001,
root 0x1cb, subw 0x0, time 749810, (167,181), root:(1793,706),
state 0x14, keycode 105 (keysym 0xffe4, Control_R), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
Look at the value after keycode. In this case 105. Change the xkeymap.keycode. to 105:
xkeymap.keycode.105 = 0x11d # Control_R
0x11d is the scan code.

For xmodmap, use:
xmodmap -pk
Further help:
Where'd you come from?
P.S. hello to all the planet larry readers, and the Ubuntu community. Thanks to you guys (and some great linking from other bloggers, VMWare forums, etc) I now have over 1000 hits a month! In November 2008, I got over 6500 hits! blog on!

122 comments:

Ian00 said...

it would be nice to know how to get those values for the keyboard configuration as they obviously change for different keyboards/countries.

Ian00 said...

Oh, i see you have a link to where you got it. And they don't say.

Iain said...

I've added some notes on getting the keycodes with xev. Thanks :)

Julien said...

See http://www.vmware.com/support/ws55/doc/ws_devices_keymap_vscan.html for the vscancodes (the hex numbers on the right).

Take a look at http://www.vmware.com/support/ws55/doc/ws_devices_keymap_linux_longer.html too.

Oh and, it didn't solve anything for me :(

Setya said...

I can not find file config under ~/.vmware

Iain said...

Setya, try just creating the file and see what happens!

inthemedium said...

You can get the keycodes much faster with xmodmap -pk.

Anonymous said...

Big thanks for the guide, it helped me in fixing my arrow/page up/page down/delete keys in Vmware 6.0.4 on Kubuntu Intrepid 8.10. Please post more fixes. Cheers. :)

Anonymous said...

same as previous poster, fixed problem with vmware and intrepid ibex.
I bet you're gonna see more traffic when ibex goes live!

Anyway BIG thanks to you and google for being in the top 10 pages on "arrows keys not working vmware" =)

there's no way to figure that stuff out easily.

Anonymous said...

That fixed it for me too. Thanks!

Ryan Davies said...

SWEET!!!!! I have to use a VM running XP for Webex remote access to a server where I'm working on some Perl scripts and not having my arrow keys to be able to select lines of code was KILLING ME!!! I almost installed XP on a separate partition. :D Thanks for putting this together with the right scan codes.

Adrian Bridgett said...

A big thank you! Now I'll just curse vmware rather than tear my hair out :-)

Anonymous said...

thank you very much for this post. i copied the contents and created a new file in ~/.vmware called config. keys are now fixed.(vmware workstation 6.5, intrepid ibex 2.6.27.7)

Nick said...

Creating the config file and copying in your codes did the trick for me on my Intrepid and VMWare 6.5. Thanks!

Anonymous said...

That fixed for me!!

Thanks!!!

I put it in /usr/lib/vmware/config.

Salutis said...

Thanks, man!

Anonymous said...

Cheers mate! You saved my day!
Photoshop without arrow keys is kind of hassle ;)

Jin-young said...

Cool!! Thanks a lot!

I use xubuntu and I put it /etc/vmware/config .

Anonymous said...

xkeymap.nokeycodeMap = true

That single line in the config file fixed the problem for me.

Anonymous said...

I had the same problem on my Ubuntu box, and your solution worked wonderfully. you're a lifesaver, thanks

Barry van de Graaf said...

Lovely solution!

The "xkeymap.nokeycodeMap = true" suggestion did the trick in one time.

Pさま said...

Oh god it worked for my ubuntu 8.10 with windows xp on vmware!!
Thanks for your pretty post!

mistywindow said...

Much obliged.
:o)

Anonymous said...

This fix works with Ubuntu 8.10 and Version 2 of vmware Server (build 122956) and a US keyboard. I did not have the config file in my .vmware directory, but creating it, and copying the keycodes referenced above into the new file, did the trick.

I appreciate the help. Thanks.

Anonymous said...

yep, it worked in /etc/vmware/config

Thanks a bunch!!!

Anonymous said...

Thank you! This fixed the issues I had with Kubuntu 8.10 and VMware Player 2.5.0 build-118166.

Mike said...

Very grateful for this - you saved VMware from getting thrown out.

Luke said...

If your VM is under the root directory, this should help (ie - when you login to vmware, "root" is your username).
For those that aren't sure how to use terminal to edit the config file, this should work (did for me anyways :)

*I did this with my windowsXP VM shutdown (not suspended, fully shut down)

1) open terminal
2) Type the following:
cd /usr/lib/vmware/ then press enter
3) Type the following:
sudo pico config then press enter

Pico editor should open up in the terminal window.

4) Copy and Paste the keyboard codes above after the last line of config in the terminal window.

5) Press CTRL+X to exit - save will prompt

6) Press "y" then enter and your configuration will be saved.

At this point, Open up VMware and you should be good to. Best of luck!

Aleix said...

"Solution 2" Works great with VMware Server 2.0 and Ubuntu Intrepid 8.10 (spanish keyboard).

Eduardo Fabian Argento said...

Yes!! man, thank you! Solution 2 worked with Vmware Server 2 on Ubuntu Intrepid Ibex (8.10) with spanish keyboard layout.
Cheers,

Fabian

Lieven said...

WHOA...

/etc/vmware/config

and only one line

xkeymap.nokeycodeMap = TRUE

did it for me. Thanks to all.

Anonymous said...

it works for me too on vmware 6.5 Interpid Ibex

NightSpirit said...

adding this line (xkeymap.nokeycodeMap = TRUE) to the vmware config file solved the problem for me.

I'm on Ubuntu 8.10, vmware Workstation 6.5, portuguese ABNT2 keyboard, Windows XP SP3 guest.

Thanks for the help

Gord said...

GOD BLESS YOU, MR. ROSEWATER!

xkeymap.nokeycodeMap = TRUE added to /etc/vmware/config did the trick for me, too.

Ubuntu Desktop 8.10, VMware 2.0 build 122956, with Windows XP SP3 as the VM.

Cheers!

--Gord

Anonymous said...

it worked! Thanks
Probs:
* I did not have the config file (so I created it)
* The script made my x-server crash. However. Noe it works. Thanx!

地球发动机 said...

In Ubuntu Intrepid 64bit I have got the same problem.

And then I tried the second solution, it works!!!!!!!!!!!!

Thanks a looooooooot!!!!!!

Anonymous said...

That fixed it for me too.
Ubuntu 8.10
Vmware workstation 5.5.3
Thanks!
RL

Anonymous said...

I have Ubuntu 8.10: Intrepid Ibex with Vmware Server 1.0.7. I copied and pasted Solution 2 into the Config file you mentioned and it worked correctly the first time! I appreciate this fix VERY much.

Lauri said...

Hi

Worked for my Kubuntu 8.10 (dell inspiron 1501).

Thanks a lot !!!!

Anonymous said...

Solution 2 works like a charme with VM Server 2.0 on ubuntu 8.10 w/ french keyboard.

Thanks

Anonymous said...

Thank's you save my day

Anonymous said...

Great Tip - solved it immediately by creating the file and pasting in your text on UBUNTU 8.10/vmware server 2.0
thanks :D

Randy said...

Thank you...Thank you ! ! !
Adding the
xkeymap.nokeycodeMap = true
to the /usr/lib/vmare/config
worked for me. I had a couple long nights uninstalling and reinstalling Ubuntu 8.10 and VMware, because I thought it was me. :)

Phk said...

not working for PT

Anonymous said...

Thanks. That saved me an awful lot of time!

Mike said...

You beauty... the one-liner did it for me, thanks a lot mate.

Mike said...

You beauty... the one-liner did it for me, thanks a lot mate.

Anonymous said...

Using VMWare Server 2 with Ubuntu 8.10. I didn't have a ~/.vmware/config file so I created it and added in the key mappings in your post. Stopped and restarted VMWare 2 and that worked. Thanks!

Anonymous said...

Worked... sort of. I made the config file in my .vmware dir and placed

xkeymap.nokeycodeMap = TRUE

in it. Then, I had to go into the keyboard properties in Ubuntu and disabled mouse keys. Then I had to use Ctl + left-shit + num-lock from within my VM guest and finally all of my keys worked as they should. Thanks for the help. :-)

benbois said...

Worked on fresh Ubuntu 8.10 updating.. Thanks a lot for this solution!!

Anonymous said...

works for me to :) ... with VMWare 6.5 on Ubuntu intrepid (host) and Win XP Pro (guest)

rockpaperdynamite said...

Thank you for this, very helpful.

Not sure why it took so long to find though :)

Anonymous said...

Works for me, Ubuntu Intrepid with VMWare Server 1.0.7 build-108231, CentOS 5.2 netinstall guest. Thanks!

Anonymous said...

echo "xkeymap.nokeycodeMap = true" >> /etc/vmware/config

That did the trick when i did it on the computer that ran the SERVER! (doh...)

Cheers!
Magne

James said...

The 2nd Solution worked like a charm. I was having issues with the control keys and arrows only recently, but everything is working great after the entry was made into my vmware config file.

gclimer said...

Solution 3 worked like a charm. Thanks for the tips!

Anonymous said...

Great job, save a lot of my time!!!. Thanks.

Ivan said...

Thanks for the helpful post! A few additions for spanish latin american keyboards:

xkeymap.keycode.20 = 0x00c # apostrophe
xkeymap.keycode.21 = 0x0d # questiondown
xkeymap.keycode.61 = 0x035 # minus
xkeymap.keycode.34 = 0x01a # dead_acute
xkeymap.keycode.35 = 0x01b # plus
xkeymap.keycode.34 = 0x0f1 # ntilde

Cheers!

Anonymous said...

Thanks for the great info. I added the line "xkeymap.nokeycodeMap = true" to /etc/vmware/config using a text editor. I did put "true" in quotes to match the other values in the file. This fixed the key mapping in my XP guest on Ubuntu 8.10 host with VMWare workstation 6.5.0.

However, when I upgraded to Workstatio n 6.5.1 I lost access to the network from my guest machine. /dev/vmnet0 missing.

Long story short... the workstation install first uninstalls the existing version. However, it did not remove /etc/vmware/config (perhaps because I had edited it?). Anyhow, by running the uninstall portion of the upgrade then deleting /etc/vmware and then allowing the install of 6.5.1 to continue (then editing /etc/vmware/config again) all is well.

Oscar said...

Hi, Just to confirm that Solution #3 worked like a charm on VMWare 2.5.1 build-126130, WinXP guest, Fedora Linux 2.6.27.7-134.fc10.i686 host. Thanks!

Ben said...

Chalk another one up for Solution #3. Works for me on Ubuntu 8.10 32-bit with WinXP SP3 as guest OS. Thanks for the great instructions!

Phil Lembo said...

So #2 didn't work for me (8.10 on Thinkpad T61 with VMware Server 1.0.8), so I tried #3. Still no luck. Then I went in and reset my keyboard layout again to make sure it was using the TP mapping, not the generic. Did a ctrl-bksp to make sure X was refreshed. Then re-tried #2. Works now, at least in console and quick switch modes.

peter hayes said...

Hey lain, great solution works the first time for me.
However i had a somewhat different scenario but exactly the same problem. Please explain this to others in your main article. I have a vmware server host on Ubuntu 7.10 with an xp guest which works great when i connect from the local server console.
Further i have a second computer with only vmware-server-console installed. Now i upgraded only this client computer to Ubuntu 8.10 intrepid ibex. Off course i experience the keyboard problem only on this client computer and not on the host. Therefore i added the line

xkeymap.nokeycodeMap = TRUE to
/etc/vmware-server-console/config

on the client side and it worked perfectly. While this is the opposite of what you suggested it worked because of the different situation.
Thanks alot.

Anonymous said...

Thanks for the lead on fixing this. I run a Fedora 10 (just upgraded from 9) desktop and have a Fedora 8 64 bit, 8GB ram, 2TB disk quad core server running vmware server 1.6 something. I tried the fixes you mention to no avail and then I decided that I needed to do this on my desktop so I did solution #3 by creating ~/.vmware/config and things now seem fine. This seems to make sense as the X key mapping needs to happen on the client (my desktop).

Anonymous said...

Thank you. Thank you. Thank you.

(That is all.)

SuhanDuman said...

Thanks, solution 2 is solved the problem.
I have first tried solution 3, but with Turkish keyboard, i have lost the Turkish characters.
I think, for keyboards other than English, you have to use solution 2.

Anonymous said...

This is probably obvious to everyone else, but make sure that the host/guest operating systems agree on what sort of keyboard is being used! My problem was that the host keyboard was set to English, but the VM keyboard was set to German.

Alejandro said...

Thanks man! Solution 3 worked for me, spanish keyboard.

Anonymous said...

Cheers mate! Solution #2 did the trick, Ubuntu host, Windows guests, German keyboard.

Ajzimm3rman said...
This comment has been removed by the author.
Ajzimm3rman said...

Thanks.
I'm posting it here:
http://gr33nstuff.blogspot.com/

Leonardo C. said...

I'm on Ubuntu 8.10 (host), Windows XP professional SP3(guest) and using vmware workstation 6.5, with an ABNT2 USB Keyboard.
Solution 3 didn't work for me as it did for @NightSpirit, despite we having the same set.

Solution 2 worked though... =)
Thanks a lot!

RomkA said...

Thanks, solution 3 works for me
Host Ubuntu 8.10 - 2.6.27-7 and guest is WinXp.

Ashley said...

Solution 3 worked for me. Running Fedora 10 with VMWare Server 2.0.

Your post saved me having to use RDP which lacks several featurues over the VMWare console.

Thanks!!

german said...

if you have sudo access but not other root access, and want to make the change globally, the following command will work:

echo "xkeymap.nokeycodeMap = true" | sudo tee -a /etc/vmware/config

Anonymous said...

Ian,

Superb work! This was driving me nuts!

Added the keycodes you posted into .vmware/config and it works great!

Cheers
Dunc

Chris Thompson said...

Easiest workaround ever...RDP

Not only do I have problems with the keyboard I also have problems with my sound. RDP fixed both. Plus since it's a local VM, it's JUST as fast as the VM console IMO. Here's how I look at it...if you're concerned about accelerated graphics you probably shouldn't be running a VM anyway and that's really all I can think of that we'd be missing out on.

Iain said...

Chris: does RDP work without a network connection? I use bridged networking, and I can't get any network access without the cable plugged in, hence why I use the VM directly.

thanks.

Anonymous said...

I was able to put those lines into my /etc/vmware/config file and it worked great. my mouse is still not working, but this is a fresh vm so I am hoping that after the OS is installed, vmware tools will take care of that.

Iain : I also cannot connect to the VM without a physical connection. I am not sure how to work around that.

Chris Thompson said...

RDP would work without a network, but nailing down the specifics of how would take me a night of testing, but I'm almost 100% sure it can be done.

Revelation on the key bindings though! To give you a quick over-view of my particular setup, I'm actually at work running Ubunutu 8.10, VMWare Server 2.0 and Windows 7 in the VM. Now what I just noticed today was, at the time of my issues with the keyboard, I WAS using an Apple Keyboard. Kind of a goofy setup I know, but like all of you I like to tinker! ;)

Well today I finally got sick of the Apple keyboard and grabbed a regular Dell keyboard and went to start testing the RDP issue when I realize that in the VM console mode, I was no longer having the key issues. My issue specifically before was with the Apple keyboard, the arrow keys either did not work or did funny things like the down arrow would pop up the start menu. The only way to get an arrow command to work was to use 4-8-6-2 on the Apple keyboard keypad. Following me?

After switching to a "regular" keyboard, those issues do not seem to be an issue. Will test further and get back to you.

Chris Thompson
dsolutionsgroup.com

Chris Thompson said...

Oh and my sound not working through the VM console is still an ongoing issue. Get a red X over the soundcard icon in the VM console, but Windows thinks there's one attached and that it works. Weird...

Again, I've found workarounds for it and honestly, if RDP does what I need it to and resolves the issue, I'm just going to stick with that.

And the only reason I'm not using VirtualBox anyways is because for some reason it freaks out during the Windows 7 install, but it runs EVERYTHING else (Linux, Windows, x32 or x64) perfectly and quickly.

Anonymous said...

solution 2 works like a charm on Intepid Ibex. Thanx

Luiz Vino said...

Solution 3 worked very well. And very simple. Thanks a lot.

Richard Jenniss said...

Awesome man. This problem was driving me insane!

Cheers from British Columbia.

Anonymous said...

thank you.

quick-learner said...

wow, that line made the difference. Thank you, this crap was driving me insane.

Darryl said...

Thanks for this. I have a Compaq kb-9965, that is really nice. I was just having the same issues as you were. The #3 fix worked for me.

Doug Holton said...

None of these fixes worked for me.

I installed vmware-server 64 bit edition on an ubuntu server, then created a linux image with the jaunty install iso attached.

The ubuntu jaunty installer starts, but I can't use the up or down arrow keys to make selections, and none of these fixes works, even reboot or restarting vmware each time.

Thus, I can't even get started using vmware.

vmbuilder/kvm (ubuntu's default virtual machine option) threw a "VirtualBuilderException" when I ran that, and googling found nobody who had that problem.

So basically I'm on to option #3 - virtualbox. Which is fine, but it means I have to install gdm/gnome on my server, and also virtualbox is really more tuned for desktop virtual machines than headless server virtual machines.

Anonymous said...

I'm having the same issue, I'm in a laptop, and noticed that the problem is related with the Fn key.

If I press the Fn key + the desired key it works correctly.

Any way to force the Fn key in guest machines?

Anonymous said...

Didnt work for me, vmplayer with XP on ubuntu 9.04.....

Painful. Very painful.

Anonymous said...

Guess: Solution 2 is needed for non-us keyboards? I needed it to activate the right Alt (Gr) key. However - thanks a lot for this solution which i hadn't found in the VMware kb.

Anonymous said...

thanks man. you made my week.

keyboard was not working in VMware Infrastructure Web Access console, under firefox 3, VMware Server 2.0.1 build 156745 on Ubuntu Linux host (installed from bundle).

the keycodes in /etc/vmware/config solved my issue.

g0g3t4 said...

thank's solution 3 run correnctly!

Vitus Jensen said...

Solution 3 works for me... mostly.

German keyboadr combinations like AltGr-ß for backslash don't work because the keyboard is detected as "de101" not "de104". There has to be a setting for this somewhere! Still searching...

"A language-specific mapping from X keysyms to machine scancodes will be used, based on the detected keyboard type of "de101", because you are not using an XFree86 server running on the local machine."

This should say "de104", the configuration files are there in /usr/lib/vmware/xkeymap/

Jay Rajput said...

My keyboard was acting goffy. When I was pressing Ctrl+g to capture the input I was seeing all g's being printed.

The release was not working by using ctrl+Alt.

Interestingly the Ctrl+Alt+Esc worked for me after trying the solution 1 in the post.

In place of using Ctlrl+g if I just click on the Guest OS window it worked fine,

I tried the solution 1 and 3. I am not sure if the observation which I saw happened because of solution 1 and.

jeyno said...

I had this issue using VMWare Server web console from an Ubuntu 9.04 client. Updating the server /etc/vmware/config file did nothing to help ... but the problem was resolved after creating a config file on the client - i.e. ~/.vmware/config containing the single line "xkeymap.nokeycodeMap = true"

jeyno said...
This comment has been removed by the author.
Jeff said...

Worked for me Jaunty 9.04 - 64 bit with vmware server 2.0

Anonymous said...

Solution 3 worked like a charm on 64 bit Ubuntu Jaunty with VMware Server 2. Thanks!

Anonymous said...

To me the solution 2 worked really well.
It would be nice if you attach the page of the scan codes...i found it in one of the comments
THANKS BRO!

HearMonster said...

Thanks - phew!
Solution 3 worked immediately
(Ubuntu 9.04-Jaunty, VMWare Workstation 6.5.0 build-118166 on an IBM StinkPad T41p)

aurelianito said...

Solution #2 worked for US-Intl keyboard mapping. Solution #3 does not work for the same setup.

Anonymous said...

Solution 3 is perfect ! Thanks

aderenza said...

good solution tested in Ubuntu 9.04 + Vmware Server 2.0.1 !!!
Virtual Machine = Redhat 4.7 x64 e Win XP 32 bit

Good day to all!

Mark D said...

Thanks for this information. Completely solved the problem. I am running jaunty and VM Workstation 6.5.2 build-156735, with a WinXp VM.

For me, my ~/.vmware/config file looks like:

xkeymap.nokeycodeMap = true
xkeymap.keycode.108 = 0x138 # Alt_R
xkeymap.keycode.105 = 0x11d # Control_R
xkeymap.keycode.21 = 0x00d # equal
xkeymap.keycode.51 = 0x02b # backslash
xkeymap.keycode.48 = 0x028 # dead_acute
xkeymap.keycode.34 = 0x01a # bracketleft
xkeymap.keycode.35 = 0x01b # bracketright

On my first exit from the VM, my alt key is still working, so I don't appear to have to run setxkbmap.

Thanks Again!

Anonymous said...

Windows XP virtualizado en Ubuntu. Funciona Alt Gr al añadir al fichero config:
xkeymap.nokeycodeMap = true
xkeymap.keysym.ISO_Level3_Shift = 0x138

Anonymous said...

Thanks, works fine

Vielen Dank

Anonymous said...

And who said Linux was user-friendly and far less complicated? I guess those people didn't read through vmware management very well.

Sagar said...

Thanks a lot! I am using Ubuntu 9.04 and VMWare Server2. Solution 3 (second method) worked perfectly fine for me!

Anonymous said...

I found this site using [url=http://google.com]google.com[/url] And i want to thank you for your work. You have done really very good site. Great work, great site! Thank you!

Sorry for offtopic

changjin said...

Hi,

My laptop is Thinkpad T42. I want to enable web nav key (backward and forward) in Vmware guest (windows 2000). The other keys works perfectly.

I added "xkeymap.keycode.233 = 0xffd1" in ~/.vmware/preference. It didn't work. In windows 2000, when I pressed those web navigation keys, all keys layout becomes strange. I have to reboot the guest os (W2k).

Ur Pop said...

On my Debian squeeze/sid host, the W2K and XP guests' keyboard and mouse were unusable. The disease spreads to the host, crashes X and/or forces host reboots ('cause restarting X doesn't cure it). None of the fixes Google and I could find worked.

I finally gave up, installed VirtualBox and migrated the VM. Problem solved, plus snappier guest performance and no clunky, pokey, flaky browser interface to deal with, either.

Migrating Windows guests is a bit tricky, but well worth it.

Anonymous said...

It is extremely interesting for me to read the blog. Thanks for it. I like such themes and everything that is connected to this matter. I definitely want to read more soon.

Anonymous said...

Thanks a lot!
Solution 3 worked just perfectly for me!

Linux 2.6.30-gentoo-r8 #7 SMP x86_64 Intel(R) Core(TM)2 Quad CPU Q9400 @ 2.66GHz GenuineIntel GNU/Linux

app-emulation/vmware-server-2.0.2.203138

winxp 32 bits as guest

Mr Rich said...

Thanks much. the setxkbmap fix works as a fix under these circumstances too:
- VM crashes, Workstation/player stops guest OS cold.
- You restart the guest OS, you get a message stating that the capture failed. the guest is locked -- but if you get the reassert the capture you'll lose the keyboard state in X.

This is such an annoying thing to deal with. I eventually scripted the fix and put a link on my Xdesktop because I was having to run it so @#$! often:

#!/bin/bash

# Script to restore keyboard state after VMWare crash

echo "Restoring keyboard state...."

setxkbmap

echo "done"

Oh yes... I'm using openSuSe 11.2.

Zadok said...

More for spanish latin american keyboards:

xkeymap.keycode.34 = 0x01a # dead_acute
xkeymap.keycode.35 = 0x01b # plus
xkeymap.keycode.48 = 0x028 # braceleft
xkeymap.keycode.51 = 0x02b # braceright

Cheers!

Anonymous said...

Also works for viewing an Vmware ESXi 4.0 Virtual Machine (XP and Linux VM) using the vmware browser plugin for Firefox.

Anonymous said...

None of these solutions work for me.

I'm using Ubuntu 10.04 LTS

VMware Player 3.1.3 build-324285

What to do now?

I read all comments

Ege Özcan said...

it worked perfectly. you solved such a big annoyance, I don't know how to thank you.

Anonymous said...

HELP ... what if your Host VMware is on Windows 7 .... what is the path and name of the /etc/vmware/config file on the Host WMware Windows 7 Server. The Guest is Linux,where vmware-tools is installed ... is their a config file for the Guest OS. THIS IS VERY AMBIGUOUS. where are precise instructions for above scenario ?!! [common configuration]

jph@MyOldPc said...

VMWare Workstation 8.0.3
host Kubuntu 10.04 kernel 3.2.0-24-generic
guests Win XP and Win 7

Before running VMWare;

jph@MyOldPc:~$ xmodmap -pm
xmodmap: up to 4 keys per modifier, (keycodes in parentheses):
shift Shift_L (0x32), Shift_R (0x3e)
lock Caps_Lock (0x42)
control Control_L (0x25), Control_R (0x69)
mod1 Alt_L (0x40), Alt_R (0x6c), Meta_L (0xcd)
mod2 Num_Lock (0x4d)
mod3 Control_R (0x69)
mod4 Super_L (0x85), Super_R (0x86), Super_L (0xce), Hyper_L (0xcf)
mod5 ISO_Level3_Shift (0x5c), Mode_switch (0xcb)

After keyboard problem arise;

jph@MyOldPc:~$ xmodmap -pm
xmodmap: up to 0 keys per modifier, (keycodes in parentheses):
shift
lock
control
mod1
mod2
mod3
mod4
mod5

Anonymous said...

Hello all,

it has been really difficult for me to find out how to enable "ALTGR" in a Spanish keyboard from Spain.

The main reason, is because Spanish keyboards are different in latin america and in Spain, and the mentioned solution is not valid for Keyboards used in Spain. The reason is that on the Spain Keyboard, ALT-GR is located physicaly on the U.S. ALT-RIGHT key (which corresponds to vmware v-scancode 0x138).

So the solution for Spain Keyboard is to add following line con Vmware configuration:

xkeymap.keycode.113 = 0x138 #Right Alt

 
Copyright 2009 Another Blog. Powered by Blogger Blogger Templates create by Deluxe Templates. WP by Masterplan