Skip to content

Commit 6f66808

Browse files
committed
feat(warpd): rewrite config for v2.2.0 with Colemak nuei layout
Update warpd home-manager config to target atuan26/warpd v2.2.0: - Movement: nuei (left/down/up/right) for Colemak home row - Scroll: capitalised movement counterparts (M/J/T/R) - Grid: navigation mirrors movement keys; quadrant selection on q/w/a/r - Add v2.2.0 options: smart_hint, screen_chars, grid cut keys, indicator - Fix acceleration (1 → 700), add max_speed/decelerator_speed
1 parent a067a95 commit 6f66808

File tree

1 file changed

+61
-24
lines changed

1 file changed

+61
-24
lines changed

home/tools/keyboard/warpd.nix

Lines changed: 61 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -3,45 +3,82 @@
33
enable = true;
44
package = pkgs.customDarwin.warpd;
55
settings = {
6-
# Movement keys (Colemak home row)
7-
left = "h";
8-
down = ",";
9-
up = "e";
10-
right = ".";
6+
## Normal mode movement
7+
left = "n";
8+
down = "e";
9+
up = "u";
10+
right = "i";
1111

12-
# Speed control
12+
## Speed
1313
speed = 220;
14-
acceleration = 1;
14+
max_speed = 1600;
15+
acceleration = 700;
16+
decelerator_speed = 50;
1517

16-
# Cursor appearance
18+
## Scrolling (capitalised counterparts of the movement keys)
19+
scroll_down = "M";
20+
scroll_up = "J";
21+
scroll_left = "T";
22+
scroll_right = "R";
23+
24+
## Cursor appearance
1725
cursor_color = "#ff0000";
26+
cursor_size = 7;
27+
indicator = "topright";
28+
indicator_color = "#ff0000";
29+
indicator_size = 12;
30+
31+
## Mouse buttons (t=left, comma=middle, g=right)
32+
buttons = "t , g";
1833

19-
# Mouse buttons
20-
buttons = "l m y";
34+
## In-normal-mode actions (defaults kept unless they conflict)
35+
# drag = "v"; # toggle drag/visual mode
36+
# copy = "y";
37+
# copy_and_exit = "c";
38+
# paste = "p";
39+
# accelerator = "a";
40+
# decelerator = "d";
41+
hint = "x"; # activate hint (was f in old config; x is unambiguous)
42+
hint2 = "X"; # two-pass hint
43+
smart_hint = "f"; # smart/element-based hints
44+
grid = "g";
45+
screen = "s";
46+
history = ";";
2147

22-
# Grid configuration (2x2 grid)
48+
## Grid mode (2×2)
2349
grid_nr = 2;
2450
grid_nc = 2;
25-
# (reading order: top-left, top-right, bottom-left, bottom-right)
26-
grid_keys = "n e h ,";
2751

28-
# Hint configuration
52+
# Grid overlay navigation mirrors normal mode movement (grid mode is separate)
53+
grid_left = "n";
54+
grid_down = "e";
55+
grid_up = "u";
56+
grid_right = "i";
57+
grid_cut_left = "N";
58+
grid_cut_down = "E";
59+
grid_cut_up = "U";
60+
grid_cut_right = "I";
61+
62+
# Quadrant selection: physical QWAS cluster (Colemak: q/w/a/r) — avoids n/e/u/i
63+
# reading order: top-left, top-right, bottom-left, bottom-right
64+
grid_keys = "q w a r";
65+
66+
## Hint configuration (Colemak home-row biased character set)
2967
hint_chars = "arstneidhopgwyf";
30-
hint_bgcolor = "#000000"; # Black background
31-
hint_fgcolor = "#00ff00"; # Bright green foreground
68+
hint_bgcolor = "#000000";
69+
hint_fgcolor = "#00ff00";
70+
hint_size = 20;
3271

33-
# Two-shot hint mode
34-
# Must have at least hint2_grid_size^2 = 9 characters
72+
## Two-shot hint mode (≥ hint2_grid_size² = 9 chars required)
3573
hint2_chars = "arstneiodhpgwyfbvcxzqjklm";
3674
hint2_gap_size = 5;
75+
hint2_grid_size = 3;
3776

38-
# Mode switching from within normal mode
39-
hint = "f";
40-
hint2 = "F";
77+
## Screen selection (Colemak home row)
78+
screen_chars = "arstdhneio";
4179

42-
# Scrolling in normal mode
43-
scroll_down = "t";
44-
scroll_up = "p";
80+
## Smart hint mode
81+
smart_hint_mode = "alphabet";
4582
};
4683
};
4784
}

0 commit comments

Comments
 (0)