116 lines
8.0 KiB
Bash
116 lines
8.0 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
sudo apt-get update -qq
|
|
sudo apt-get install -y -qq kanata
|
|
|
|
# Kanata Configuration
|
|
# https://jtroo.github.io/config.html
|
|
|
|
# /dev/input/by-path/platform-i8042-serio-0-event-kbd
|
|
|
|
# The keyboard-layout-editor now has export to VIA functionality but you must
|
|
# add matrix properties before export.
|
|
# See /space/code_repositories/hardware/keyboards/zmk-related/dell_D830/Dell_latitude_D620_keyboard_matrix.ods.
|
|
# and /space/code_repositories/hardware/keyboards/zmk-related/dell_D830/Dell Latitude D630 keyboard DPN 0DR160.ods
|
|
#
|
|
# https://github.com/konpuku/vil2kanata features a vil2kanata converter.
|
|
# See /space/code_repositories/keymaps/vil2kanata/README_eng.md
|
|
# $ node vil2kanata.js my_keyboard.vil --output my_keyboard.kbd
|
|
|
|
# Dell D830 link to keyboard-layout-editor
|
|
# https://editor.keyboard-tools.xyz/#share=NobwRAhgrgLgFgewE5gFxgMYE8YFNcB2YANGAEYQYDWGCANsmmAMQCMurZnJYBEAtriYARXHToACYQA4AzAAYJ8gHIAFAKwB2aTwII8AZyYAVOLglVcWMgghIAJhIBmCKAUcBLAhPjn7YyWEJA1wkD1wDCQQnCToIAAcYBHiDAB0CYQA2VkUAWik5RQh3CQBZABYFeQA6HgwDI3QAegAqdNMvCRz5dIAZDwBzOBgJKvSAJVwBqDikCXL5HoJS3HsPKH4JdUX0gCF6R00dgl246gkATmOO726JAEkYCDoPDD7B4dHFh6eXt4JJtNZvNvo9nq90is1hstqDfhCTgcJEdFGC-nszlRLnDwf8Wk10ukAAIuAgwXJOSjmEDpCTOBBkikCDx0LCoCQAcnGCBsSQ5AG5afTGQYYFg6Lh2R54RhBd5heSAO64D4wdndOV0gxIDDsqBIOgACmGMBSqCaTVJMAM1QGoogMFe1Vo-CaBiaSB5+gQTQAbrIAExNADSADEAPIeADCBAAjgBRKAXAOhpCsUpQdSsACKSHjAC8AIL2XqK6qK6JOAMASnpSH4DsNHIrTirHOrcoAvoSCCSGeTKRhqUKrUz+Cy2ZzubyEAKR-3cqLxZKJNLcZqFbllar2VUN9rdRJ9UaTWaLVabXano6MM6EK73Z6Z37AyGIwArGMJpMptMZrPGO+hYAMoYJkUYGNm5aVjWdYNjATYtm2HbpN2BDEqOg7DvKmHMqy7Jcl6fIbqOS4SlKMokQu25DGqILyPuOp6gaxowKaBjmpa-aXvaN53g+HpET6-pBmG4ZUF+ibJqm6aZqwAAe9z3Pm9zQa2sEuPWjbNjB7Zdj2faMlhEg0jhC6UuO+FTkJc5mSKYrkRIehaXQVGMjRwzqosjGHserHsZxF62rxToum6gnPiJb7iZJP4yaU-ADAAaopymqUhGnIPBiG6ShBBoRh5lUiZ85GXhk6ETOtl0qRDkrs5DauaVSoqrRu7eUKB7MSebFnlxZI8deoX3uFT7ei+okRnQsXSX+-DAQAquoTi7LsGDlGpVa1pp2U6epemoQZuFDiVdkDuVBHTt61WbmR9VZc8bktTu9E+d1-l9UFV4OsNAljUkE3RfwM2-rJ5T8PJwabZlWkIXtyH6ehvYePw8TICMfkcqeHHntxtoIAgAwSgkHg2mF9QGAGAD8FkTgAvFdSSoGudDEIqtFEvIxAalze5cwsDFc9sgvECi-Jc1cDGsNz3nS3u0sC-y0vC0rouy8QksAGRrAY8RxFgdMGIqCQHUj1SWOKEBkGIXMSObVhxNbdDlMQdsW47YiZCZm601ZlXXfyEhoa0EgtN7uGWRVjOzoHnahwSSMeNUfBIJ6iovAQ2F0tnGe4LkZgveU8TyahYCdsQoBgPJaDSNU2SZKQWBoDUAakBgTDMAGZABhgAZCKQMAdxgw8jzwThoNLYCUmgwAu1z8-EAvS-EOUAC6pCKs31TSBcpBwFvmjl2AgArsj2Z9I+fgCA1CQ4DV6guQ1PIrCZIsr9v2-rAu2ATxMOkzDyBcVgGAnAXDHhAGe68wCb1QDUHee8D5HwADweAAHyqCQCMUCSACCIKaKg9IyCUHASwAYcYsZcGoJvt-cB6A-4AKAU4TIPBoGwN3mAfeMDqiH1IIQ5QMJehUAoSgghqCsGSAEUIqhP9aEEH-oA4BAZmFbzgewhBPDUGqGgCEIRIiUG7CQLgCAgi8EoKoXfGoz9ygXGsTY2x1jWDqAHjQsAdDkyaCcGQJRnCVEcJqNwsAhD7gEBCBgnRBBajEHANIsAXjWHwM4f4whAAJe8uBJGRKgcothviuFII0RAAY5gFrxEkevSuTd741CqO-Gpiwv7j1QK3VRCS8koPjAYDA6Tb5b2fsLWpb8v7RPPsMi+SM5EBncZ4jeWT4l+NaaGVgYSRnLIIIAPjIpHONidvbJaiAmoNDAGLp1Df6jJWT2cZkywEz2XjcxedyhaQJYds2ZuT1EoNDLIJZpzvk9kALWkGymBXNQMAR5MzmlzLeaGcoRzzHVF6f09+X8nk+N2YQ0M6gjnIp2S0yFmQjlDJ+YS1xEyPFAuALcildzWCgu8diiFez3maC+Wc0ZwAJCACziCQq8AUyIuaS0g09gVc2pdM2lLzEn7OkGEwhUZxjGCaL0KMwgYU9MyC-BFixZCaCcYCgVNCQWirieC15DLQwXExWCnJEr3k5AtWK411qFmLJMVQrF4r5msEOS6jJsLP5WLsQGrQAqJ6GueQ61pogJR4BVZU6or8A0BvKOUdQ0hQ0opxQy+M7gY2P0WAmuxSaU1prpSawhmjClSBwS6sp4AKkP2qNUjVdSdW8oASSqZU80D1P1VzbVXMAyr1aQAGulagwAL0BfIAD6awIGQXWM653xAXfO2duseUuNkU4YBwD7BksHW8gAhKOlBzrKEZMFcATI+6GWpACSY3RXqz1ROcX-EBb7256oga0gAxcez53rn0nOYB4kD7dWkABJj3QvvUjQANQTLqXau+I67X3bqcLu1pABSY9GKAPHN5U4dx0hp6fuBeoa9hCAB6x68V4YJSy859D7CMLJZS25sgKOoM1seplMGGM4NQbxp9+GN38boQGWQuBSWtJaMeqVfGiVI0IfJ4T9HFOMYk62IQrTDTHvNQpllhD9OqZfep0Z-9NDlADNJt51Zj3yGZYpwhTR8WbNI+S4gA7WmABQCY9vm8MXsceR1pABqY9dMjmBfudF5eHHRUBiPoAPg3AAoO2JgTejKBUF1lSUpFdwAXtkDForvaaWsGqOoPJEgMBxAaHTDkKc065w5Cg4wVtHMrOQVVmrBg6tUDIBYMguR+iZ1yMBJ4GDchZvsM1yL+qr2tOzOkhlAB1JbhD4xrdQeMTbLWdsAE1XMnLS3yjtF6G5seixx1pC12tOdQdBs9DL7i3Y66g3Dj3CHhhe4SwhtHhNnc42g77IzCGybo25qe+rgtvJAMe4As2v1vM7Me1eObqgBkcZDme0hSvo8xxwppipFGoDK-j4nk95LE-rRjo+gAC6jADWztqBCtY+BbjzQFW3lRgSJEXoCBqAI+BfNt5hYdvAR28qvDRASfzJ2wAcR20kw7MjjttsuaQaXrBWkAClgffMIae0xbzgx6-PoQx9RuGW9FN6Mwh-7-tQ+II4i7EtAeoDCXKfjhDci4PuEbwD6BWNO8B0SY9HJBez0BwAP2PcwXLlcL245p6QRLgBRHYkIQ4CcAPBOBgBHxxa8j4ADLCS3vPXNwHAAtHbAANHbUYdtJR27sHbyhleibM8Sy5rTSg257IQhz4PdWs8vcQYXAT0ikAyWp-jJ2yUN3O8V6L4-hHhLSxE-LjvndL4XoX0gVN0gJy96gsLQ-A-uZpQGLhnOwBp4z6I7Puf4-gGgaT1pUYYAGhjfW7oTa80Dw7nkEs2szA0hSrVUyHhHmHjJT3z2S6wgFqw5H4AaAkGQIMFyAWgIFeAQH8FyCjHvAbHcFyFkBmwC31ST1aULDoDzzwxoS5kyVQHUDxyPioRoXqTQCaQK0ByoJGDlyQEizQBZ0T1FTK2TwZQ-y-zwzvjKwAXzTsQbm-kALcX5RExZWAwuHfSD0pUX2lk0BpRqAuC-hyUMKPhZUS0AEQdnsQAXOp0hAAeMgZzyyrgnivxZzrUfjkPkMGVMxWWA2WkyBIxH2XmlgXgbj0NDUMJeRMNIHPkLFgAQHPkS0AAQduwsxNAeteQWQDwmxBxFtDvEZYDMgEDXddzC7RfXtbmfQ6oCI41KIvI75RLQAZB3z5bD0hAB86lSNjQyKyPsUxxn2+WAwgEpC3S0KXyvXCKMK3lqPPkAApiBIwAJB30hABeDcAFPdhnVeIAA
|
|
|
|
conf_print_kanata_kbd() {
|
|
cat <<EOF
|
|
(defcfg
|
|
;; Dell D830 keyboard device.
|
|
linux-dev /dev/input/by-path/platform-i8042-serio-0-event-kbd
|
|
|
|
)
|
|
|
|
(defsrc
|
|
grv 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
|
|
lctl lmet lalt spc ralt rmet rctl
|
|
)
|
|
|
|
|
|
(defsrc
|
|
;; vold volu mute gui kprt nlck pause ins home pgup
|
|
esc f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 del end pgdn
|
|
grv 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
|
|
lctl fn lmet lalt spc ralt rctl u
|
|
left down rght
|
|
)
|
|
|
|
(deflayer qwerty
|
|
grv _ _ _ _ _ _ _ _ _ _ _ _ _
|
|
_ _ @warrows _ _ _ _ _ _ _ _ _ _
|
|
lctrl @alctrl @slsft @dlalt @flmet _ _ @jrmet @kralt @lrsft @;rctrl _ _
|
|
_ _ _ _ _ _ _ _ _ _ _ _ _
|
|
_ _ _ @smartspace _ _ _
|
|
)
|
|
|
|
(deflayer arrows
|
|
_ _ _ _ _ _ _ _ _ _ _ _ _ _
|
|
_ _ _ _ _ _ _ _ _ _ _ _ _
|
|
_ _ _ _ @flmet _ left down up rght _ _ _
|
|
_ _ _ _ _ _ _ _ _ _ _ _ _
|
|
_ _ _ @smartspace _ _ _
|
|
)
|
|
|
|
(deflayer colemak
|
|
grv XX XX XX XX XX XX XX XX XX XX XX XX _
|
|
tab q w f p b j l u y ; [ ]
|
|
lctrl @alctrl @rlsft @slalt @tlmet g m @nrmet @eralt @irsft @orctrl ' ret
|
|
lsft XX z x c d v k h , . / rsft
|
|
XX XX XX @smartspace XX XX XX
|
|
)
|
|
|
|
(deflayer magic
|
|
_ @clmk @qwerty _ _ _ _ _ _ _ _ _ _ _
|
|
_ _ _ _ _ _ _ _ _ _ _ _ _
|
|
_ tab A-tab _ _ _ _ bspc esc _ ret _ _
|
|
_ _ _ _ _ _ _ _ _ _ _ _ _
|
|
_ _ _ _ _ _ _
|
|
)
|
|
|
|
(defalias
|
|
warrows (tap-hold 200 200 w (layer-toggle arrows))
|
|
|
|
alctrl (tap-hold 200 200 a lctrl)
|
|
slsft (tap-hold 200 200 s lsft)
|
|
dlalt (tap-hold 200 200 d lalt)
|
|
flmet (tap-hold 200 200 f lmet)
|
|
|
|
jrmet (tap-hold 200 200 j rmet)
|
|
kralt (tap-hold 200 200 k ralt)
|
|
lrsft (tap-hold 200 200 l rsft)
|
|
;rctrl (tap-hold 200 200 ; rctrl)
|
|
|
|
rlsft (tap-hold 200 200 r lsft)
|
|
slalt (tap-hold 200 200 s lalt)
|
|
tlmet (tap-hold 200 200 t lmet)
|
|
nrmet (tap-hold 200 200 n rmet)
|
|
eralt (tap-hold 200 200 e ralt)
|
|
irsft (tap-hold 200 200 i rsft)
|
|
orctrl (tap-hold 200 200 o rctrl)
|
|
clmk (layer-switch colemak)
|
|
qwerty (layer-switch qwerty)
|
|
|
|
smartspace (tap-dance 200 (
|
|
(tap-hold 300 300 spc (layer-toggle magic))
|
|
(tap-hold 300 300 (one-shot 300 lalt) spc)
|
|
a
|
|
))
|
|
|
|
)
|
|
EOF
|
|
}
|
|
conf_print_kanata_kbd | tee ${DEST}/.config/kanata/kanata.kbd
|