Add artsey
This commit is contained in:
commit
871862e682
1 changed files with 423 additions and 0 deletions
423
artsey.kbd
Normal file
423
artsey.kbd
Normal file
|
|
@ -0,0 +1,423 @@
|
|||
;; Artsey v0.8.1 for Kanata
|
||||
|
||||
(defcfg
|
||||
sequence-timeout 2000
|
||||
process-unmapped-keys no
|
||||
concurrent-tap-hold yes
|
||||
movemouse-inherit-accel-state yes
|
||||
movemouse-smooth-diagonals yes
|
||||
)
|
||||
|
||||
(defvar
|
||||
chord-timeout 250
|
||||
tap-repress-timeout 200
|
||||
hold-timeout 500
|
||||
leader-timeout 1000
|
||||
|
||||
mouse-interval 1
|
||||
mouse-accel-time 500
|
||||
mouse-min 1
|
||||
mouse-max 4
|
||||
wheel-interval 50
|
||||
wheel-distance 120
|
||||
)
|
||||
|
||||
(defsrc
|
||||
q w e r u i o p
|
||||
a s d f j k l ;
|
||||
)
|
||||
|
||||
;; Layers
|
||||
|
||||
(deflayer base
|
||||
@s-base @t-base @r-base @a-base @base-a @base-r @base-t @base-s
|
||||
@o-base @i-base @y-base @e-base @base-e @base-y @base-i @base-o
|
||||
)
|
||||
|
||||
(deflayer numbers
|
||||
@s-num @t-num @r-num @a-num @num-a @num-r @num-t @num-s
|
||||
@o-num @i-num @y-num @e-num @num-e @num-y @num-i @num-o
|
||||
)
|
||||
|
||||
(deflayer parens
|
||||
@s-par @t-par @r-par @a-par @par-a @par-r @par-t @par-s
|
||||
@o-par @i-par @y-par @e-par @par-e @par-y @par-i @par-o
|
||||
)
|
||||
|
||||
(deflayer symbols
|
||||
@s-sym @t-sym @r-sym @a-sym @sym-a @sym-r @sym-t @sym-s
|
||||
@o-sym @i-sym @y-sym @e-sym @sym-e @sym-y @sym-i @sym-o
|
||||
)
|
||||
|
||||
(deflayer nav
|
||||
@s-nav @t-nav @r-nav @a-nav @nav-a @nav-r @nav-t @nav-s
|
||||
@o-nav @i-nav @y-nav @e-nav @nav-e @nav-y @nav-i @nav-o
|
||||
)
|
||||
|
||||
(deflayer mouse
|
||||
@s-mse @t-mse @r-mse @a-mse @mse-a @mse-r @mse-t @mse-s
|
||||
@o-mse @i-mse @y-mse @e-mse @mse-e @mse-y @mse-i @mse-o
|
||||
)
|
||||
|
||||
(deflayer custom
|
||||
@s-cus @t-cus @r-cus @a-cus @cus-a @cus-r @cus-t @cus-s
|
||||
@o-cus @i-cus @y-cus @e-cus @cus-e @cus-y @cus-i @cus-o
|
||||
)
|
||||
|
||||
;; Keys
|
||||
|
||||
(deftemplate key (layer key left-combos right-combos)
|
||||
(defalias
|
||||
(concat $key - $layer) (chord $left-combos $key)
|
||||
(concat $layer - $key) (chord $right-combos $key)
|
||||
)
|
||||
)
|
||||
|
||||
(t! key base a left-base-combos right-base-combos)
|
||||
(t! key base r left-base-combos right-base-combos)
|
||||
(t! key base t left-base-combos right-base-combos)
|
||||
(t! key base s left-base-combos right-base-combos)
|
||||
(t! key base e left-base-combos right-base-combos)
|
||||
(t! key base y left-base-combos right-base-combos)
|
||||
(t! key base i left-base-combos right-base-combos)
|
||||
(t! key base o left-base-combos right-base-combos)
|
||||
|
||||
(t! key num a left-num-combos right-num-combos)
|
||||
(t! key num r left-num-combos right-num-combos)
|
||||
(t! key num t left-num-combos right-num-combos)
|
||||
(t! key num s left-num-combos right-num-combos)
|
||||
(t! key num e left-num-combos right-num-combos)
|
||||
(t! key num y left-num-combos right-num-combos)
|
||||
(t! key num i left-num-combos right-num-combos)
|
||||
(t! key num o left-num-combos right-num-combos)
|
||||
|
||||
(t! key par a left-par-combos right-par-combos)
|
||||
(t! key par r left-par-combos right-par-combos)
|
||||
(t! key par t left-par-combos right-par-combos)
|
||||
(t! key par s left-par-combos right-par-combos)
|
||||
(t! key par e left-par-combos right-par-combos)
|
||||
(t! key par y left-par-combos right-par-combos)
|
||||
(t! key par i left-par-combos right-par-combos)
|
||||
(t! key par o left-par-combos right-par-combos)
|
||||
|
||||
(t! key sym a left-sym-combos right-sym-combos)
|
||||
(t! key sym r left-sym-combos right-sym-combos)
|
||||
(t! key sym t left-sym-combos right-sym-combos)
|
||||
(t! key sym s left-sym-combos right-sym-combos)
|
||||
(t! key sym e left-sym-combos right-sym-combos)
|
||||
(t! key sym y left-sym-combos right-sym-combos)
|
||||
(t! key sym i left-sym-combos right-sym-combos)
|
||||
(t! key sym o left-sym-combos right-sym-combos)
|
||||
|
||||
(t! key nav a left-nav-combos right-nav-combos)
|
||||
(t! key nav r left-nav-combos right-nav-combos)
|
||||
(t! key nav t left-nav-combos right-nav-combos)
|
||||
(t! key nav s left-nav-combos right-nav-combos)
|
||||
(t! key nav e left-nav-combos right-nav-combos)
|
||||
(t! key nav y left-nav-combos right-nav-combos)
|
||||
(t! key nav i left-nav-combos right-nav-combos)
|
||||
(t! key nav o left-nav-combos right-nav-combos)
|
||||
|
||||
(t! key mse a left-mse-combos right-mse-combos)
|
||||
(t! key mse r left-mse-combos right-mse-combos)
|
||||
(t! key mse t left-mse-combos right-mse-combos)
|
||||
(t! key mse s left-mse-combos right-mse-combos)
|
||||
(t! key mse e left-mse-combos right-mse-combos)
|
||||
(t! key mse y left-mse-combos right-mse-combos)
|
||||
(t! key mse i left-mse-combos right-mse-combos)
|
||||
(t! key mse o left-mse-combos right-mse-combos)
|
||||
|
||||
(t! key cus a left-cus-combos right-cus-combos)
|
||||
(t! key cus r left-cus-combos right-cus-combos)
|
||||
(t! key cus t left-cus-combos right-cus-combos)
|
||||
(t! key cus s left-cus-combos right-cus-combos)
|
||||
(t! key cus e left-cus-combos right-cus-combos)
|
||||
(t! key cus y left-cus-combos right-cus-combos)
|
||||
(t! key cus i left-cus-combos right-cus-combos)
|
||||
(t! key cus o left-cus-combos right-cus-combos)
|
||||
|
||||
;; Shared aliases
|
||||
|
||||
(defalias
|
||||
base-layer (layer-switch base)
|
||||
nav-layer (layer-switch nav)
|
||||
mse-layer (layer-switch mouse)
|
||||
|
||||
;; Layer-hold keys
|
||||
hold-num (tap-hold $tap-repress-timeout $hold-timeout (macro s) (layer-while-held numbers))
|
||||
hold-par (tap-hold $tap-repress-timeout $hold-timeout (macro a) (layer-while-held parens))
|
||||
hold-sym (tap-hold $tap-repress-timeout $hold-timeout (macro e) (layer-while-held symbols))
|
||||
hold-cus (tap-hold $tap-repress-timeout $hold-timeout (macro o) (layer-while-held custom))
|
||||
|
||||
;; One-shot modifiers
|
||||
os-sft (one-shot $leader-timeout lsft)
|
||||
os-ctl (one-shot $leader-timeout lctl)
|
||||
os-met (one-shot $leader-timeout lmet)
|
||||
os-alt (one-shot $leader-timeout lalt)
|
||||
shlock (on-press toggle-virtualkey shift-lock)
|
||||
|
||||
;; Symbol helpers
|
||||
excl S-1
|
||||
ques S-/
|
||||
lp S-9
|
||||
rp S-0
|
||||
lb [
|
||||
rb ]
|
||||
lc S-[
|
||||
rc S-]
|
||||
bsl \
|
||||
grv `
|
||||
apos '
|
||||
|
||||
;; Mouse movement helpers
|
||||
mmu (movemouse-accel-up $mouse-interval $mouse-accel-time $mouse-min $mouse-max)
|
||||
mmd (movemouse-accel-down $mouse-interval $mouse-accel-time $mouse-min $mouse-max)
|
||||
mml (movemouse-accel-left $mouse-interval $mouse-accel-time $mouse-min $mouse-max)
|
||||
mmr (movemouse-accel-right $mouse-interval $mouse-accel-time $mouse-min $mouse-max)
|
||||
mwu (mwheel-up $wheel-interval $wheel-distance)
|
||||
mwd (mwheel-down $wheel-interval $wheel-distance)
|
||||
)
|
||||
|
||||
(defvirtualkeys
|
||||
shift-lock lsft
|
||||
)
|
||||
|
||||
;; Chords
|
||||
|
||||
(deftemplate base-layer-chords ()
|
||||
(r e i) @nav-layer
|
||||
(a t y) @mse-layer
|
||||
)
|
||||
|
||||
(deftemplate nav-layer-chords ()
|
||||
(r e i) @base-layer
|
||||
)
|
||||
|
||||
(deftemplate mouse-layer-chords ()
|
||||
(a t y) @base-layer
|
||||
)
|
||||
|
||||
(deftemplate global-chords ()
|
||||
(r t s e) @os-sft
|
||||
(a e) (macro ent)
|
||||
(e y i o) (macro spc)
|
||||
(a r t o) (macro tab)
|
||||
(r e) (macro bspc)
|
||||
(r i) (macro del)
|
||||
(a r o) (macro esc)
|
||||
(s e) @os-ctl
|
||||
(s y) @os-met
|
||||
(s i) @os-alt
|
||||
(r y) @shlock
|
||||
)
|
||||
|
||||
(deftemplate defbasechords (name)
|
||||
(defchords $name $chord-timeout
|
||||
(t! base-layer-chords)
|
||||
(t! global-chords)
|
||||
|
||||
;; Layer-hold base keys.
|
||||
(s) @hold-num
|
||||
(a) @hold-par
|
||||
(e) @hold-sym
|
||||
(o) @hold-cus
|
||||
|
||||
;; English alphabet.
|
||||
(r) (macro r)
|
||||
(t) (macro t)
|
||||
(y) (macro y)
|
||||
(i) (macro i)
|
||||
(e o) (macro b)
|
||||
(e y) (macro c)
|
||||
(a r t) (macro d)
|
||||
(a r) (macro f)
|
||||
(r t) (macro g)
|
||||
(e i) (macro h)
|
||||
(t s) (macro j)
|
||||
(y o) (macro k)
|
||||
(e y i) (macro l)
|
||||
(y i o) (macro m)
|
||||
(i o) (macro n)
|
||||
(e i o) (macro p)
|
||||
(a t s) (macro q)
|
||||
(y i) (macro u)
|
||||
(r s) (macro v)
|
||||
(a s) (macro w)
|
||||
(r t s) (macro x)
|
||||
(a r t s) (macro z)
|
||||
|
||||
;; Base punctuation.
|
||||
(a y i) (macro @apos)
|
||||
(a y) (macro .)
|
||||
(a i) (macro ,)
|
||||
(t i) (macro @excl)
|
||||
(a o) (macro /)
|
||||
(o i y a) (macro caps)
|
||||
)
|
||||
)
|
||||
|
||||
(deftemplate defnumchords (name)
|
||||
(defchords $name $chord-timeout
|
||||
(t! base-layer-chords)
|
||||
(t! global-chords)
|
||||
|
||||
(a) (macro Digit1)
|
||||
(r) (macro Digit2)
|
||||
(t) (macro Digit3)
|
||||
(e) (macro Digit4)
|
||||
(y) (macro Digit5)
|
||||
(i) (macro Digit6)
|
||||
(a r) (macro Digit7)
|
||||
(r t) (macro Digit8)
|
||||
(e y) (macro Digit9)
|
||||
(y i) (macro Digit0)
|
||||
)
|
||||
)
|
||||
|
||||
;; Parens and brackets are arranged in open/close pairs, so the left/right
|
||||
;; hands aren't exact mirrors.
|
||||
(deftemplate defparleftchords (name)
|
||||
(defchords $name $chord-timeout
|
||||
(t! base-layer-chords)
|
||||
(t! global-chords)
|
||||
|
||||
(r) (macro @rp)
|
||||
(t) (macro @lp)
|
||||
(s) (macro @lc)
|
||||
(y) (macro @rb)
|
||||
(i) (macro @lb)
|
||||
(o) (macro @rc)
|
||||
)
|
||||
)
|
||||
|
||||
(deftemplate defparrightchords (name)
|
||||
(defchords $name $chord-timeout
|
||||
(t! base-layer-chords)
|
||||
(t! global-chords)
|
||||
|
||||
(r) (macro @lp)
|
||||
(t) (macro @rp)
|
||||
(s) (macro @lc)
|
||||
(y) (macro @lb)
|
||||
(i) (macro @rb)
|
||||
(o) (macro @rc)
|
||||
)
|
||||
)
|
||||
|
||||
(deftemplate defsymchords (name)
|
||||
(defchords $name $chord-timeout
|
||||
(t! base-layer-chords)
|
||||
(t! global-chords)
|
||||
|
||||
(a) (macro @excl)
|
||||
(r) (macro @bsl)
|
||||
(t) (macro ;)
|
||||
(s) (macro @grv)
|
||||
(y) (macro @ques)
|
||||
(i) (macro -)
|
||||
(o) (macro =)
|
||||
)
|
||||
)
|
||||
|
||||
;; Navigation keys are arranged in a spatially logical layout, with up/down in
|
||||
;; the center and left/right on the sides so also not an exact mirror.
|
||||
(deftemplate defnavleftchords (name)
|
||||
(defchords $name $chord-timeout
|
||||
(t! nav-layer-chords)
|
||||
(t! global-chords)
|
||||
|
||||
(a) (macro end)
|
||||
(r) (macro up)
|
||||
(t) (macro home)
|
||||
(s) (macro pgup)
|
||||
(e) (macro rght)
|
||||
(y) (macro down)
|
||||
(i) (macro left)
|
||||
(o) (macro pgdn)
|
||||
)
|
||||
)
|
||||
|
||||
(deftemplate defnavrightchords (name)
|
||||
(defchords $name $chord-timeout
|
||||
(t! nav-layer-chords)
|
||||
(t! global-chords)
|
||||
|
||||
(a) (macro home)
|
||||
(r) (macro up)
|
||||
(t) (macro end)
|
||||
(s) (macro pgup)
|
||||
(e) (macro left)
|
||||
(y) (macro down)
|
||||
(i) (macro rght)
|
||||
(o) (macro pgdn)
|
||||
)
|
||||
)
|
||||
|
||||
;; Mouse movement keys are also arranged in a spatially logical layout like the
|
||||
;; nav keys, s so also not an exact mirror.
|
||||
(deftemplate defmseleftchords (name)
|
||||
(defchords $name $chord-timeout
|
||||
(t! mouse-layer-chords)
|
||||
(t! global-chords)
|
||||
|
||||
(a) mltp
|
||||
(r) @mmu
|
||||
(t) mrtp
|
||||
(s) @mwu
|
||||
(e) @mmr
|
||||
(y) @mmd
|
||||
(i) @mml
|
||||
(o) @mwd
|
||||
)
|
||||
)
|
||||
|
||||
(deftemplate defmserightchords (name)
|
||||
(defchords $name $chord-timeout
|
||||
(t! mouse-layer-chords)
|
||||
(t! global-chords)
|
||||
|
||||
(a) mltp
|
||||
(r) @mmu
|
||||
(t) mrtp
|
||||
(s) @mwu
|
||||
(e) @mml
|
||||
(y) @mmd
|
||||
(i) @mmr
|
||||
(o) @mwd
|
||||
)
|
||||
)
|
||||
|
||||
(deftemplate defcuschords (name)
|
||||
(defchords $name $chord-timeout
|
||||
(t! base-layer-chords)
|
||||
(t! global-chords)
|
||||
|
||||
(a) (macro mute)
|
||||
(r) (macro ins)
|
||||
(t) (macro volu)
|
||||
(e) rsft
|
||||
(y) (macro prnt)
|
||||
(i) (macro vold)
|
||||
)
|
||||
)
|
||||
|
||||
(t! defbasechords left-base-combos)
|
||||
(t! defbasechords right-base-combos)
|
||||
|
||||
(t! defnumchords left-num-combos)
|
||||
(t! defnumchords right-num-combos)
|
||||
|
||||
(t! defparleftchords left-par-combos)
|
||||
(t! defparrightchords right-par-combos)
|
||||
|
||||
(t! defsymchords left-sym-combos)
|
||||
(t! defsymchords right-sym-combos)
|
||||
|
||||
(t! defnavleftchords left-nav-combos)
|
||||
(t! defnavrightchords right-nav-combos)
|
||||
|
||||
(t! defmseleftchords left-mse-combos)
|
||||
(t! defmserightchords right-mse-combos)
|
||||
|
||||
(t! defcuschords left-cus-combos)
|
||||
(t! defcuschords right-cus-combos)
|
||||
Loading…
Add table
Add a link
Reference in a new issue