Modifier keys in Linux virtual machines under macOS
Updated: January 22, 2026
Here’s a simple yet juicy topic. Muscle memory is both a blessing and a curse. How so, you ask? Well, I’ve gotten myself a Macbook Pro. Nice machine and all that. Then, since I’m also a pretty serious Linux user, I’ve set up an Ubuntu + Plasma virtual machine, using VirtualBox, for my Tuxy needs. So far so good. Where things go ever so slightly off the tangent is once you start typing or using keyboard shortcuts.
Being an long-time PC person, my fingers are accustomed to standard PC keyboard, with the Ctrl button as the outermost one, followed by Fn, and then some. The usage of these keys is so ingrained in my brain that I actually remapped the Mac’s own modifier keys to match the Windows/Linux usage. But now, there’s a fresh problem. The Linux virtual machine obeys the keys as is. What to do? Well, there’s a simple solution.
Problem, so to speak, in more detail
Yes, I changed my Macbook keyboard layout. To wit, it looks like this:
This is as close as you can get to a classic Windows or Linux setup. But in the virtual machine, the Linux guest operating system obeys the default Macbook layout, i.e., the way the keys are labeled on the actual keyboard. Now, I have a double problem. Not only are the two different, the Linux guest also behaves weirdly, with the buttons all wrongly positioned. My fingers cannot unlearn the old tricks, or worse, manage two different layouts simultaneously.
Simple solution
I promised, and so it is. Now, the actual simplicity will depend on which Linux desktop use, and what options it exposes by default. My choice is the superb and superior Plasma desktop, which indeed offers the ability to modify the keyboard layout using a number of clever defaults. I don’t know if this is possible in other desktop environments, like Gnome or Xfce. I presume there ought to be an option somewhere.
What you want to do is: Settings > Keyboard > Advanced. Tick the box that says: Configure keyboard options. Here, under Alt and Win behavior, there will be a dozen different configurations. You want the one labeled: Ctrl is mapped to Win and the usual Ctrl. Apply. Enjoy.