forked from lexjacobs/talon_user
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathspeech_toggle.py
More file actions
32 lines (26 loc) · 933 Bytes
/
speech_toggle.py
File metadata and controls
32 lines (26 loc) · 933 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
from talon.api import lib
from talon.voice import Context, ContextGroup, talon
from talon.engine import engine
from talon import app
def set_enabled(enable):
if enable:
talon.enable()
app.icon_color(0, 0.7, 0, 1)
else:
talon.disable()
app.icon_color(1, 0, 0, 1)
lib.menu_check(b'!Enable Speech Recognition', enable)
def on_menu(item):
if item == '!Enable Speech Recognition':
set_enabled(not talon.enabled)
app.register('menu', on_menu)
set_enabled(talon.enabled)
sleep_group = ContextGroup('sleepy')
sleepy = Context('sleepy', group=sleep_group)
sleepy.keymap({
'talon sleep': lambda m: set_enabled(False),
'talon wake': lambda m: set_enabled(True),
'dragon mode': [lambda m: set_enabled(False), lambda m: engine.mimic('wake up'.split())],
'talon mode': [lambda m: set_enabled(True), lambda m: engine.mimic('go to sleep'.split())],
})
sleep_group.load()