How to bypass Windows shortcuts (like win+L) in a Virtual Machine
I’ve been a part-time Linux user for 20 years and want to run in a VM without hotkeys colliding and I’ve finally figured it out.
tl;dr - use VMware Workstation as your VM, install the “Enhanced Keyboard Driver” and enable it on your Linux VM.
For the last few years I’ve used i3wm as my primary Linux windows manager, forgoing any traditional desktop environment.
i3 is all about jumping between windows with hotkeys, and the default (and best IMO) modifier for that is the windows/super key. win+L for example is that would let you focus on whatever window is to the right of your currently focused window.
When attempting to run Linux in a virtual machine, Windows sees the win+L keystroke and locks the computer. I’ve tried to solve this a few times over the years by disabling various Windows settings and making some registry updates, but nothing every seemed to do the trick.
I’ve never seen it as a big deal, instead just not using i3 in a virtual machine, and mostly relying on a dual boot setup for whenever I needed to develop on my desktop PC.
Recently I upgraded my desktop (new CPU, RAM, motherboard and larger hard drive) and attempted to use this upgrade as a reason to explore i3 in a VM again.
I wasn’t able to find too many people facing the same problem, or the ones that did normally rebound keys instead of fixing it. But in VMware Workstation there is a “Enhanced Keyboard Driver” that doesn’t explain what it does - but it essentially allows VMware to intercept the keys before Windows, by passing any default Windows shortcuts.
So you’ll want to install the driver, and more importantly enable it on your VM which is on the Options tab (semi hidden tab, but next to Hardware) in your Virtual Machine settings.
This will give you full control of all keys regardless of high priority Windows shortcuts in your VM, like using i3 with default keybindings.