dotfiles.git

commit 687c9e5b1857d0147344bb3e9f562253ee6402c0

Author: Adam Evyčędo <git@apiote.xyz>

numen

 .config/numen/phrases/character.phrases | 70 ++++++++++++++++++++
 .config/numen/phrases/control.phrases | 84 +++++++++++++++++++++++++
 .config/numen/phrases/environment.phrases | 36 ++++++++++
 .config/numen/phrases/mouse.phrases | 17 +++++
 .config/numen/phrases/voice.phrases | 66 +++++++++++++++++++


diff --git a/.config/numen/phrases/character.phrases b/.config/numen/phrases/character.phrases
new file mode 100644
index 0000000000000000000000000000000000000000..0044640c7e44b57e9d1db6eb3a2f55e099f1b956
--- /dev/null
+++ b/.config/numen/phrases/character.phrases
@@ -0,0 +1,70 @@
+alpha: press a
+bravo: press b
+charlie: press c
+delta: press d
+echo: press e
+foxtrot: press f
+golf: press g
+hotel: press h
+india: press i
+juliet: press j
+kali: press k
+lima: press l
+mike: press m
+november: press n
+oscar: press o
+papa: press p
+quebec: press q
+romeo: press r
+sierra: press s
+tango: press t
+uniform: press u
+victor: press v
+whiskey: press w
+proxy: press x
+yankee: press y
+zulu: press z
+
+newt: press 0
+one: press 1
+two: press 2
+three: press 3
+four: press 4
+five: press 5
+six: press 6
+sept: press 7
+eight: press 8
+nine: press 9
+
+ask: press question
+plus: press plus
+mine: press minus
+tide: press asciitilde
+bang: press exclam
+quid: press dollar
+floor: press underscore
+clause: press colon
+same: press semicolon
+sad: press parenleft
+happy: press parenright
+mustache: press braceleft
+horn: press braceright
+box: press bracketleft
+robot: press bracketright
+small: press less
+big: press greater
+star: press asterisk
+hash: press numbersign
+mood: press percent
+sweet: press asciicircum
+monkey: press at
+gain: press ampersand
+pipe: press bar
+spoke: press quotedbl
+mark: press apostrophe
+tick: press grave
+slash: press slash
+slope: press backslash
+list: press comma
+point: press period
+match: press equal




diff --git a/.config/numen/phrases/control.phrases b/.config/numen/phrases/control.phrases
new file mode 100644
index 0000000000000000000000000000000000000000..51d41ea26a76f19d60e7756c117d7856fb5ba85e
--- /dev/null
+++ b/.config/numen/phrases/control.phrases
@@ -0,0 +1,84 @@
+space: press space
+yes: press Return
+tab: press Tab
+scape: stick off \
+	press Escape
+
+# Enable a modifier for the next press
+# (The Super modifier is also known as the "Windows key")
+shy: mod shift
+troy: mod ctrl
+hype: mod alt
+shock: mod super \
+	stick off
+# Clear modifiers
+cleanse: mod clear \
+	caps off \
+	stick off
+
+# Enable Caps Lock until the end of the sentence or you say "cleanse"
+shout: caps on
+<complete>: caps off
+
+# Start holding down each pressed key, and stop by saying "cleanse"
+squeeze: run notify-send STICKING & \
+	stick off \
+	stick on
+
+hack: press BackSpace
+mince: press BackSpace BackSpace
+toss: press Delete
+smite: press Delete Delete
+raze: press BackSpace BackSpace BackSpace BackSpace
+# Delete a word (depending on the program)
+swipe: press ctrl+BackSpace
+
+left: press Left
+right: press Right
+up: press Up
+down: press Down
+lunge: press Left Left
+rush: press Right Right
+leave: press Left Left Left Left
+charge: press Right Right Right Right
+
+# I use these to navigate words and to complete bits of shell autosuggestions
+stretch: press ctrl+Right
+wrench: press ctrl+Left
+
+# PageDown, PageUp, Home, End
+page: press Next
+reel: press Prior
+home: press Home
+end: press End
+
+# Paste the clipboard (depending on the program)
+gluten: stick off \
+	press XF86Paste
+
+# Repeat the previous press etc.
+more: repeat 1
+bunch: repeat 2
+handful: repeat 4
+fistful: repeat 8
+plateful: repeat 12
+
+frank one: press F1
+frank two: press F2
+frank three: press F3
+frank four: press F4
+frank five: press F5
+frank six: press F6
+frank sept: press F7
+frank eight: press F8
+frank nine: press F9
+frank one newt: press F10
+frank one one: press F11
+frank one two: press F12
+
+# This saves your changes in vi-style programs
+save: caps off \
+	press Escape colon w Return
+# This cycles round splits in Vim
+switch: caps off \
+	press Escape ctrl+w w




