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: