-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.karabiner.edn
82 lines (73 loc) · 2.98 KB
/
config.karabiner.edn
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
{:main[
{:des "caps_lock to left_control when held",
:rules [[:##caps_lock :left_control nil {:alone :caps_lock}]]
}
{:des "tab to left_option when held",
:rules [[:##tab :left_option nil {:alone :tab}]]
}
{:des "hold q for utils mode"
:rules [
[:q ["utils-mode" 1] nil {:afterup ["utils-mode" 0] :alone :q}]
[:h :left_arrow ["utils-mode" 1]]
[:j :down_arrow ["utils-mode" 1]]
[:k :up_arrow ["utils-mode" 1]]
[:l :right_arrow ["utils-mode" 1]]
[:m :return_or_enter ["utils-mode" 1]]
[:i :home ["utils-mode" 1]]
[:o :end ["utils-mode" 1]]
[:semicolon :!Oquote ["utils-mode" 1]]
[:quote :!Oo ["utils-mode" 1]]
[:open_bracket :!Oa ["utils-mode" 1]]
[:slash :!Qslash ["utils-mode" 1]]
[:comma :delete_or_backspace ["utils-mode" 1]]
[:period :delete_forward ["utils-mode" 1]]
]
}
{:des "hold !Sz for number-mode"
:rules [
[:!Sz ["number-mode" 1] nil {:afterup ["number-mode" 0] :alone :!Sz}]
[:!So :9 ["number-mode" 1]]
[:!Si :8 ["number-mode" 1]]
[:!Su :7 ["number-mode" 1]]
[:!Sl :6 ["number-mode" 1]]
[:!Sk :5 ["number-mode" 1]]
[:!Sj :4 ["number-mode" 1]]
[:!Speriod :3 ["number-mode" 1]]
[:!Scomma :2 ["number-mode" 1]]
[:!Sm :1 ["number-mode" 1]]
[:!Sslash :0 ["number-mode" 1]]
[:!Sx :comma ["number-mode" 1]]
[:!Sc :period ["number-mode" 1]]
]
}
{:des "hold z for symbols-mode"
:rules [
[:z ["symbols-mode" 1] nil {:afterup ["symbols-mode" 0] :alone :z}]
[:i :open_bracket ["symbols-mode" 1]]
[:o :close_bracket ["symbols-mode" 1]]
[:k :!S9 ["symbols-mode" 1]]
[:l :!S0 ["symbols-mode" 1]]
[:comma :!Sopen_bracket ["symbols-mode" 1]]
[:period :!Sclose_bracket ["symbols-mode" 1]]
[:j :equal_sign ["symbols-mode" 1]]
[:m :!Shyphen ["symbols-mode" 1]]
[:slash :0 ["symbols-mode" 1]]
[:x :comma ["symbols-mode" 1]]
[:c :period ["symbols-mode" 1]]
]
}
]}
;; ! | means mandatory - modifier(s) alone when pressend change behavior
;; # | means optional - modifiers are optional (but atleast one necessary)
;; :!Ca is keycode :a and prefix a with !C
;; C | left_command
;; T | left_control
;; O | left_option
;; S | left_shift
;; F | fn
;; Q | right_command
;; W | right_control
;; E | right_option
;; R | right_shift
;; ## | optional any (this has no effect when used on the RHS; only LHS)
;; !! | command + control + optional + shift (hyper)