Interestingly, it turns out this is almost impossible to do. Remapping Alt key to behave as another Ctrl key is not a solution because you lose the Alt key functionalities (some of which are essential, like Alt+Tab
).
So how can I get a behavior similar to MacOS where cmd key is used for keyboard shortcuts (but also for switching between windows with cmd+Tab
)?
I know I can assign Ctrl+Tab
to switch between windows after I remap Alt key as a Ctrl key. But then I lose the real Ctrl+Tab
functionality in some applications, which are also critical like switching tabs in Chrome. Basically my Ctrl and Alt keys would become the same key and it will be impossible to have two different set of shortcuts for these two modifier keys.
A good solution for me would probably be a way to catch Alt+C, Alt+V, Alt+X, etc.
at the window management level and send instead a Ctrl+C or Ctrl+V or Ctrl+X etc.
to the focused window. On Windows this was possible via AutoHotKey. On Linux, I heard about an application called AutoKey but unlike AutoHotKey you have to use a GUI to set the shortcuts. Since I will be writing almost all combinations of Alt manually, I don't want a GUI application do to this. I should be able to configure it by writing a text file.
Is it possible to achieve this either with Gnome or Xmonad?
You can use XKeyCaps.
This is my
.Xmodmap
file, I've got an Apple keyboard.You should be able to use xdotool and
additionalKeys
from the XMonad.Util.EZConfig module for this. Just install xdotool and then in your~/.xmonad/xmonad.hs
config file you can configure additionalKeys like this: