This repo includes custom complex modification rules for karabiner-elements to customize key strokes.
The CapsLock key is modified to be used as a virtual modifier. To use the virtual modifier, make sure to enable the mandatory rules.
The following keys are used as virtual modifiers:
- CapsLock
- Right Command
While holding down the CapsLock key, you can activate the following modes by pressing additional dedicated keys:
- Launcher mode: Enter
- Window control mode: Right Command
- Mouse key mode: Right Shift
The detailed instructions can be found in karabiner-elements.
In order to import the rules, fill <Rule URL>
and open the link in a web browser.
karabiner://karabiner/assets/complex_modifications/import?url=
<Rule URL>
Or
The ruleset files can directly be copied under
$HOME/.config/karabiner/assets/complex_modifications/
Rule URLs can be copied from the following list.
URL | Description |
---|---|
CustomCapslock_Base | Ruleset for basic custom capslock |
CustomCapslock_iTerm2 | Ruleset for iTerms2 |
CustomCapslock_VSCode | Ruleset for VSCode |
CustomCapslock_LauncherMode | Ruleset to launch applications |
CustomCapslock_WindowCtrlMode | Ruleset to control activated window |
CustomCapslock_MouseKeyMode | Ruleset to use mouse using keyboard |
CustomSpacebar_Base | Ruleset using spacebar as a modifier |
The following keys are modified while the Capslock key is being pressed to provide additional functionalities.
e.g. CAPSLOCK(pressed) + i -> Arrow Up
FROM | TO |
---|---|
CapsLock | Virtual Modifier |
5 | CapsLock |
FROM | TO |
---|---|
a + other keys | CTRL |
s + other keys | SHIFT |
d + other keys | OPTION |
f + other keys | CMD |
FROM | TO |
---|---|
i | Arrow up |
j | Arrow left |
k | Arrow down |
l | Arrow right |
FROM | TO |
---|---|
h | Home |
semicolon(;) | End |
FROM | TO |
---|---|
u | Delete |
o | Delete foward |
FROM | TO |
---|---|
p | Page up |
quote(') | Page down |
FROM | TO |
---|---|
7 | Move left tab (CMD+SHIFT+[) |
8 | Move right tab (CMD+SHIFT+]) |
Open bracket([) | Move left tab (CMD+SHIFT+[) |
Close bracket(]) | Move right tab (CMD+SHIFT+]) |
FROM | TO |
---|---|
y | Redo (CMD+SHIFT+z) |
FROM | TO |
---|---|
Space | Enter |
FROM | TO |
---|---|
e | Escape |
FROM | TO |
---|---|
q | CMD + q |
CMD + w | CMD + SHIFT + w |
w | CMD + w |
CMD + r | CMD + SHIFT + r |
r | CMD + r |
CMD + t | CMD + SHIFT + t |
t | CMD + t |
a | CMD + a |
s | CMD + s |
f | CMD + f |
z | CMD + z |
x | CMD + x |
c | CMD + c |
v | CMD + v |
0 | CMD + 0 |
hypen(-) | CMD + - |
equal(=) | CMD + = |
FROM | TO |
---|---|
9 | Next window |
g | Select a word |
Tab | SHIFT+Tab |
d | DeepL app |
Right CMD(without capslock) | Switch Input language |
The following bindings are only enabled in VSCode application.
FROM | TO |
---|---|
b | Go Back (CTRL + hypen) |
n | Go Foward (CTRL + SHIFT + hypen) |
m | Go to Definition (f12) |
CMD + m | Go to References (SHIFT + f12) |
OPTION + m | Go to Implementation (CMD + f12) |
comma(,) | Next Problem (f8) |
period(.) | Expand Selection |
CMD + period | Shrink Selection |
Slash(/) | Toggle line comment |
The following bindings are only enabled in iTerm application.
FROM | TO |
---|---|
r | CTRL + r |
The launcher mode can be initiated by pressing the Enter key while the Caps Lock key is being held down. This mode allows you to quickly open applications by combining the Caps Lock key with other keys.
e.g. CAPSLOCK(pressed) + ENTER(down/up) + c -> open Chrome
FROM | Application |
---|---|
b | Brave Browser |
c | Chrome Browser |
d | Dock (CTRL + f3) |
f | Forklift |
g | Micorsoft Edge |
i | Safari |
j | Menu (CTRL + f2) |
k | KakaoTalk |
m | Messages |
p | Spark |
s | Slack |
t | iTerm2 |
v | VSCode |
w |
This Window Control Mode requires the use of Better Touch Tool to be properly configured.
To activate this mode, press the right command key while holding down the Caps Lock key.
e.g. CAPSLOCK(pressed) + R_COMMAND(down/up) + m -> maximize window
FROM | TO |
---|---|
i | Mission control |
j | Move left a sapce |
k | Application Window |
l | Move right a space |
d | Show desktop |
FROM | TO |
---|---|
1 | Move to Desktop 1 |
2 | Move to Desktop 2 |
3 | Move to Desktop 3 |
4 | Move to Desktop 4 |
FROM | TO |
---|---|
CMD + j | Move activated window to a left space |
CMD + l | Move activated window to a right space |
n | Move activated window to a next monitor |
FROM | TO |
---|---|
h | Resize window to left Half |
semicolon(;) | Resize window to right half |
t | Resize window to top half |
b | Resize window to bottom half |
u | Resizee window to left two thirds |
o | Resize window to right two thirds |
m | Resize window to max |
f | Resize window to middle |
r | Revert window size |
The Mouse Key Mode can be initiated by striking right shift key while the capslock key is being pressed.
FROM | TO |
---|---|
i | Move cursor up |
j | Move cursor left |
k | Move cursor down |
l | Move cursor right |
FROM | TO |
---|---|
u | Scroll left |
o | Scroll right |
p | Scroll up |
quote(') | Scroll down |
y | Scroll up |
n | Scroll down |
FROM | TO |
---|---|
v | Left click |
g | CMD + Left click |
b | Right click |
The speed will change while pressing the following keys.
FROM | TO |
---|---|
s | Slower cursor speed |
d | Faster cursor speed |
f | Even Faster cursor speed |
FROM | TO |
---|---|
h | Prev Page |
semicolon(;) | Next Page |
FROM | TO |
---|---|
m | Move left tab (CMD+SHIFT+[) |
comma(,) | Move right tab (CMD+SHIFT+]) |
FROM | TO |
---|---|
e | Escape |
r | Refresh (CMD + R) |
The following keys are modified while the Right Command key is being pressed to be able to have a layer with fullset of symbols without using the shift key.
e.g. right command(alone) -> right command, right command + q -> !, right command + w -> @
- Top Row
FROM | TO |
---|---|
q | ` |
w | @ |
e | # |
r | $ |
t | % |
y | ^ |
u | & |
i | * |
o | \ |
p | | |
[ | " |
- Home Row
FROM | TO |
---|---|
a | [ |
s | ] |
d | ( |
f | ) |
g | ? |
h | _ |
j | - |
k | = |
l | : |
; | ; |
' | ' |
- Bottom Row
FROM | TO |
---|---|
z | < |
x | > |
c | { |
v | } |
b | ! |
n | ~ |
m | + |
, | , |
. | . |
/ | / |
These are the base key mappings that are used without any virtual modifiers.
FROM | TO |
---|---|
keyboard layout | colemak-dh matrix layout |
home | CMD + left |
end | CMD + right |
left command + delete_forward | delete all left of cursor |
right option | fn key |
left command + e | open PastePal (CMD + SHIFT + v) |