4 Replies Latest reply: Nov 3, 2006 11:54 PM by doranikov RSS

    Keyboard problems inside guest OS if the host uses "evdev" driver

    zboszor Lurker



      I came across a strange problem, tested on both VMWare Player 1.0.2 and

      Workstation 5.5.2. I have a dual-head machine (two keyboards, two mice,

      two videocards and two monitors) so two people can use it simultaneously.

      I use "evdev" for both the keyboards and mice in both X servers with Option "Phys"

      so the occasional change in their device files won't confuse my X setup.


      Every host application work correctly, all keys on the keyboard are functional.


      However, when I start a guest OS inside VMWare (tried Fedora Core 4 and WinMe)

      some keys become non-functional or behave badly.


      E.g. the middle section (Ins, Home, etc, and cursor keys) doesn't work at all.

      My AltGr (right-Alt) behaves like Enter. It's very annoying because the Hungarian

      layout uses AltGr a lot, to access | and \ and # and & many other symbols.


      Is there a solution to this problem? (Besides buying two separate computers and

      using the regular keyboard and mouse drivers...)


      Thanks in advance,

      Zoltán Böszörményi

        • 1. Re: Keyboard problems inside guest OS if the host uses "evdev" driver
          Roxus Lurker

          Sadly, \*me too*

          But I have a US keyboard, so it \*shouldn't* be this weird !

          I'm using VMware Server, with a 2-seat multi-seat system with the evdev driver.

          In a Windows GuestOS, the Arrow Keys and the "middle" keys (as the previous poster calls them) all do something else. So does Right Control, Right Windows, Right Alt and Windows "menu" key


          This is a Linux host, and the vmware-server-console run's locally.


          I've tried adding xkeymap.fileName = /usr/lib/vmware/xkeymap/us104 to every vmware "config" file I can find.

          • 2. Re: Keyboard problems inside guest OS if the host uses "evdev" driver
            Roxus Lurker

            By using KeyTweak (someone posted it on here somewhere) and changing the Keyboard Layout in the registry to :


            00 00 00 00 // header

            00 00 00 00 // version

            0C 00 00 00 // 13 entries (including this counter)

            38 E0 1C E0 // NumPad Enter -> Right Alt

            5C E0 7E 00 // ??? -> Right Windows

            1D E0 51 E0 // Page Down -> Right Control

            4B E0 38 E0 // Right Alt -> Left Arrow

            48 E0 37 E0 // Print Screen -> Up Arrow

            50 E0 5C E0 // Right Windows ->  Down Arrow

            4F E0 5B E0 // Left Windows ->  End

            49 E0 35 E0 // NumPad /  -> Page Up

            51 E0 5D E0 // Context Menu  -> Page Down

            35 E0 52 E0 // Insert -> NumPad /

            1C E0 50 E0 // Down Arrow -> NumPad Enter

            00 00 00 00 // NULL Terminator


            I was able to remap most of the non-correct keybindings.


            But Insert, Delete, Home and Right-Arrow are still FUBAR

            • 3. Re: Keyboard problems inside guest OS if the host uses "evdev" driver
              Roxus Lurker

              I got another utility last night to tell me that the Insert and Delete keys aren't even being registered as pressed (no BIOS code, no Windows code) and the Home/Right Arrow are both sending the NumLock code.


              The keyboard works fine when I use a remote console, so I might try launching the local consoles telling them to connect to the local server via the NIC (remotely), at least it will go over the loopback device, and shouldn't be that much of a problem...


              At least it will show if the local console is the problem, which I've read somewhere it can be

              • 4. Re: Keyboard problems inside guest OS if the host uses "evdev" driver
                doranikov Lurker

                Hello. Although I was also afflicted by the same problem.

                My keyboard is us keyboard, xkbdisable.

                It solved (probably...).



                $ cat ~/.vmware/config

                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



                Your post was consulted very much.