diff --git a/.config/numen/phrases/environment.phrases b/.config/numen/phrases/environment.phrases
new file mode 100644
index 0000000000000000000000000000000000000000..53f563ee71ed2768da2711893f05876b01e31007
--- /dev/null
+++ b/.config/numen/phrases/environment.phrases
@@ -0,0 +1,36 @@
+# I use these for managing application windows but they just simulate keys,
+# so you'll need to configure your desktop environment, or you can use my
+# preconfigured desktop environment: https://git.sr.ht/~geb/tiles
+
+# Navigate to the window in the given direction
+west: stick off \
+	press super+Left
+east: stick off \
+	press super+Right
+north: stick off \
+	press super+Up
+south: stick off \
+	press super+Down
+
+# Cycle round the windows
+cycle: stick off \
+	press super+c
+recycle: stick off \
+	press super+C
+
+# Close window
+exterminate: stick off \
+	press super+q
+
+# Toggle fullscreen
+screen: stick off \
+	press super+f
+
+
+
+# These two are just for --gadget mode.
+
+# Switch to controlling the gadget
+@gadget shock gadget: handler uinput
+# Switch to controlling the host machine
+@gadget shock host: handler gadget




diff --git a/.config/numen/phrases/mouse.phrases b/.config/numen/phrases/mouse.phrases
new file mode 100644
index 0000000000000000000000000000000000000000..f4bbab82db9bed00740190a2879d865ade123390
--- /dev/null
+++ b/.config/numen/phrases/mouse.phrases
@@ -0,0 +1,17 @@
+# I use keyboard-focused programs so I rarely need to click anything, but
+# in a pinch (maybe to click a bad element on a webpage) I use coord[1] which
+# lets you specify a point to click, and is bound to Super+p in Tiles[2].
+# [1] https://git.sr.ht/~geb/coord
+# [2] https://git.sr.ht/~geb/tiles
+
+# Click
+mouse: click left
+
+# Center the cursor
+center: mouseto 0 0 \
+	mouseto 0.5 0.5
+
+# Scroll
+# (I very occasionally use these if "page"/"reel" and "up"/"down" don't work.)
+scroll up: wheel 5
+scroll down: wheel -5




diff --git a/.config/numen/phrases/voice.phrases b/.config/numen/phrases/voice.phrases
new file mode 100644
index 0000000000000000000000000000000000000000..d0d2558181639bdd71fb1a0278f3de558e55ecfa
--- /dev/null
+++ b/.config/numen/phrases/voice.phrases
@@ -0,0 +1,66 @@
+# Cancel sentence
+# For example, "four down no five down" would just do "five down".
+@cancel no:
+
+# Transcribe a sentence
+# For example, "scribe please type this".
+@transcribe scribe: set numen_fmt echo normal \
+	pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
+
+# Transcribe a sentence formatted...
+
+# With the first letter uppercase
+@transcribe scrub: set numen_fmt echo sentence \
+	pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
+# With Each First Letter Uppercase
+@transcribe tight scribe: set numen_fmt echo title \
+	pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
+# with_underscrores_inbetween
+@transcribe snake: set numen_fmt echo snake \
+	pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
+# with-dashes-inbetween
+@transcribe dash: set numen_fmt echo dash \
+	pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
+# with.dots.inbetween
+@transcribe dot scribe: set numen_fmt echo dot \
+	pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
+# with, commas, inbetween
+@transcribe roh scribe: set numen_fmt echo list \
+	pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
+# with/slashes/inbetween
+@transcribe path scribe: set numen_fmt echo path \
+	pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
+# allsmashedtogether
+@transcribe kludge: set numen_fmt echo smash \
+	pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
+# camelCase
+@transcribe camel: set numen_fmt echo camel \
+	pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
+# PascalCase
+@transcribe pascal: set numen_fmt echo pascal \
+	pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
+# dot.camelCase
+@transcribe dot camel: set numen_fmt echo dotcamel \
+	pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
+# dot.PascalCase
+@transcribe dot pascal: set numen_fmt echo dotpascal \
+	pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
+# (You can also do "shout scribe" etc.)
+
+# Erase the transcription
+ditch: eval /etc/numen/scripts/transcripts | sed 's/./ BackSpace/g; s/^/press/; q'
+
+# Go to the start of the transcription
+trudge: eval /etc/numen/scripts/transcripts | sed 's/./ Left/g; s/^/press/; q'
+
+# Menus to type or choose another transcription result
+# They use the dmenu command (only works in X11) or the command specified
+# by $NUMEN_DMENU or $DMENU (you could use wmenu if you're on Wayland).
+transcripts: run /etc/numen/scripts/menu | numenc & \
+	run sleep 0.1
+change: run /etc/numen/scripts/menu change | numenc & \
+	run sleep 0.1
+
+
+# Ignore this, vosk-model-small-en-us-0.15 can output huh after a long silence.
+huh: