Skip to content

Commit 45d8f10

Browse files
authored
Add basic windows layout
3 layers Colemak space--> accents caps--> symbols
1 parent 38c9b7e commit 45d8f10

File tree

1 file changed

+159
-0
lines changed

1 file changed

+159
-0
lines changed

triple_layer_colemak.kbd

Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,159 @@
1+
(defcfg
2+
;; You can set the value below to no if you only use the keys defined in defsrc.
3+
process-unmapped-keys yes
4+
)
5+
6+
(defsrc
7+
q w e r t y u i o p
8+
caps a s d f g h j k l ;
9+
z x c v b n m , . /
10+
spc
11+
)
12+
13+
(defvar
14+
streak-count 3
15+
streak-time 325
16+
tap-timeout 200
17+
hold-timeout 1000
18+
chord-timeout 50
19+
)
20+
21+
(deftemplate charmod (char mod)
22+
(switch
23+
((key-timing $streak-count less-than $streak-time)) $char break
24+
() (tap-hold-release-timeout $tap-timeout $hold-timeout $char $mod $char) break
25+
)
26+
)
27+
28+
(defvirtualkeys
29+
shift (multi (layer-switch main) lsft)
30+
clear (multi (layer-switch main) (on-press release-virtualkey shift))
31+
)
32+
33+
(defchords mtl $chord-timeout
34+
(w ) w
35+
( e) f
36+
(w e) esc
37+
)
38+
39+
(defchords mtr $chord-timeout
40+
(y ) y
41+
( ') '
42+
(y ') bspc
43+
)
44+
45+
(defchords mbl $chord-timeout
46+
(x ) c
47+
( c) d
48+
(x c) tab
49+
)
50+
51+
(defchords mbr $chord-timeout
52+
(, ) ,
53+
( .) (t! charmod . ralt)
54+
(, .) ret
55+
)
56+
57+
(deflayermap (main)
58+
w (chord mtl w)
59+
e (chord mtl e)
60+
l i
61+
x (chord mbl x)
62+
c (chord mbl c)
63+
s r
64+
d s
65+
f t
66+
j n
67+
k e
68+
o (chord mtr y)
69+
p (chord mtr ')
70+
z x
71+
h m
72+
, (chord mbr ,)
73+
. (chord mbr .)
74+
/ (t! charmod / rctl)
75+
spc (t! charmod spc (multi (layer-switch extend) (on-release tap-virtualkey clear)))
76+
caps (t! charmod esc (multi (layer-switch code) (on-release tap-virtualkey clear)))
77+
r p
78+
t b
79+
y j
80+
u l
81+
i u
82+
b z
83+
n k
84+
m h
85+
; o
86+
\ z
87+
)
88+
89+
(defalias
90+
a-circ (fork (unicode â) (unicode Â) (lsft rsft))
91+
e-circ (fork (unicode ê) (unicode Ê) (lsft rsft))
92+
u-grav (fork (unicode ù) (unicode Ù) (lsft rsft))
93+
i-circ (fork (unicode î) (unicode Î) (lsft rsft))
94+
a-grav (fork (unicode à) (unicode À) (lsft rsft))
95+
e-grav (fork (unicode è) (unicode È) (lsft rsft))
96+
e-acute (fork (unicode é) (unicode É) (lsft rsft))
97+
i-trema (fork (unicode ï) (unicode Ï) (lsft rsft))
98+
o-circ (fork (unicode ô) (unicode Ô) (lsft rsft))
99+
c-cedil (fork (unicode ç) (unicode Ç) (lsft rsft))
100+
at-sign (unicode @)
101+
hash-sign (unicode #)
102+
dollar (unicode $)
103+
percent (unicode %)
104+
caret (unicode ^)
105+
ampersand (unicode &)
106+
asterisk (unicode *)
107+
euro (unicode €)
108+
lparen (unicode "(")
109+
rparen (unicode ")")
110+
minus (unicode -)
111+
underscore (unicode _)
112+
equal (unicode =)
113+
plus (unicode +)
114+
lbracket (unicode [)
115+
rbracket (unicode ])
116+
lbrace (unicode {)
117+
rbrace (unicode })
118+
backslash (unicode \)
119+
pipe (unicode |)
120+
)
121+
122+
(deflayermap (extend)
123+
q @a-circ
124+
u @e-circ
125+
i @u-grav
126+
o @i-circ
127+
a @a-grav
128+
j @e-grav
129+
k @e-acute
130+
l @i-trema
131+
; @o-circ
132+
c @c-cedil
133+
)
134+
135+
136+
(deflayermap (code)
137+
p f11
138+
w @at-sign
139+
s @hash-sign
140+
d @dollar
141+
f @percent
142+
g @caret
143+
h @ampersand
144+
j @asterisk
145+
k @euro
146+
l @lparen
147+
; @rparen
148+
u @minus
149+
i @underscore
150+
e @equal
151+
r @plus
152+
c @lbracket
153+
v @rbracket
154+
n @lbrace
155+
m @rbrace
156+
t @backslash
157+
y @pipe
158+
)
159+

0 commit comments

Comments
 (0)