I have a Windows software that can move the mouse cursor via keyboard arrow keys. This works well in a non-VM environment. However in a VM environment, the mouse cursor goes back to its previous position when moving it via the keyboard. The cursor moves a pixel or so and then quickly reverts back to its original position. I found out that this behaviour is caused by the mks.keyboardFilter = allow parameter. If I remove that line from the vmx file, the software works fine.

Does anyone know what mks.keyboardFilter is for? There seems to be scant information regarding vmx parameters and the reference at sanbarrow.com does not say anything.

VMware Workstation 7.1.0 build-261024
Guest OS: Windows XP SP3 (also reproduced with Windows 7)
Host OS: Windows 7


THIS is the best description of what it's there for - basically it's a virtual keyboard driver enable/disable switch.

  • I've seen that. It seems to me though that deselecting the enhanced virtual keyboard and adding the mks.keyboardFilter line are separate steps. So it's not simply a switch for the virtual driver. – Ilian Oct 11 '10 at 11:17
  • Also when I removed that line, the keyboard still worked in the guest OS. – Ilian Oct 11 '10 at 11:23

Answering my own question...

I still do not know the full extent of what mks.keyboardFilter = "allow" does. But it swallows/resets mouse cursor movement if it was done via the keyboard arrow keys. In a Windows XP SP3 guest, MouseKeys (i.e. Control Panel -> Accessibility Options -> Mouse -> Use MouseKeys) only works if that line is not present in the .vmx file.


I think at least one use of the keyboard filter driver is to allow Ctrl+Alt+Del to be captured by the VM.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.