Added Numen phrases and vosk german
This commit is contained in:
parent
136a5554a7
commit
2f390cb877
18 changed files with 864 additions and 228 deletions
|
@ -28,15 +28,6 @@ in
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
# models = mkOption {
|
|
||||||
# type = types.uniq types.listOf types.package;
|
|
||||||
# default = [vosk-model-small-en-us];
|
|
||||||
# example = "[vosk-model-small-en-us]";
|
|
||||||
# description = ''
|
|
||||||
# List of vosk models to be loaded by numen. They can be referred to using the index, eg. model0 or model1.
|
|
||||||
# '';
|
|
||||||
# };
|
|
||||||
|
|
||||||
dotoolPkg = mkOption {
|
dotoolPkg = mkOption {
|
||||||
type = types.package;
|
type = types.package;
|
||||||
default = pkgs.kb-one.dotool;
|
default = pkgs.kb-one.dotool;
|
||||||
|
@ -49,12 +40,7 @@ in
|
||||||
|
|
||||||
phrases = mkOption {
|
phrases = mkOption {
|
||||||
type = types.listOf types.path;
|
type = types.listOf types.path;
|
||||||
default = [
|
default = [ ];
|
||||||
./phrases/character.phrases
|
|
||||||
./phrases/control.phrases
|
|
||||||
./phrases/environment.phrases
|
|
||||||
./phrases/voice.phrases
|
|
||||||
];
|
|
||||||
description = ''
|
description = ''
|
||||||
Phrases to be loaded by numen. If empty, the default phrases are used.
|
Phrases to be loaded by numen. If empty, the default phrases are used.
|
||||||
'';
|
'';
|
||||||
|
@ -70,7 +56,7 @@ in
|
||||||
|
|
||||||
dotoolXkbLayout = mkOption {
|
dotoolXkbLayout = mkOption {
|
||||||
type = types.singleLineStr;
|
type = types.singleLineStr;
|
||||||
default = "de";
|
default = "en";
|
||||||
description = ''
|
description = ''
|
||||||
The XKB keyboard layout that should be used by dotool.
|
The XKB keyboard layout that should be used by dotool.
|
||||||
'';
|
'';
|
||||||
|
@ -78,7 +64,6 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
|
||||||
# System Configuration
|
# System Configuration
|
||||||
environment.systemPackages = [
|
environment.systemPackages = [
|
||||||
cfg.numenPkg
|
cfg.numenPkg
|
||||||
|
|
|
@ -1,85 +0,0 @@
|
||||||
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
|
|
||||||
|
|
|
@ -1,36 +0,0 @@
|
||||||
# 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
|
|
|
@ -1,67 +0,0 @@
|
||||||
# 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:
|
|
||||||
|
|
58
packages/numen-phrases/default.nix
Normal file
58
packages/numen-phrases/default.nix
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
{
|
||||||
|
stdenv,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
pname = "numen-phrases";
|
||||||
|
version = "0.1.0";
|
||||||
|
|
||||||
|
src = ./phrases;
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
mkdir $out
|
||||||
|
mkdir $out/phrases
|
||||||
|
mkdir $out/phrases/en-active
|
||||||
|
mkdir $out/phrases/de-active
|
||||||
|
mkdir $out/phrases/en-inactive
|
||||||
|
mkdir $out/phrases/de-inactive
|
||||||
|
|
||||||
|
install -Dm644 en-active/* -t "$out/phrases/en-active"
|
||||||
|
install -Dm644 de-active/* -t "$out/phrases/de-active"
|
||||||
|
install -Dm644 en-inactive/* -t "$out/phrases/en-inactive"
|
||||||
|
install -Dm644 de-inactive/* -t "$out/phrases/de-inactive"
|
||||||
|
|
||||||
|
sed -i "s:/etc/numen/phrases:${placeholder "out"}/phrases:g" \
|
||||||
|
$out/phrases/en-active/* \
|
||||||
|
$out/phrases/de-active/* \
|
||||||
|
$out/phrases/en-inactive/* \
|
||||||
|
$out/phrases/de-inactive/*
|
||||||
|
sed -i "s:/etc/numen/scripts:${pkgs.kb-one.numen}/scripts:g" \
|
||||||
|
$out/phrases/en-active/* \
|
||||||
|
$out/phrases/de-active/* \
|
||||||
|
$out/phrases/en-inactive/* \
|
||||||
|
$out/phrases/de-inactive/*
|
||||||
|
sed -i "s:/etc/numen/bin:${pkgs.kb-one.numen}/bin:g" \
|
||||||
|
$out/phrases/en-active/* \
|
||||||
|
$out/phrases/de-active/* \
|
||||||
|
$out/phrases/en-inactive/* \
|
||||||
|
$out/phrases/de-inactive/*
|
||||||
|
sed -i "s:notify-send:${pkgs.libnotify}/bin/notify-send:g" \
|
||||||
|
$out/phrases/en-active/* \
|
||||||
|
$out/phrases/de-active/* \
|
||||||
|
$out/phrases/en-inactive/* \
|
||||||
|
$out/phrases/de-inactive/*
|
||||||
|
sed -i "s:pkill:${pkgs.procps}/bin/pkill:g" \
|
||||||
|
$out/phrases/en-active/* \
|
||||||
|
$out/phrases/de-active/* \
|
||||||
|
$out/phrases/en-inactive/* \
|
||||||
|
$out/phrases/de-inactive/*
|
||||||
|
sed -i "s:/usr/share/vosk-models/small-en-us:${pkgs.kb-one.vosk-model-small-en-us}/usr/share/vosk-models/small-en-us:g" \
|
||||||
|
$out/phrases/de-active/*
|
||||||
|
sed -i "s:/usr/share/vosk-models/small-de:${pkgs.kb-one.vosk-model-small-de}/usr/share/vosk-models/small-de:g" \
|
||||||
|
$out/phrases/en-active/*
|
||||||
|
|
||||||
|
|
||||||
|
'';
|
||||||
|
}
|
90
packages/numen-phrases/phrases/de-active/base.phrases
Normal file
90
packages/numen-phrases/phrases/de-active/base.phrases
Normal file
|
@ -0,0 +1,90 @@
|
||||||
|
|
||||||
|
# Letter
|
||||||
|
auto: press a
|
||||||
|
ball: press b
|
||||||
|
cello: press c
|
||||||
|
dach: press d
|
||||||
|
eis: press e
|
||||||
|
fisch: press f
|
||||||
|
glück: press g
|
||||||
|
haus: press h
|
||||||
|
insel: press i
|
||||||
|
jahr: press j
|
||||||
|
kuss: press k
|
||||||
|
licht: press l
|
||||||
|
mond: press m
|
||||||
|
nacht: press n
|
||||||
|
oma: press o
|
||||||
|
pferd: press p
|
||||||
|
quiz: press q
|
||||||
|
rad: press r
|
||||||
|
soll: press s
|
||||||
|
tisch: press t
|
||||||
|
um: press u
|
||||||
|
v: press v
|
||||||
|
wer: press w
|
||||||
|
mix: press x
|
||||||
|
yoga: press y
|
||||||
|
zug: press z
|
||||||
|
|
||||||
|
# Number
|
||||||
|
null: press 0
|
||||||
|
eins: press 1
|
||||||
|
zwei: press 2
|
||||||
|
drei: press 3
|
||||||
|
vier: press 4
|
||||||
|
fünf: press 5
|
||||||
|
sechs: press 6
|
||||||
|
sieb: press 7
|
||||||
|
acht: press 8
|
||||||
|
neun: press 9
|
||||||
|
|
||||||
|
# Symbol
|
||||||
|
schrei: press exclam
|
||||||
|
frag: press question
|
||||||
|
dollar: press dollar
|
||||||
|
## TODO € euro: press euro
|
||||||
|
mail: press at
|
||||||
|
und: press ampersand
|
||||||
|
sag: press quotedbl
|
||||||
|
ast: press apostrophe
|
||||||
|
zweig: press grave
|
||||||
|
hut: press asciicircum
|
||||||
|
## TODO ° grad: press
|
||||||
|
stop: press comma
|
||||||
|
steh: press period
|
||||||
|
halt: press semicolon
|
||||||
|
kommt: press colon
|
||||||
|
mit: press plus
|
||||||
|
ohne: press minus
|
||||||
|
stern: press asterisk
|
||||||
|
roh: press numbersign
|
||||||
|
teil: press percent
|
||||||
|
gleich: press equal
|
||||||
|
toll: press asciitilde
|
||||||
|
schwer: press slash
|
||||||
|
wert: press backslash
|
||||||
|
wand: press bar
|
||||||
|
flur: press underscore
|
||||||
|
auf: press parenleft
|
||||||
|
zu: press parenright
|
||||||
|
an: press bracketleft
|
||||||
|
aus: press bracketright
|
||||||
|
berg: press braceleft
|
||||||
|
tal: press braceright
|
||||||
|
klein: press less
|
||||||
|
groß: press greater
|
||||||
|
|
||||||
|
# Function Keys
|
||||||
|
funk eins: press F1
|
||||||
|
funk zwei: press F2
|
||||||
|
funk drei: press F3
|
||||||
|
funk vier: press F4
|
||||||
|
funk fünf: press F5
|
||||||
|
funk sechs: press F6
|
||||||
|
funk sieb: press F7
|
||||||
|
funk acht: press F8
|
||||||
|
funk neun: press F9
|
||||||
|
funk eins null: press F10
|
||||||
|
funk eins eins: press F11
|
||||||
|
funk eins zwei: press F12
|
51
packages/numen-phrases/phrases/de-active/extend.phrases
Normal file
51
packages/numen-phrases/phrases/de-active/extend.phrases
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
|
||||||
|
# -----------------
|
||||||
|
# Extend
|
||||||
|
# -----------------
|
||||||
|
|
||||||
|
leer: press space
|
||||||
|
ja: press Return
|
||||||
|
schieb: press Tab
|
||||||
|
geh: stick off \
|
||||||
|
press Escape
|
||||||
|
super: press Scroll_Lock
|
||||||
|
sonder: press Super_L
|
||||||
|
|
||||||
|
links: press Left
|
||||||
|
rechts: press Right
|
||||||
|
hoch: press Up
|
||||||
|
runter: press Down
|
||||||
|
lauf: press Left Left
|
||||||
|
renn: press Right Right
|
||||||
|
lange: press Left Left Left Left
|
||||||
|
runde: press Right Right Right Right
|
||||||
|
zieh: press ctrl+Left
|
||||||
|
streck: press ctrl+Right
|
||||||
|
|
||||||
|
himmel: press Prior
|
||||||
|
hölle: press Next
|
||||||
|
heim: press Home
|
||||||
|
ende: press End
|
||||||
|
|
||||||
|
# Delete
|
||||||
|
werf: press Delete
|
||||||
|
wirf: press Delete Delete
|
||||||
|
weg: press BackSpace
|
||||||
|
weit: press BackSpace BackSpace
|
||||||
|
fern: press BackSpace BackSpace BackSpace BackSpace
|
||||||
|
fremd: press ctrl+BackSpace
|
||||||
|
|
||||||
|
# Repeat
|
||||||
|
mehr: repeat 1
|
||||||
|
paar: repeat 2
|
||||||
|
oft: repeat 4
|
||||||
|
viel: repeat 8
|
||||||
|
ganz viel: repeat 12
|
||||||
|
|
||||||
|
# GUI Action
|
||||||
|
# TODO Cut
|
||||||
|
# TODO Copy
|
||||||
|
platz: stick off \
|
||||||
|
press XF86Paste
|
||||||
|
# TODO Save
|
||||||
|
|
88
packages/numen-phrases/phrases/de-active/function.phrases
Normal file
88
packages/numen-phrases/phrases/de-active/function.phrases
Normal file
|
@ -0,0 +1,88 @@
|
||||||
|
|
||||||
|
# -----------------
|
||||||
|
# Modifier & Modes
|
||||||
|
# -----------------
|
||||||
|
|
||||||
|
# Modifier
|
||||||
|
schau: mod shift
|
||||||
|
mein: mod ctrl
|
||||||
|
geil: mod alt
|
||||||
|
sau: mod super \
|
||||||
|
stick off
|
||||||
|
|
||||||
|
# Mode
|
||||||
|
laut: caps on
|
||||||
|
#<complete>: caps off
|
||||||
|
|
||||||
|
zusammen: run notify-send --expire-time=3000 --urgency=low --icon=🧩 "🧩 Sticky Mode" & \
|
||||||
|
stick off \
|
||||||
|
stick on
|
||||||
|
|
||||||
|
# Cancel
|
||||||
|
sauber: mod clear \
|
||||||
|
caps off \
|
||||||
|
stick off
|
||||||
|
# Cancel sentence
|
||||||
|
@cancel nein:
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------
|
||||||
|
# Desktop
|
||||||
|
# -----------------
|
||||||
|
|
||||||
|
# KDE Window
|
||||||
|
west: stick off \
|
||||||
|
press super+Left
|
||||||
|
ost: stick off \
|
||||||
|
press super+Right
|
||||||
|
nord: stick off \
|
||||||
|
press super+Up
|
||||||
|
süd: stick off \
|
||||||
|
press super+Down
|
||||||
|
schirm: stick off \
|
||||||
|
press super+Prior
|
||||||
|
#???: stick off \
|
||||||
|
# press super+Next
|
||||||
|
zerstören: stick off \
|
||||||
|
press alt+f4
|
||||||
|
|
||||||
|
# KDE Taskbar
|
||||||
|
#sau eins: press super+1
|
||||||
|
#sau zwei: press super+2
|
||||||
|
#sau drei: press super+3
|
||||||
|
|
||||||
|
# KDE Workspace
|
||||||
|
sicht: stick off \
|
||||||
|
press super+w
|
||||||
|
#mein funk eins: press ctrl+f1
|
||||||
|
#mein funk zwei: press ctrl+f2
|
||||||
|
#mein funk drei: press ctrl+f3
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------
|
||||||
|
# Switching
|
||||||
|
# -----------------
|
||||||
|
|
||||||
|
# Sleep https://lists.sr.ht/~geb/numen/%3C55fe1488feeb1cee2627d61b9b7e16a74ef5fca0.camel@dalibo.com%3E
|
||||||
|
schlaf gut: run echo load /etc/numen/phrases/de-inactive/hibernate.phrases | /etc/numen/bin/numenc & notify-send --expire-time=3000 --urgency=low --icon=💤 "💤 Numen geht schlafen..."
|
||||||
|
|
||||||
|
# Language
|
||||||
|
sprache: set LANGUAGE_WORD echo 1
|
||||||
|
englisch: run [ "LANGUAGE_WORD" ] && { sleep .3; NUMEN_MODEL=/usr/share/vosk-models/small-en-us /etc/numen/bin/numen /etc/numen/phrases/en-active/base.phrases /etc/numen/phrases/en-active/extend.phrases /etc/numen/phrases/en-active/function.phrases /etc/numen/phrases/en-active/transcribe.phrases; } & pkill numen & notify-send --expire-time=3000 --urgency=low --icon=🌍 "🌍 Numen wechselt zu Englisch..."
|
||||||
|
|
||||||
|
# Reset Language Module Detection
|
||||||
|
<complete>: caps off \
|
||||||
|
set LANGUAGE_WORD
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Activate Language Module
|
||||||
|
#sprache: set LANGUAGE_WORD echo 1
|
||||||
|
|
||||||
|
# Commands
|
||||||
|
#englisch: run [ "LANGUAGE_WORD" ] && { sleep .3; NUMEN_MODEL=/usr/share/vosk-models/small-en-us /etc/numen/bin/numen /etc/numen/phrases/en-active/voice.phrases /etc/numen/phrases/en-active/environment.phrases /etc/numen/phrases/en-active/control.phrases /etc/numen/phrases/en-active/character.phrases /etc/numen/phrases/en-active/language.phrases; } & pkill numen & notify-send -t 3000 -p -r ${NUMENMODE_NID:-0} -u low -i 🌍 "🌍 Switched to English" ||:
|
||||||
|
|
||||||
|
# Reset Language Module Detection
|
||||||
|
#<complete>: set LANGUAGE_WORD :
|
||||||
|
|
65
packages/numen-phrases/phrases/de-active/transcribe.phrases
Normal file
65
packages/numen-phrases/phrases/de-active/transcribe.phrases
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
|
||||||
|
# -----------------
|
||||||
|
# Transcribe
|
||||||
|
# -----------------
|
||||||
|
|
||||||
|
# Transcribe
|
||||||
|
@transcribe schreib: set numen_fmt echo normal \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
|
||||||
|
# Erase Transcription
|
||||||
|
tritt: eval /etc/numen/scripts/transcripts | sed 's/./ BackSpace/g; s/^/press/; q'
|
||||||
|
|
||||||
|
# Cursor to Start
|
||||||
|
start: eval /etc/numen/scripts/transcripts | sed 's/./ Left/g; s/^/press/; q'
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------
|
||||||
|
# Transcription Modes
|
||||||
|
# -----------------
|
||||||
|
|
||||||
|
# First letter uppercase
|
||||||
|
@transcribe satz: set numen_fmt echo sentence \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
|
||||||
|
# All Words Uppercase
|
||||||
|
@transcribe oben: set numen_fmt echo title \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
|
||||||
|
# with_snake_inbetween
|
||||||
|
@transcribe schlange: set numen_fmt echo snake \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
|
||||||
|
# with-dashes-inbetween
|
||||||
|
@transcribe strich: set numen_fmt echo dash \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
|
||||||
|
# with.dots.inbetween
|
||||||
|
@transcribe punkt: set numen_fmt echo dot \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
|
||||||
|
# as, list, items
|
||||||
|
@transcribe auf list: set numen_fmt echo list \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
|
||||||
|
# in/path/format
|
||||||
|
@transcribe pfad: set numen_fmt echo path \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
|
||||||
|
# allsmashedtogether
|
||||||
|
@transcribe eng: set numen_fmt echo smash \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
|
||||||
|
# inCamelCase
|
||||||
|
@transcribe kamel: set numen_fmt echo camel \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
|
||||||
|
# InPascalCase
|
||||||
|
@transcribe paste: set numen_fmt echo pascal \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
|
||||||
|
# ALL IN CAPS
|
||||||
|
# laut schreib
|
||||||
|
|
||||||
|
# Ignore this, vosk-model-small-de-0.15 can output hmm after a long silence.
|
||||||
|
hmm:
|
|
@ -0,0 +1,8 @@
|
||||||
|
|
||||||
|
schlaf gut: run notify-send --expire-time=3000 --urgency=low --icon=💤 "💤 Numen schläft schon"
|
||||||
|
|
||||||
|
wach: set WAKEUP_WORD_ONE echo 1
|
||||||
|
jetzt: eval [ "$WAKEUP_WORD_ONE" ] && echo set WAKEUP_WORD_TWO echo 1 ||:
|
||||||
|
auf: run [ "$WAKEUP_WORD_TWO" ] && echo load /etc/numen/phrases/de-active/base.phrases /etc/numen/phrases/de-active/extend.phrases /etc/numen/phrases/de-active/function.phrases /etc/numen/phrases/de-active/transcribe.phrases | /etc/numen/bin/numenc & notify-send --expire-time=3000 --urgency=low --icon=☀️ "☀️ Numen wacht auf..." ||:
|
||||||
|
<complete>: set WAKEUP_WORD_ONE : \
|
||||||
|
set WAKEUP_WORD_TWO :
|
|
@ -1,3 +1,5 @@
|
||||||
|
|
||||||
|
# Letter
|
||||||
air: press a
|
air: press a
|
||||||
bat: press b
|
bat: press b
|
||||||
cap: press c
|
cap: press c
|
||||||
|
@ -25,6 +27,7 @@ plex: press x
|
||||||
yank: press y
|
yank: press y
|
||||||
zip: press z
|
zip: press z
|
||||||
|
|
||||||
|
# Number
|
||||||
newt: press 0
|
newt: press 0
|
||||||
one: press 1
|
one: press 1
|
||||||
two: press 2
|
two: press 2
|
||||||
|
@ -36,36 +39,52 @@ sept: press 7
|
||||||
eight: press 8
|
eight: press 8
|
||||||
nine: press 9
|
nine: press 9
|
||||||
|
|
||||||
ask: press question
|
# Symbol
|
||||||
plus: press plus
|
|
||||||
mine: press minus
|
|
||||||
tide: press asciitilde
|
|
||||||
yell: press exclam
|
yell: press exclam
|
||||||
|
ask: press question
|
||||||
quid: press dollar
|
quid: press dollar
|
||||||
score: press underscore
|
## TODO € europe: press euro
|
||||||
clause: press colon
|
|
||||||
same: press semicolon
|
|
||||||
wax: press parenleft
|
|
||||||
wane: press parenright
|
|
||||||
curl: press braceleft
|
|
||||||
crimp: press braceright
|
|
||||||
bric: press bracketleft
|
|
||||||
brac: press bracketright
|
|
||||||
small: press less
|
|
||||||
big: press greater
|
|
||||||
star: press asterisk
|
|
||||||
hash: press numbersign
|
|
||||||
mood: press percent
|
|
||||||
blunt: press asciicircum
|
|
||||||
snail: press at
|
snail: press at
|
||||||
gain: press ampersand
|
gain: press ampersand
|
||||||
vert: press bar
|
|
||||||
spoke: press quotedbl
|
spoke: press quotedbl
|
||||||
mark: press apostrophe
|
mark: press apostrophe
|
||||||
tick: press grave
|
tick: press grave
|
||||||
slash: press slash
|
blunt: press asciicircum
|
||||||
slope: press backslash
|
## TODO ° degree: press
|
||||||
list: press comma
|
list: press comma
|
||||||
point: press period
|
point: press period
|
||||||
|
same: press semicolon
|
||||||
|
clause: press colon
|
||||||
|
plus: press plus
|
||||||
|
mine: press minus
|
||||||
|
star: press asterisk
|
||||||
|
hash: press numbersign
|
||||||
|
mood: press percent
|
||||||
match: press equal
|
match: press equal
|
||||||
|
tide: press asciitilde
|
||||||
|
slash: press slash
|
||||||
|
slope: press backslash
|
||||||
|
vert: press bar
|
||||||
|
score: press underscore
|
||||||
|
wax: press parenleft
|
||||||
|
wane: press parenright
|
||||||
|
bric: press bracketleft
|
||||||
|
brac: press bracketright
|
||||||
|
curl: press braceleft
|
||||||
|
crimp: press braceright
|
||||||
|
small: press less
|
||||||
|
big: press greater
|
||||||
|
|
||||||
|
# Function Keys
|
||||||
|
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
|
51
packages/numen-phrases/phrases/en-active/extend.phrases
Normal file
51
packages/numen-phrases/phrases/en-active/extend.phrases
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
|
||||||
|
# -----------------
|
||||||
|
# Extend
|
||||||
|
# -----------------
|
||||||
|
|
||||||
|
space: press space
|
||||||
|
yes: press Return
|
||||||
|
tab: press Tab
|
||||||
|
scape: stick off \
|
||||||
|
press Escape
|
||||||
|
smock: press Scroll_Lock
|
||||||
|
super: press Super_L
|
||||||
|
|
||||||
|
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
|
||||||
|
wrench: press ctrl+Left
|
||||||
|
stretch: press ctrl+Right
|
||||||
|
|
||||||
|
reel: press Prior
|
||||||
|
page: press Next
|
||||||
|
home: press Home
|
||||||
|
end: press End
|
||||||
|
|
||||||
|
# Delete
|
||||||
|
toss: press Delete
|
||||||
|
smite: press Delete Delete
|
||||||
|
hack: press BackSpace
|
||||||
|
mince: press BackSpace BackSpace
|
||||||
|
raze: press BackSpace BackSpace BackSpace BackSpace
|
||||||
|
swipe: press ctrl+BackSpace
|
||||||
|
|
||||||
|
# Repeat
|
||||||
|
more: repeat 1
|
||||||
|
bunch: repeat 2
|
||||||
|
handful: repeat 4
|
||||||
|
fistful: repeat 8
|
||||||
|
plateful: repeat 12
|
||||||
|
|
||||||
|
# GUI Action
|
||||||
|
# TODO Cut
|
||||||
|
# TODO Copy
|
||||||
|
gluten: stick off \
|
||||||
|
press XF86Paste
|
||||||
|
# TODO Save
|
||||||
|
|
75
packages/numen-phrases/phrases/en-active/function.phrases
Normal file
75
packages/numen-phrases/phrases/en-active/function.phrases
Normal file
|
@ -0,0 +1,75 @@
|
||||||
|
|
||||||
|
# -----------------
|
||||||
|
# Modifier & Modes
|
||||||
|
# -----------------
|
||||||
|
|
||||||
|
# Modifier
|
||||||
|
shy: mod shift
|
||||||
|
troy: mod ctrl
|
||||||
|
hype: mod alt
|
||||||
|
shock: mod super \
|
||||||
|
stick off
|
||||||
|
|
||||||
|
# Mode
|
||||||
|
shout: caps on
|
||||||
|
#<complete>: caps off
|
||||||
|
|
||||||
|
squeeze: run notify-send --expire-time=3000 --urgency=low --icon=🧩 "🧩 Sticky Mode" & \
|
||||||
|
stick off \
|
||||||
|
stick on
|
||||||
|
|
||||||
|
# Cancel
|
||||||
|
cleanse: mod clear \
|
||||||
|
caps off \
|
||||||
|
stick off
|
||||||
|
# Cancel sentence
|
||||||
|
@cancel no:
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------
|
||||||
|
# Desktop
|
||||||
|
# -----------------
|
||||||
|
|
||||||
|
# KDE Window
|
||||||
|
west: stick off \
|
||||||
|
press super+Left
|
||||||
|
east: stick off \
|
||||||
|
press super+Right
|
||||||
|
north: stick off \
|
||||||
|
press super+Up
|
||||||
|
south: stick off \
|
||||||
|
press super+Down
|
||||||
|
screen: stick off \
|
||||||
|
press super+Prior
|
||||||
|
#???: stick off \
|
||||||
|
# press super+Next
|
||||||
|
exterminate: stick off \
|
||||||
|
press alt+f4
|
||||||
|
|
||||||
|
# KDE Taskbar
|
||||||
|
#shock one: press super+1
|
||||||
|
#shock two: press super+2
|
||||||
|
#shock three: press super+3
|
||||||
|
|
||||||
|
# KDE Workspace
|
||||||
|
view: stick off \
|
||||||
|
press super+w
|
||||||
|
#troy frank one: press ctrl+f1
|
||||||
|
#troy frank two: press ctrl+f2
|
||||||
|
#troy frank three: press ctrl+f3
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------
|
||||||
|
# Switching
|
||||||
|
# -----------------
|
||||||
|
|
||||||
|
# Sleep https://lists.sr.ht/~geb/numen/%3C55fe1488feeb1cee2627d61b9b7e16a74ef5fca0.camel@dalibo.com%3E
|
||||||
|
hibernate: run echo load /etc/numen/phrases/en-inactive/hibernate.phrases | /etc/numen/bin/numenc & notify-send --expire-time=3000 --urgency=low --icon=💤 "💤 Numen goes to sleep..."
|
||||||
|
|
||||||
|
# Language
|
||||||
|
language: set LANGUAGE_WORD echo 1
|
||||||
|
german: run [ "LANGUAGE_WORD" ] && { sleep .3; NUMEN_MODEL=/usr/share/vosk-models/small-de /etc/numen/bin/numen /etc/numen/phrases/de-active/base.phrases /etc/numen/phrases/de-active/extend.phrases /etc/numen/phrases/de-active/function.phrases /etc/numen/phrases/de-active/transcribe.phrases; } & pkill numen & notify-send --expire-time=3000 --urgency=low --icon=🌍 "🌍 Numen switches to German..."
|
||||||
|
|
||||||
|
# Reset Language Module Detection
|
||||||
|
<complete>: caps off \
|
||||||
|
set LANGUAGE_WORD
|
65
packages/numen-phrases/phrases/en-active/transcribe.phrases
Normal file
65
packages/numen-phrases/phrases/en-active/transcribe.phrases
Normal file
|
@ -0,0 +1,65 @@
|
||||||
|
|
||||||
|
# -----------------
|
||||||
|
# Transcribe
|
||||||
|
# -----------------
|
||||||
|
|
||||||
|
# Transcribe
|
||||||
|
@transcribe scribe: set numen_fmt echo normal \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
|
||||||
|
# Erase Transcription
|
||||||
|
ditch: eval /etc/numen/scripts/transcripts | sed 's/./ BackSpace/g; s/^/press/; q'
|
||||||
|
|
||||||
|
# Cursor to Start
|
||||||
|
trudge: eval /etc/numen/scripts/transcripts | sed 's/./ Left/g; s/^/press/; q'
|
||||||
|
|
||||||
|
|
||||||
|
# -----------------
|
||||||
|
# Transcription Modes
|
||||||
|
# -----------------
|
||||||
|
|
||||||
|
# First letter uppercase
|
||||||
|
@transcribe scrub: set numen_fmt echo sentence \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
|
||||||
|
# All Words Uppercase
|
||||||
|
@transcribe tight scribe: set numen_fmt echo title \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
|
||||||
|
# with_snake_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
|
||||||
|
|
||||||
|
# as, list, items
|
||||||
|
@transcribe roh scribe: set numen_fmt echo list \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
|
||||||
|
# in/path/format
|
||||||
|
@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
|
||||||
|
|
||||||
|
# inCamelCase
|
||||||
|
@transcribe camel: set numen_fmt echo camel \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
|
||||||
|
# InPascalCase
|
||||||
|
@transcribe pascal: set numen_fmt echo pascal \
|
||||||
|
pen /etc/numen/scripts/tweak; /etc/numen/scripts/transcripts | head -n 1
|
||||||
|
|
||||||
|
# ALL IN CAPS
|
||||||
|
# shout scribe
|
||||||
|
|
||||||
|
# Ignore this, vosk-model-small-en-us-0.15 can output huh after a long silence.
|
||||||
|
huh:
|
|
@ -0,0 +1,9 @@
|
||||||
|
|
||||||
|
# Sleep
|
||||||
|
hibernate: run notify-send --expire-time=3000 --urgency=low --icon=💤 "💤 Numen is allready asleep"
|
||||||
|
|
||||||
|
wake: set WAKEUP_WORD_ONE echo 1
|
||||||
|
up: eval [ "$WAKEUP_WORD_ONE" ] && echo set WAKEUP_WORD_TWO echo 1 ||:
|
||||||
|
now: run [ "$WAKEUP_WORD_TWO" ] && echo load /etc/numen/phrases/en-active/base.phrases /etc/numen/phrases/en-active/extend.phrases /etc/numen/phrases/en-active/function.phrases /etc/numen/phrases/en-active/transcribe.phrases | /etc/numen/bin/numenc & notify-send --expire-time=3000 --urgency=low --icon=☀️ "☀️ Numen is waking up..." ||:
|
||||||
|
<complete>: set WAKEUP_WORD_ONE : \
|
||||||
|
set WAKEUP_WORD_TWO :
|
246
packages/numen-phrases/phrases/phrases.md
Normal file
246
packages/numen-phrases/phrases/phrases.md
Normal file
|
@ -0,0 +1,246 @@
|
||||||
|
# Phrases Documentation
|
||||||
|
|
||||||
|
## Base
|
||||||
|
|
||||||
|
### Letter
|
||||||
|
|
||||||
|
| Letter | Phrase en | Phrase de |
|
||||||
|
| ------ | --------- | --------- |
|
||||||
|
| a | air | auto |
|
||||||
|
| b | bat | ball |
|
||||||
|
| c | cap | cello |
|
||||||
|
| d | drum | dach |
|
||||||
|
| e | each | eis |
|
||||||
|
| f | fig | fisch |
|
||||||
|
| g | gust | glück |
|
||||||
|
| h | hoof | haus |
|
||||||
|
| i | ice | insel |
|
||||||
|
| j | jive | jahr |
|
||||||
|
| k | kid | kuss |
|
||||||
|
| l | link | licht |
|
||||||
|
| m | made | mond |
|
||||||
|
| n | nerd | nacht |
|
||||||
|
| o | odd | oma |
|
||||||
|
| p | pit | pferd |
|
||||||
|
| q | quench | quiz |
|
||||||
|
| r | red | rad |
|
||||||
|
| s | sun | soll |
|
||||||
|
| t | trap | tisch |
|
||||||
|
| u | urge | um |
|
||||||
|
| v | void | v |
|
||||||
|
| w | whiz | wald |
|
||||||
|
| x | plex | mix |
|
||||||
|
| y | yank | yoga |
|
||||||
|
| z | zip | zug |
|
||||||
|
| ä | | |
|
||||||
|
| ö | | |
|
||||||
|
| ü | | |
|
||||||
|
| ß | | |
|
||||||
|
|
||||||
|
### Number
|
||||||
|
|
||||||
|
| Number | Phrase en | Phrase de |
|
||||||
|
| ------ | --------- | --------- |
|
||||||
|
| 0 | newt | null |
|
||||||
|
| 1 | one | eins |
|
||||||
|
| 2 | two | zwei |
|
||||||
|
| 3 | three | drei |
|
||||||
|
| 4 | four | vier |
|
||||||
|
| 5 | five | fünf |
|
||||||
|
| 6 | six | sechs |
|
||||||
|
| 7 | sept | sieb |
|
||||||
|
| 8 | eight | acht |
|
||||||
|
| 9 | nine | neun |
|
||||||
|
|
||||||
|
### Symbol
|
||||||
|
|
||||||
|
| Symbol | Phrase en | Phrase de |
|
||||||
|
| ------ | --------- | --------- |
|
||||||
|
| ! | yell | schrei |
|
||||||
|
| ? | ask | frag |
|
||||||
|
| $ | quid | dollar |
|
||||||
|
| € todo | europe | euro |
|
||||||
|
| @ | snail | mail |
|
||||||
|
| & | gain | und |
|
||||||
|
| " | spoke | sag |
|
||||||
|
| ' | mark | ast |
|
||||||
|
| ` | tick | zweig |
|
||||||
|
| ^ | blunt | hut |
|
||||||
|
| ° todo | degree | grad |
|
||||||
|
| , | list | stop |
|
||||||
|
| . | point | steh |
|
||||||
|
| ; | same | halt |
|
||||||
|
| : | clause | kommt |
|
||||||
|
| + | plus | mit |
|
||||||
|
| - | mine | ohne |
|
||||||
|
| * | star | stern |
|
||||||
|
| # | hash | roh |
|
||||||
|
| % | mood | teil |
|
||||||
|
| = | match | gleich |
|
||||||
|
| ~ | tide | toll |
|
||||||
|
| / | slash | schwer |
|
||||||
|
| \ | slope | wert |
|
||||||
|
| \| | vert | wand |
|
||||||
|
| _ | score | flur |
|
||||||
|
| ( | wax | auf |
|
||||||
|
| ) | wane | zu |
|
||||||
|
| [ | bric | an |
|
||||||
|
| ] | brac | aus |
|
||||||
|
| { | curl | berg |
|
||||||
|
| } | crip | tal |
|
||||||
|
| < | small | klein |
|
||||||
|
| > | big | groß |
|
||||||
|
|
||||||
|
### Function Keys
|
||||||
|
|
||||||
|
| Key | Phrase en | Phrase de |
|
||||||
|
| ---- | -------------- | -------------- |
|
||||||
|
| F1 | frank one | funk eins |
|
||||||
|
| F2 | frank two | funk zwei |
|
||||||
|
| F3 | frank three | funk drei |
|
||||||
|
| F4 | frank four | funk vier |
|
||||||
|
| F5 | frank five | funk fünf |
|
||||||
|
| F6 | frank six | funk sechs |
|
||||||
|
| F7 | frank sept | funk sieb |
|
||||||
|
| F8 | frank eight | funk acht |
|
||||||
|
| F9 | frank nine | funk neun |
|
||||||
|
| F10 | frank one newt | funk eins null |
|
||||||
|
| F11 | frank one one | funk eins eins |
|
||||||
|
| F12 | frank one two | funk eins zwei |
|
||||||
|
|
||||||
|
|
||||||
|
## Extend
|
||||||
|
|
||||||
|
| Extend | Phrase en | Phrase de |
|
||||||
|
| ------------ | --------- | --------- |
|
||||||
|
| Space | space | leer |
|
||||||
|
| Enter | yes | ja |
|
||||||
|
| Tab | tab | schieb |
|
||||||
|
| Esc | scape | geh |
|
||||||
|
| Super Key | super | super |
|
||||||
|
| Compose | smock | sonder |
|
||||||
|
| | | |
|
||||||
|
| Left | left | links |
|
||||||
|
| Right | right | rechts |
|
||||||
|
| Up | up | hoch |
|
||||||
|
| Down | down | runter |
|
||||||
|
| 2x Left | lunge | lauf |
|
||||||
|
| 2x Right | rush | renn |
|
||||||
|
| 4x Left | leave | lange |
|
||||||
|
| 4x Right | charge | runde |
|
||||||
|
| Ctrl + Left | wrench | zieh |
|
||||||
|
| Ctrl + Right | stretch | streck |
|
||||||
|
| | | |
|
||||||
|
| Page Up | reel | himmel |
|
||||||
|
| Page Down | page | hölle |
|
||||||
|
| Home | home | heim |
|
||||||
|
| End | end | ende |
|
||||||
|
|
||||||
|
| Delete | Phrase en | Phrase de |
|
||||||
|
| ---------------- | --------- | --------- |
|
||||||
|
| Delete | toss | werf |
|
||||||
|
| Delete x 2 | smite | wirf |
|
||||||
|
| Backspace | hack | weg |
|
||||||
|
| Backspace x 2 | mince | weit |
|
||||||
|
| Backspace x 4 | raze | fern |
|
||||||
|
| Ctrl + Backspace | swipe | fremd |
|
||||||
|
|
||||||
|
| Repeat | Phrase en | Phrase de |
|
||||||
|
| ------ | --------- | --------- |
|
||||||
|
| + 1x | more | mehr |
|
||||||
|
| + 2x | bunch | paar |
|
||||||
|
| + 4x | handful | oft |
|
||||||
|
| + 8x | fistful | viel |
|
||||||
|
| + 12x | plateful | ganz viel |
|
||||||
|
|
||||||
|
| GUI Action | Phrase en | Phrase de |
|
||||||
|
| ---------- | --------- | --------- |
|
||||||
|
| Cut | | |
|
||||||
|
| Copy | | |
|
||||||
|
| Paste | gluten | platz |
|
||||||
|
| Save | | |
|
||||||
|
|
||||||
|
|
||||||
|
## Function
|
||||||
|
|
||||||
|
### Modifier & Modes
|
||||||
|
|
||||||
|
Works until end of Scentence or Cancel Keyword
|
||||||
|
|
||||||
|
| Modifier | Phrase en | Phrase de |
|
||||||
|
| -------- | --------- | --------- |
|
||||||
|
| Shift | shy | schau |
|
||||||
|
| Control | troy | mein |
|
||||||
|
| Alt | hype | geil |
|
||||||
|
| Super | shock | sau |
|
||||||
|
|
||||||
|
| Mode | Phrase en | Phrase de |
|
||||||
|
| --------- | --------- | --------- |
|
||||||
|
| Capslock | shout | laut |
|
||||||
|
| Hold Keys | squeeze | zusammen |
|
||||||
|
|
||||||
|
| Cancel | Phrase en | Phrase de |
|
||||||
|
| --------------- | --------- | --------- |
|
||||||
|
| Cancel | cleanse | sauber |
|
||||||
|
| Cancel sentence | no | nein |
|
||||||
|
|
||||||
|
### Desktop
|
||||||
|
|
||||||
|
| KDE Window | Phrase en | Phrase de |
|
||||||
|
| ----------- | ---------------- | --------- |
|
||||||
|
| Tile Left | west | west |
|
||||||
|
| Tile Right | east | ost |
|
||||||
|
| Tile Up | north | nord |
|
||||||
|
| Tile Down | south | süd |
|
||||||
|
| Maximize | screen | schirm |
|
||||||
|
| Minimize | | |
|
||||||
|
| Close | exterminate | zerstören |
|
||||||
|
|
||||||
|
| KDE Taskbar | Phrase en | Phrase de |
|
||||||
|
| ----------- | ---------------- | --------- |
|
||||||
|
| Window 1 | shock one | sau eins |
|
||||||
|
| Window 2 | shock two | sau zwei |
|
||||||
|
| Window 2 | shock three | sau drei |
|
||||||
|
|
||||||
|
| KDE Workspace | Phrase en | Phrase de |
|
||||||
|
| ------------- | ---------------- | -------------- |
|
||||||
|
| Overview | view | sicht |
|
||||||
|
| Workspace 1 | troy frank one | mein funk eins |
|
||||||
|
| Workspace 2 | troy frank two | mein funk zwei |
|
||||||
|
| Workspace 3 | troy frank three | mein funk drei |
|
||||||
|
|
||||||
|
### Switching
|
||||||
|
|
||||||
|
| Sleep | Phrase en | Phrase de |
|
||||||
|
| --------- | ----------- | -------------- |
|
||||||
|
| Numen off | hibernate | schlaf gut |
|
||||||
|
| Numen on | wake up now | wach jetzt auf |
|
||||||
|
|
||||||
|
| Langauge | Phrase en | Phrase de |
|
||||||
|
| --------- | --------------- | ---------------- |
|
||||||
|
| german | language german | |
|
||||||
|
| english | | sprache englisch |
|
||||||
|
|
||||||
|
|
||||||
|
## Transcribe
|
||||||
|
|
||||||
|
| Transcribe | Phrase en | Phrase de |
|
||||||
|
| ------------------- | --------- | --------- |
|
||||||
|
| Transcribe | scribe | schreib |
|
||||||
|
| Erase Transcription | ditch | tritt |
|
||||||
|
| Cursor to Start | trudge | start |
|
||||||
|
|
||||||
|
| Transcription Modes | Phrase en | Phrase de |
|
||||||
|
| ---------------------- | ------------ | -------------- |
|
||||||
|
| First letter uppercase | scrub | satz |
|
||||||
|
| All Words Uppercase | tight scribe | oben |
|
||||||
|
| with_snake_inbetween | snake | schlange |
|
||||||
|
| with-dashes-inbetween | dash | strich |
|
||||||
|
| with.dots.inbetween | dot scribe | punkt |
|
||||||
|
| as, list, items | roh scribe | auf list |
|
||||||
|
| in/path/format | path scribe | pfad |
|
||||||
|
| allsmashedtogether | kludge | eng |
|
||||||
|
| inCamelCase | camel | kamel |
|
||||||
|
| InPascalCase | pascal | paste |
|
||||||
|
| ALL IN CAPS | shout scribe | laut schreib |
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ stdenv, fetchurl, unzip }:
|
{ stdenv, fetchurl, unzip }:
|
||||||
# Source: https://github.com/Lykos153/numen-nix
|
# Source: https://github.com/Lykos153/numen-nix
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "vosk-model-small-en-us";
|
name = "vosk-model-small-de";
|
||||||
version = "0.15";
|
version = "0.15";
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "https://alphacephei.com/vosk/models/vosk-model-small-de-0.15.zip";
|
url = "https://alphacephei.com/vosk/models/vosk-model-small-de-0.15.zip";
|
||||||
|
@ -15,3 +15,4 @@ stdenv.mkDerivation {
|
||||||
cp -r . $out/usr/share/vosk-models/small-de
|
cp -r . $out/usr/share/vosk-models/small-de
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -126,6 +126,16 @@
|
||||||
# Tailscale
|
# Tailscale
|
||||||
services.tailscale.enable = true;
|
services.tailscale.enable = true;
|
||||||
|
|
||||||
|
services.numen = {
|
||||||
|
enable = true;
|
||||||
|
autoStart = true;
|
||||||
|
phrases = [
|
||||||
|
"${pkgs.kb-one.numen-phrases}/phrases/en-inactive/hibernate.phrases"
|
||||||
|
];
|
||||||
|
dotoolXkbLayout = "de";
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
# Packages installed in system profile. Search Packages: $ nix search wget
|
# Packages installed in system profile. Search Packages: $ nix search wget
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
vim
|
vim
|
||||||
|
@ -137,8 +147,11 @@
|
||||||
python3
|
python3
|
||||||
sops
|
sops
|
||||||
kb-one.numen
|
kb-one.numen
|
||||||
|
kb-one.numen-phrases
|
||||||
|
libnotify
|
||||||
kb-one.dotool
|
kb-one.dotool
|
||||||
kb-one.vosk-model-small-en-us
|
kb-one.vosk-model-small-en-us
|
||||||
|
kb-one.vosk-model-small-de
|
||||||
];
|
];
|
||||||
|
|
||||||
system.stateVersion = "24.11"; # NEVER Change this!
|
system.stateVersion = "24.11"; # NEVER Change this!
|
||||||
|
|
Loading…
Add table
Reference in a new issue