Smart Caps Lock: Remap to Control AND Escape (Linux, Mac, Windows)
把 Caps Lock 變成智慧的 Control 以及 Escape :
- 單獨輕按一下就是 Escape 。
- 若按下時同時按著其他鍵,就會是 Control 。
這應該是 Vim 和 Emacs 的最佳解了!(Emacs? Bash 的快捷鍵就是 Emacs 系列的)
- Send Escape if you tap Caps Lock alone.
- Send Control if you press Caps Lock with another key.
For both Vim and Emacs world.
GNU/Linux
Step 1. Install XCAPE
Install XCAPE (xcape
). (Linux utility to configure modifier keys to act as other keys when pressed and released on their own.)
Ubuntu:
sudo apt-get install xcape
Step 2. Run the command
# make CapsLock behave like Ctrl:
setxkbmap -option ctrl:nocaps
# make short-pressed Ctrl behave like Escape:
xcape -e 'Control_L=Escape'
The effect should apply immediately.
Step 3. Autostart
Append code from Step 2 to file ~/.xprofile
to run the command when X starts.
macOS
- Download and install Karabiner-Elements, a powerful and stable keyboard customizer.
- Open Karabiner-Elements, select Complex Modifications tab, and click Add rule at the bottom.
- Find Post escape if caps is pressed alone, left_ctrl otherwise and click on enable.
The effect should apply immediately.
Windows
Option 1:
- Download and install AutoHotKey.
- Use the script CapsLockCtrlEscape.ahk.
Option 2:
Download and run dual-key-remap. (Note that in config.txt, CONTROL might needed to changed to LEFT_CTRL for some computers)
For both options, the effect should apply immediately.
Thanks!