summaryrefslogtreecommitdiff
path: root/hosts/local/keyboards/thinkpad-numpad.kbd
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
)