blob: ed4bf8b81d149d55da18c613a09884cc5d5d8ae1 (
plain)
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
;; one liner comments ';;'
#| Multiline
comments |#
(defcfg ;; For linux & by-id lists pluggable devices
;; If a key is not bound/left_empty(_) then it will fall back to the previous
;; layer's binding if not then default.
fallthrough true
;; To run system commands. You MIGHT face issues with tiling window managers due to command helpers.
;; allow-cmd true
;; use 'ls /dev/input/by-id/' for detachable keyboards and
;; 'ls /dev/input/by-path/' for builtin keyboards location'
input (device-file "/dev/input/by-id/usb-Lenovo_ThinkPad_Compact_USB_Keyboard_with_TrackPoint-event-kbd")
;; Not sure what this does. Please check the docs.
output (uinput-sink "My KMonad output")
)
;; This is the real representation of your actual keyboard. We haven't started
;; customizing layouts yet.
(defsrc
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 home end insert del f13 f14 f15 f16
` 1 2 3 4 5 6 7 8 9 0 - = bspc nlck kp/ kp* kp-
tab q w e r t y u i o p [ ] \ kp7 kp8 kp9 kp+
caps a s d f g h j k l ; ' ret kp4 kp5 kp6
lsft z x c v b n m , . / rsft kp1 kp2 kp3 kprt
lctl lmet lalt spc ralt ssrq rctl pgup up pgdn kp0 kp.
left down rght
);; Aliases
(defalias
;; Layer toggles
sym (layer-toggle syms)
sym2 (layer-toggle syms2)
cords (sticky-key 1000 (layer-toggle mods))
;;
hrt (layer-switch homerowmods)
back (layer-switch qwerty)
;; Homerow keys
a (tap-hold-next-release 280 a lctl)
s (tap-hold-next-release 280 s lalt)
d (tap-hold-next-release 280 d lmet)
f (tap-hold-next-release 280 f lsft)
;;
j (tap-hold-next-release 280 j rsft)
k (tap-hold-next-release 280 k lmet)
l (tap-hold-next-release 280 l lalt)
semi (tap-hold-next-release 280 ; rctl)
;; button to launch brave browser
;; veeb (cmd-button "brave")
;; ssf (sticky-key 500 (layer-toggle rshift))
;; rsf (layer-toggle rshift)
)
;; The first custom layer is the one that gets activated when kmonad is started
(deflayer qwerty
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 home end insert del = \( \) bspc
` 1 2 3 4 5 6 7 8 9 0 - = bspc nlck kp/ kp* kp-
tab q w e r t y u i o p [ ] \ kp7 kp8 kp9 kp+
esc a s d f g h j k l ; ' ret kp4 kp5 kp6
@sym z x c v b n m , . / rsft kp1 kp2 kp3 kprt
lctl lmet lalt spc @cords ssrq @hrt pgup up pgdn kp0 kp.
left down rght
)
(deflayer homerowmods
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 home end insert del = \( \) bspc
` 1 2 3 4 5 6 7 8 9 0 - = bspc nlck kp/ kp* kp-
tab q w e r t y u i o p [ ] \ kp7 kp8 kp9 kp+
esc @a @s @d @f g h @j @k @l @semi ' ret kp4 kp5 kp6
@sym z x c v b n m , . / rsft kp1 kp2 kp3 kprt
caps lmet @sym spc lalt ssrq @back pgup up pgdn kp0 kp.
left down rght
)
(deflayer mods
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 home end insert del = \( \) bspc
` 1 2 3 4 5 6 7 8 9 0 - = bspc nlck kp/ kp* kp-
tab q w e r t y u i o p [ ] \ kp7 kp8 kp9 kp+
esc lctl lalt lmet lsft g h rsft rmet ralt rctl ' ret kp4 kp5 kp6
@sym z x c v b n m , . / rsft kp1 kp2 kp3 kprt
caps lmet @sym spc lalt ssrq @back pgup up pgdn kp0 kp.
left down rght
)
;; A layer dedicated to symbols
(deflayer syms
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 home end insert del = \( \) bspc
` 1 2 3 4 5 6 7 8 9 0 - = bspc nlck kp/ kp* kp-
tab q up e r t ! @ # $ % [ ] \ kp7 kp8 kp9 kp+
esc left down right @sym2 g ' ^ & - = ' ret kp4 kp5 kp6
@sym z x c v b \( [ { < \ rsft kp1 kp2 kp3 kprt
caps lmet @sym spc lalt ssrq @back pgup up pgdn kp0 kp.
left down rght
)
(deflayer syms2
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 home end insert del = \( \) bspc
` 1 2 3 4 5 6 7 8 9 0 - = bspc nlck kp/ kp* kp-
tab q up e r t ! @ # $ % [ ] \ kp7 kp8 kp9 kp+
esc left down right @sym2 g ` ~ * \_ + ' ret kp4 kp5 kp6
@sym z x c v b \) ] } > | rsft kp1 kp2 kp3 kprt
caps lmet @sym spc lalt ssrq @back pgup up pgdn kp0 kp.
left down rght
)
|