feat(kanata): Include dorvak-programmer layer
This commit is contained in:
parent
54bc3214f2
commit
b0576debca
3 changed files with 82 additions and 54 deletions
|
|
@ -1,54 +0,0 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.youthlic.programs.kanata;
|
||||
in
|
||||
{
|
||||
options = {
|
||||
youthlic.programs.kanata = {
|
||||
enable = lib.mkEnableOption "kanata";
|
||||
};
|
||||
};
|
||||
config = lib.mkIf cfg.enable {
|
||||
boot.kernelModules = [ "uinput" ];
|
||||
hardware.uinput.enable = true;
|
||||
services.kanata = {
|
||||
enable = true;
|
||||
package = pkgs.kanata-with-cmd;
|
||||
keyboards.default = {
|
||||
extraDefCfg = ''
|
||||
process-unmapped-keys no
|
||||
'';
|
||||
config =
|
||||
#scheme
|
||||
''
|
||||
#|
|
||||
Kanata
|
||||
|
||||
CapsLock tap to Esc
|
||||
CapsLock hold to Ctrl
|
||||
|#
|
||||
;; default keyboard layout
|
||||
(defsrc
|
||||
caps ;; type → esc, hold caps → ctrl
|
||||
esc ;; type esc → caps, hold esc → esc
|
||||
)
|
||||
|
||||
(deflayer default
|
||||
@cac
|
||||
@esc-behavior
|
||||
)
|
||||
|
||||
(defalias
|
||||
cac (tap-hold 190 190 esc lctrl) ;; hold CapsLock → Esc, press CapsLock → LCtrl
|
||||
esc-behavior (tap-hold 190 190 esc caps) ;; hold Esc → CapsLock, press Esc → Esc
|
||||
)
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
31
nixos/modules/programs/kanata/default.nix
Normal file
31
nixos/modules/programs/kanata/default.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.youthlic.programs.kanata;
|
||||
in
|
||||
{
|
||||
options = {
|
||||
youthlic.programs.kanata = {
|
||||
enable = lib.mkEnableOption "kanata";
|
||||
};
|
||||
};
|
||||
config = lib.mkIf cfg.enable {
|
||||
boot.kernelModules = [ "uinput" ];
|
||||
hardware.uinput.enable = true;
|
||||
services.kanata = {
|
||||
enable = true;
|
||||
package = pkgs.kanata-with-cmd;
|
||||
keyboards.default = {
|
||||
extraDefCfg = ''
|
||||
process-unmapped-keys no
|
||||
concurrent-tap-hold yes
|
||||
'';
|
||||
config = builtins.readFile ./kanata.lisp;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
51
nixos/modules/programs/kanata/kanata.lisp
Normal file
51
nixos/modules/programs/kanata/kanata.lisp
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
(defsrc
|
||||
esc f1 f2 f3
|
||||
grv 1 2 3 4 5 6 7 8 9 0 min eql
|
||||
q w e r t y u i o p lbrc rbrc bksl
|
||||
caps a s d f g h j k l scln apos
|
||||
lsft z x c v b n m comm Period Slash rsft)
|
||||
|
||||
(deflayer qwerty
|
||||
@esc-behavior @qf1 @df2 @qf3
|
||||
grv 1 2 3 4 5 6 7 8 9 0 min eql
|
||||
q w e r t y u i o p lbrc rbrc bksl
|
||||
@cac a s d f g h j k l scln apos
|
||||
lsft z x c v b n m comm Period Slash rsft)
|
||||
|
||||
(deflayer raw-qwerty
|
||||
esc @qf1 @df2 @qf3
|
||||
grv 1 2 3 4 5 6 7 8 9 0 min eql
|
||||
q w e r t y u i o p lbrc rbrc bksl
|
||||
caps a s d f g h j k l scln apos
|
||||
lsft z x c v b n m comm Period Slash rsft)
|
||||
|
||||
(deflayer dorvak-programmer
|
||||
@esc-behavior @qf1 @df2 @qf3
|
||||
@dv1-1 @dv1-2 @dv1-3 @dv1-4 @dv1-5 @dv1-6 @dv1-7 @dv1-8 @dv1-9 @dv1-10 @dv1-11 @dv1-12 @dv1-13
|
||||
scln comm Period p y f g c r l Slash @dv2-13 bksl
|
||||
@cac a o e u i d h t n s min
|
||||
lsft apos q j k x b m w v z rsft)
|
||||
|
||||
(defalias
|
||||
cac (tap-hold 190 190 esc lctrl)
|
||||
esc-behavior (tap-hold 190 190 esc caps)
|
||||
|
||||
qf1 (tap-dance 200 (f1 (layer-switch qwerty)))
|
||||
df2 (tap-dance 200 (f2 (layer-switch dorvak-programmer)))
|
||||
qf3 (tap-dance 200 (f3 (layer-switch raw-qwerty)))
|
||||
|
||||
dv1-1 (fork S-4 S-grv (lsft rsft))
|
||||
dv1-2 (fork S-7 S-5 (lsft rsft))
|
||||
dv1-3 (fork (un⇧ lbrc) (un⇧ 7) (lsft rsft))
|
||||
dv1-4 (fork S-lbrc (un⇧ 5) (lsft rsft))
|
||||
dv1-5 (fork S-rbrc (un⇧ 3) (lsft rsft))
|
||||
dv1-6 (fork S-9 (un⇧ 1) (lsft rsft))
|
||||
dv1-7 (fork eql (un⇧ 9) (lsft rsft))
|
||||
dv1-8 (fork S-8 (un⇧ 0) (lsft rsft))
|
||||
dv1-9 (fork S-0 (un⇧ 2) (lsft rsft))
|
||||
dv1-10 (fork S-eql (un⇧ 4) (lsft rsft))
|
||||
dv1-11 (fork (un⇧ rbrc) (un⇧ 6) (lsft rsft))
|
||||
dv1-12 (fork S-1 (un⇧ 8) (lsft rsft))
|
||||
dv1-13 (fork S-3 (un⇧ grv) (lsft rsft))
|
||||
|
||||
dv2-13 (fork S-2 S-6 (lsft rsft)))
|
||||
Loading…
Add table
Add a link
Reference in a new issue