Remapping keyboard shortcuts (copy, paste etc) to Alt key instead of Ctrl
Solution 1
You can use XKeyCaps.
This is my .Xmodmap
file, I've got an Apple keyboard.
! Swap Alt and Cmd keys.
keycode 37 = Control_L
keycode 133 = Alt_L Meta_L
keycode 64 = Super_L
keycode 108 = Super_R
keycode 134 = ISO_Level3_Shift Multi_key
keycode 105 = Control_R Multi_key
clear Shift
clear Lock
clear Control
clear Mod1
clear Mod2
clear Mod3
clear Mod4
clear Mod5
add Shift = Shift_L Shift_R
add Lock = Caps_Lock
add Control = Control_L Control_R
add Mod1 = Alt_L 0x007D
add Mod2 = Num_Lock
add Mod4 = Super_L Super_R
add Mod5 = Mode_switch ISO_Level3_Shift ISO_Level3_Shift ISO_Level3_Shift
! Configure '=' key on numpad as '='.
keycode 0x7D = equal
Solution 2
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:
import XMonad.Util.EZConfig
...
main = xmonad $ defaultConfig { ... }
`additionalKeys`
[ ((mod1Mask, xK_c), spawn "xdotool key alt+c")
, ((mod1Mask, xK_v), spawn "xdotool key alt+v")
, ((mod1Mask, xK_x), spawn "xdotool key alt+x")
]
Related videos on Youtube
Eren Tantekin
Updated on September 18, 2022Comments
-
Eren Tantekin over 1 year
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 realCtrl+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 aCtrl+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?
-
Jason Southwell over 12 yearsCan you modify this a bit so it reads more like a question? As it stands, it has the feel of a rant.
-
Eren Tantekin over 12 yearsYou're right. I modified it now.
-
Jason Southwell over 12 yearsthere we go ;)!
-
Pramod H G over 11 yearshas anybody managed to remap copy/paste to alt instead of ctrl on ubuntu (12)?
-
-
Eren Tantekin about 12 yearsI had already tried that, but for some reason xdotool doesn't work when it is called from xmonad.