summaryrefslogtreecommitdiff
path: root/hosts/local/master/rapoo.kbd
blob: e117f2f8c2b686a0a8ac1214417927b7f90a2ac8 (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/event3")
input  (device-file "/dev/input/by-id/usb-RAPOO_Rapoo_2.4G_Wireless_Device-if02-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
  `     1    2    3    4    5    6    7    8    9    0    -    =    bspc
  tab   q    w    e    r    t    y    u    i    o    p    [    ]    \
  caps  a    s    d    f    g    h    j    k    l    ;    '    ret
  lsft  z    x    c    v    b    n    m    ,    .    /    rsft up
  lctl  lmet lalt           spc            ralt rctl left down right
)
;; 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                             ;; The default layer that'd be read when you launch kmonad
  esc      f1       f2      f3      f4      f5     f6      f7       f8       f9      f10    f11      f12
  `         1        2       3       4       5       6       7        8       9        0     -    =   bspc
  tab       q        w       e       r       t       y       u        i       o        p     [    ]     \
  esc       a        s       d       f       g       h       j        k       l        ;     '      ret
  @sym      z        x       c       v       b       n        m        ,      .       /     rsft    up
  lctl    lmet      @sym                     spc                     @cords  @hrt  left    down   right
)
(deflayer homerowmods                            
  esc      f1       f2      f3      f4      f5      f6      f7       f8       f9      f10    f11      f12
  `         1        2       3       4       5       6       7        8       9        0     -    =   bspc
  tab       q        w       e       r       t       y       u        i       o        p     [    ]     \
  esc     @a       @s      @d      @f       g       h       @j       @k      @l       @semi    '      ret
  @sym      z        x       c       v       b       n        m        ,      .       /     rsft    up
  lctl    lmet     @sym                    spc                        lalt    @back  left    down   right
)
(deflayer mods                            
  esc      f1       f2      f3      f4      f5      f6      f7       f8       f9      f10    f11      f12
  `         1        2       3       4       5       6       7        8       9        0     -    =   bspc
  tab       q        w       e       r       t       y       u        i       o        p     [    ]     h
  esc     lctl     lalt    lmet    lsft     g       h      rsft     rmet    ralt     rctl    '      ret
  @sym      z        x       c       v       b       n        m        ,      .       /     rsft    up
  lctl    lmet     @sym                    spc                        lalt    @back  left    down   right
)

;; A layer dedicated to symbols
(deflayer syms
  _         _        _       _       _       _        _       _        _        _       _      _         _      
  _         _        _       _       _       _        _       _        _        _       _      _         _     _
  _         _        _       up      _       _        !       @        #        $       %      _         _     _
  _         _      left    down     right    @sym2    '       ^        &        -       =      _         ret
  _         _        _       _       _       _        \(      [        {        <       \      _         _
  _         _        _                       _                     _        _       _      _         _
)


;; More symbols
(deflayer syms2
  _         _        _       _       _       _        _       _        _        _       _      _         _      
  _         _        _       _       _       _        _       _        _        _       _      _         _     _
  _         _        _       _       _       _        _       _        _        _       _      _         _     _
  _         _        _       _       _       _        `       ~        *       \_       +      _         ret
  _         _        _       _       _       _        \)      ]        }        >       |      _         _
  _         _        _                       _                     _        _       _      _         _
)