;; (deflayer name
;;  _    _    _    _    _    _    _    _    _    _    _    _    _
;;  _    _    _    _    _    _    _    _    _    _    _    _    _    _     _    _    _
;;  _    _    _    _    _    _    _    _    _    _    _    _    _    _     _    _    _
;;  _    _    _    _    _    _    _    _    _    _    _    _    _
;;  _    _    _    _    _    _    _    _    _    _    _    _    _               _
;;  _    _    _              _                   _    _    _    _          _    _    _
;;  )



(defcfg
 linux-dev /dev/input/by-path/platform-i8042-serio-0-event-kbd
 fallthrough true
 )

(defsrc
 esc  f1   f2   f3   f4   f5   f6   f7   f8   f9   f10  f11  f12        ssrq slck pause
 grv  1    2    3    4    5    6    7    8    9    0    -    =    bspc  ins  home pgup
 tab  q    w    e    r    t    y    u    i    o    p    [    ]    ret   del  end  pgdn
 caps a    s    d    f    g    h    j    k    l    scln '    \
 lsft 102d z    x    c    v    b    n    m    ,    .    /    rsft            up
 lctl lmet lalt           spc                 ralt rctl                 left down rght
 )

(deflayer base
 esc    f1     f2     f3     f4     f5     f6     f7     f8     f9     f10    f11   f12            ssrq   slck   pause
 grv    1      2      3      4      5      6      7      8      9      0      -     =      bspc    ins    home   pgup
 @tab   q      w      e      r      t      @cy    @cu    @ci    @co    @cp    [     +      ret     del    end    pgdn
 @cps   @ca    @cs    @cd    @cf    g      @ch    @cj    k      @cl    scln   '     \
 lsft   102d   z      x      c      v      b      n      m      ,      .      /     rsft                  up
 lctl   lmet   lalt                 spc                         ralt   ralt                        left   down   rght
 )

(defalias
  ca (chord chords a)
  cs (chord chords s)
  cd (chord chords d)
  cf (chord chords f)
  cy (chord chords y)
  cu (chord chords u)
  co (chord chords o)
  cp (chord chords p)
  ch (chord chords h)
  ci (chord chords i)
  cj (chord chords j)
  cl (chord chords l)
)

(defchords chords 100
  (a) a
  (s) s
  (d) d
  (f) f
  (h) h
  (i) i
  (j) j
  (l) l
  (y) y
  (u) u
  (o) o
  (p) p
  (y p) (macro = S-.)
  (u i o) @uml-u
  (i o p) @uml-o
  (a s d) @uml-a
  (s d f) @uml-s
  (h j) (macro S-scln S-scln)
  (j i) (macro - S-.)
  (j l) C-bspc)

(defalias
  cps   (tap-hold-release 200 200 esc (layer-toggle symbols))
  tab   (tap-hold-release 200 200 tab (layer-toggle umls))
  s-sft (tap-hold-release 150 150 s lsft)
  l-sft (tap-hold-release 150 150 l lsft)

  uml-a (macro ralt S-apos a)
  uml-o (macro ralt S-apos o)
  uml-u (macro ralt S-apos u)
  uml-s (macro ralt s s)
)



(deflayer symbols
_      _      _      _      _      _      _      _      _      _      _      _      _              _      _      _
_      _      _      _      _      _      _      _      _      _      _      _      _      _       _      _      _
_      _      S-1    S-apos /      \      _      S-[    [      ]      S-]    _      S-8    _       _      _      _
_      home   S-4    S-9    S-0    end    left   down   up     rght   S-7    S-5    _
_      _      S-\    del    S-/    S-`    _      =      S-3    bspc   _      _      _                     _
_      _      _                    _                           _      _                            _      _      _
)

(deflayer umls
 _      _      _      _      _      _      _      _      _      _      _      _      _          _    _    _
 _      _      _      _      _      _      _      _      _      _      _      _      _    _     _    _    _
 _      _      _      _      lrld   _      _      @uml-u _      @uml-o _      _      _    _     _    _    _
 _      @uml-a @uml-s _      _      _      _      _      _      _      _      _      _
 _      _      _      _      _      _      _      _      _      _      _      _      _               _
 _      _      _                    _                           _      _                        _    _    _
 )
