I use all three types of computers, and use the following mapping to make it easier to move between computers. Most of my software development has moved into a server in the cloud, and I SSH in. Even locally, I often use a Terminal session. My local Linux environment is GNOME, but this may also work for KDE and XFCE4.
CapsLock is remapped to Control. I use this key in Terminal windows because it solves a mapping problem, which I’ll describe later.
The key next to the space bar, Alt on Windows and Command on Mac, remains unmapped on MacOS (it’s still Command). On Windows and Linux, Alt is mapped to Control.
The key next to that, the “Windows” key on Windows, and “Option” on the Mac, is mapped to Alt. It’s now Alt in Windows, and Alt in Linux. It’s still Option on the Mac.
The key in the lower left is mapped to the “Window” key on Windows and Linux. It’s unmapped on MacOS, but you can map it to something like Alt. Unfortunately, I haven’t been able to map the MacOS key to the Launcher, which would be perfect.
These mappings don’t create identical keyboards, but addresses the following pain points:
- Copy-Pasta: Same key positions for Command-C, Control-C, for GUI copy-pasta.
- Terminal Control Keys: Same across all terminals, everywhere. Use the Caps-Lock key.
- Launching with the lower left corner key: tap it, and start typing the app name.
- Alt Key for the menu: I rarely ever use the Alt key, except to activate the menu or accelerators in dialogs, but it’s there.
Additional behaviors and key mappings must be made in each OS or application.
GNOME programs generally allow keystrokes to be remapped via the menus, a setting, or with a config file.
I’ve been using Ubuntu MINT Cinnamon with Regolith (based on i3). Regolith works well with GNOME, and you can remap the keys with Tweaks. To install Tweaks:
sudo apt install gnome-tweak-tool
Just enable CapsLock -> CTRL, and swaps they Win Alt and Control keys, so Control -> Win, Win -> Alt, and Alt -> Control. Win is the Super key. To access the application menu (aka drun), you press Super+Space.
Windows keymappings can be made with SharpKeys or any number of other utilities.
Here’s the SKL file for SharpKeys. I’ve appended .doc to the end, so it could be uploaded. To use the file, remove the .doc, so the file is named “My Keys.skl”. You can load that into SharpKeys.