How do I reconfigure keyboard shortcuts for copy and paste?
Various config things needed changing to get the results I wanted:
- In Firefox, about:config
ui.key.accelKey 18
ui.key.menuAccessKey 17
This makes the Alt+C, Alt+V and Alt+W the keyboard shortcuts for Firefox rather than the corresponding Ctrl keys. - In gnome-terminal, edit->keyboard shortcuts, turn off "Enable menu access keys", change the copy, paste, etc., to Alt+C, Alt+V, etc. (This may have been the default that I changed some time in the past.)
- In .synergy-conf, remove alt = super, super = alt. Now, Alt on the Ubuntu keyboard is the Command key on the Mac. Now, I just use Alt instead of Win; no big deal. (The Unity window manager seems to "own" the Win key; it seemed the path of least resistance to just change my habit here... and the Alt key is more like the location of the Command key on the Mac.)
- Disable "New Terminal - Alt-T" in system keyboard shortcuts so it can be used for "New Tab" in gnome-terminal and Firefox.
Thanks for the pointers... I'd forgotten about the Firefox about:config change I had made way back when, which was an essential piece to the puzzle.
Ctrl+C and Ctrl+V by default do not copy and paste in the Terminal. This is because Ctrl+C is a special command used (for decades) to interrupt a currently running process. The default instead is Shift+Ctrl+C and Shift+Ctrl+V.
If you want to, you change this by clicking Edit>Keyboard Shortcuts in your Terminal.
I also find annoying that the terminal shortcuts to copy and paste are different from what's used in the rest of the system. An alternative solution to the one you found is changing terminal shortcuts to Ctrl+c and Ctrl+v and changing the interrupt key by adding the following in ~/.bashrc
:
stty intr ^b
Now to interrupt a program you've to type ctrl+b instead of ctrl+c, but you can go ahead and remap the terminal shortcuts. Once this is done, you can use consistently Ctrl+c, Ctrl+v to copy and paste text across the system.
To find what other control keys are already used to send terminal signals, check the output of stty -a
.