Log in

No account? Create an account

Al's Journal

Keyboard Error, Code 39, I/O conflict -- and how to fix it

Alan "reasonably dangerous" Berman


Keyboard Error, Code 39, I/O conflict -- and how to fix it

Previous Entry Share Next Entry
I have just finished a rather frightening experience which nearly brought me to reformatting my system.  Thankfully, I did not have to commit digital hari-kari.  I am now going to post the story of what happened, and how I fixed it, in hopes that someday someone else will have the same issue and find my solution useful. :)

The Problem:
I installed VMware workstation, because I wanted to try running OSX86 in a Virtual Machine. (I failed to get it working, but that's besides the point.)  I uninstalled VMware, and discovered that VMware's uninstaller SUCKS.  It left services and files and registry entries all over my system.  Including 2 particularly nasty registry entries which I will get to in a moment.  Upon restarting my system after the uninstall my keyboard and mouse (the ones built-in to my laptop) were no longer working.  Needless to say that's a big problem.  The only input I could manage at all was my external USB mouse (and the on-screen keyboard).

Device Manager said there was a conflict between my PS/2 mouse and PS/2 keyboard. It said there was an I/O Range conflict. The keyboard had error code 39.

The attempts:
I tried flashing the BIOS. I tried removing the keyboard and mouse via the device manager in regular mode and in safe mode. I tried copying files from another working machine. I tried installing them off the Windows CD. I tried resetting the BIOS settings. I tried to disable one of the two devices, however everything was greyed out.

The Solution:
Turns out VMware was to blame the entire time.  There's some registry entries named "UpperFilter" which VMware modifies and adds some stuff to, but fails to remove upon uninstallation.

1) Open Regedit
2) do a search for "kbdclass"
3) keep doing searches until you find all "UpperFilter" entires with "kbdclass" in the data field. Make sure kbdclass is the only thing in the data field. VMware had left behind some "vmkbd" crap.  If you find an UpperFilter entry with more than just "kbdclass" in it -- double click it, and delete the non-kbdclass stuff.
4) once you've made sure all kbdclass upperfilter entries are correct
5) remove your keyboard via the device manager
6) do a scan for new hardware
7) reboot

I hope this helps someone else someday. :)
  • ...but that's besides the point

    I don't know if this was a typo or deliberate, so I apologize if I'm telling you something you already know. The phrase is "beside the point".


    I'm glad there are people like you, patient enough to deal with these problems so all I have to do is a decent internet search to find the solution.
    • Actually, I didn't know. I'll be more cautious about that in the future. :)
  • Happy New Year! You've helped someone!


    I don’t care about idiosyncratic spellings or phraseology; all that I want to say is THANKS, THANKS, and THANKS again. I could not figure out what had happened to my keyboard, but I had a suspicion that VM Ware was involved. Searching through the registry would have been impossible without your direction; I simply wouldn't have known what I was looking for. You've brought me back from the brink, and I can't thank you enough.
    • Re: Happy New Year! You've helped someone!

      Whoever you are, you just made my night. :)
  • Amazing...

    You are my savior!!!
    I spent the last couple of days trying to figure this one out. I consider myself pretty knowledgeable in the subject, however this problem made me look like newbie!
    I could have not figured this out on my own, you've saved me from reformatting my computer.

    Thanks a million!
    • Re: Amazing...

      Nearly a year later and I'm still rescuing people! yay!
Powered by LiveJournal.com