The basic stuff: I want to be able to switch apps with +Tab, copy and paste with +C and +V etc.


You can swap Ctrl and with the following command

gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:swap_lwin_lctl']"

Alternatively, if you want to use a GUI to make the same change:

  • install dconf-tools from the software center
  • run the dconf-editor application
  • navigate to org > gnome > desktop > input sources
  • change the value of kbd-options to ['ctrl:swap_lwin_lctl']

That should take care of most shortcuts. The shortcut to switch windows can be changed from alt + tab to something else on the standard keyboard shortcuts page in Switchboard.

  • I can't seem to confirm that this works; I ran the command (and double-checked it in dconf-editor) and all <kbd>Ctrl</kbd> and <kbd>⌘</kbd> shortcuts are as they were. – Cassidy James Jan 9 '16 at 22:48
  • Cassidy, try logging out/rebooting. – Heath Paddock Jan 10 '16 at 0:58
  • 3
    One issue is sometimes you really want Ctrl to be Ctrl, like while in a terminal and not the apple key. – Ray Dec 29 '16 at 16:44
  • 1
    @Ray I concur, the ideal solution would be for Elementary OS to start using Super like Mac uses Cmd and then when you really need Ctrl it is still available on the keyboard. – Anriëtte Myburgh May 18 '17 at 8:23

How about remapping the keys? xmodmap should do the trick there.

Assuming that your command button is replaced with meta (I can't help you there, I don't own a Mac) this should work for you:

xmodmap -e "remove control = Control_L" xmodmap -e "remove mod4 = Super_L" xmodmap -e "add control = Super_L" xmodmap -e "add mod4 = Control_L"

This will work until you end your session.

Permanent solution

1) Make ~/.Xmodmap file.

2) Write this into it:

remove control = Control_L remove mod4 = Super_L add control = Super_L add mod4 = Control_L

3) You should now somehow put xmodmap ~/.Xmodmap to run at startup (I'm having trouble to find out how right now, will fix later).

  • I've tried all possible solutions i found online (putting in Switchboard > startup, putting it in ~/.xinitrc file, /etc/X11/xinit/xinitrc file, ...) but nothing happens. This could be a bug. You could put it in your .bashrc file but it will be ran only when you start the terminal. – Dušan Gvozdenović Aug 15 '15 at 6:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.