summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--desktop/.config/kanata/kanata.kbd113
-rw-r--r--emacs/.config/emacs/init.el5
-rw-r--r--emacs/.config/emacs/lisp/kj-init.el6
3 files changed, 118 insertions, 6 deletions
diff --git a/desktop/.config/kanata/kanata.kbd b/desktop/.config/kanata/kanata.kbd
new file mode 100644
index 0000000..296f0df
--- /dev/null
+++ b/desktop/.config/kanata/kanata.kbd
@@ -0,0 +1,113 @@
+;; Kanata Configuration File for Graphite Anglemod Layout
+
+;; Add a default configuration section to define unmapped key behavior.
+(defcfg
+ process-unmapped-keys no ;; Ensure unmapped keys are passed to the OS unchanged.
+)
+
+(defvar
+ tap-time 200
+ hold-time 150
+
+ left-hand-keys (
+ q w e r t
+ g
+ z x c v b
+ )
+
+ right-hand-keys (
+ y u i o p
+ h
+ n m , . /
+ )
+)
+
+(deffakekeys
+ to-base (layer-switch graphite)
+)
+
+;; Define the source keys Kanata will intercept.
+(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
+)
+
+;; Default QWERTY Layout
+(deflayer qwerty
+ @grl 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
+)
+
+;; (deflayermap nomods
+;; a n
+;; s r
+;; d t
+;; f s
+;; j h
+;; k a
+;; l e
+;; ; i
+;; )
+
+(defalias
+ quote (fork ' S-- (lsft rsft)) ;; ' -> _
+ comma (fork , S-/ (lsft rsft)) ;; , -> ?
+ hyphen (fork - S-' (lsft rsft)) ;; - -> "
+ slash (fork / S-, (lsft rsft)) ;; / -> <
+
+ tap (multi
+ (layer-switch nomods)
+ (on-idle-fakekey to-base tap 20)
+ )
+
+ n (tap-hold-release-keys $tap-time $hold-time (multi n @tap) lmet $left-hand-keys)
+ r (tap-hold-release-keys $tap-time $hold-time (multi r @tap) lalt $left-hand-keys)
+ t (tap-hold-release-keys $tap-time $hold-time (multi t @tap) lctl $left-hand-keys)
+ s (tap-hold-release-keys $tap-time $hold-time (multi s @tap) lsft $left-hand-keys)
+ h (tap-hold-release-keys $tap-time $hold-time (multi h @tap) lsft $right-hand-keys)
+ a (tap-hold-release-keys $tap-time $hold-time (multi a @tap) lctl $right-hand-keys)
+ e (tap-hold-release-keys $tap-time $hold-time (multi e @tap) lalt $right-hand-keys)
+ i (tap-hold-release-keys $tap-time $hold-time (multi i @tap) lmet $right-hand-keys)
+
+
+ ;; Tap: backtick (grave), Hold: toggles 'layers' for layer switching.
+ grl (tap-hold 200 200 grv (layer-toggle layers))
+
+ ;; Layer-switch aliases
+ gar (layer-switch graphite)
+ qwr (layer-switch qwerty)
+
+ ;; Tap for Caps Lock, Hold for Ctrl
+ cap (tap-hold 200 200 caps lctl)
+)
+
+(deflayer graphite
+ @grl 1 2 3 4 5 6 7 8 9 0 [ ] bspc
+ tab b l d w z @quote f o u j ; = \
+ lctl @n @r @t @s g y @h @a @e @i @comma ret
+ lsft q x m c v k p . @hyphen @slash rsft
+ lctl lmet lalt spc ralt rmet rctl
+)
+(deflayer nomods
+ @grl 1 2 3 4 5 6 7 8 9 0 [ ] bspc
+ tab b l d w z @quote f o u j ; = \
+ lctl n r t s g y h a e i @comma ret
+ lsft q x m c v k p . @hyphen @slash rsft
+ lctl lmet lalt spc ralt rmet rctl
+)
+
+;; Keys 1 and 2 switch between QWERTY and Graphite
+;; The _ (underscore) indicates transparent behavior (passes through base layer).
+(deflayer layers
+ _ @qwr @gar _ _ _ _ _ _ _ lrld _ _ _
+ _ _ _ _ _ _ _ _ _ _ _ _ _ _
+ _ _ _ _ _ _ _ _ _ _ _ _ _
+ _ _ _ _ _ _ _ _ _ _ _ _
+ _ _ _ _ _ _ _
+)
diff --git a/emacs/.config/emacs/init.el b/emacs/.config/emacs/init.el
index b5efbed..2e52519 100644
--- a/emacs/.config/emacs/init.el
+++ b/emacs/.config/emacs/init.el
@@ -386,6 +386,11 @@
:config
(emojify-set-emoji-styles '(unicode)))
+;;;;; Fonts
+(use-package mixed-pitch
+ :hook
+ (org-mode . mixed-pitch-mode)
+ )
;;;;; Mode line
(use-package emacs
:ensure nil
diff --git a/emacs/.config/emacs/lisp/kj-init.el b/emacs/.config/emacs/lisp/kj-init.el
index 1cf70b0..5c92bf9 100644
--- a/emacs/.config/emacs/lisp/kj-init.el
+++ b/emacs/.config/emacs/lisp/kj-init.el
@@ -42,12 +42,6 @@
(completing-read "Repository: " repos)
(concat "ssh://dragon.orbekk.com:/storage/projects/"))))
-(use-package mixed-pitch
- :hook
- (text-mode . mixed-pitch-mode)
- (org-mode . mixed-pitch-mode)
- )
-
(when (string= (system-name) "fedora")
(setenv "SSH_AUTH_SOCK" (string-trim (shell-command-to-string "gpgconf --list-dirs agent-ssh-socket"))))