keymap = { "{mouseSnapNine.digits}+": narrow, "(oops | back)": mg.go_back, "(reset | clear | escape)": mg.reset, "done": [ mg.stop, lambda _: ctx.unload(), lambda _: speech.set_enabled(True), lambda _: click() ], "exit": [mg.stop, lambda _: ctx.unload(), lambda _: speech.set_enabled(True)], } ctx.keymap(keymap) ctx.set_list("digits", digits.keys()) group.load() ctx.unload() startCtx = Context("mouseSnapNineStarter") startCtx.keymap({ "(grid | mouse grid | mousegrid)": [ mg.reset, mg.start, lambda _: ctx.load(), lambda _: speech.set_enabled(False) ], # "snap done": [mg.stop, lambda _: ctx.unload()], }) # mg.start() # Hot reload while grid is active is very confusing without this. speech.set_enabled(True)
end tell """) # def toggle_status_win(val): # open_dragon_menubar() # applescript.run(f""" # tell application "System Events" to tell process "Dragon" to tell (menu bar item 1 of menu bar 2) # click (menu item where its name ends with "Status Window") of menu 1 # end tell # """) def set_status_win(val): open_dragon_menubar() command = "Show Status Window" if val else "Hide Status Window" applescript.run(f""" tell application "System Events" to tell process "Dragon" to tell (menu bar item 1 of menu bar 2) click menu item "{command}" of menu 1 end tell """) context.keymap({ "hide status": lambda m: set_status_win(False), "show status": lambda m: set_status_win(True), "dragon pad": lambda m: open_dragonpad(), # "toggle status": lambda m: toggle_status_win(), }) context.load()
def do_start_digits(m): try: for d in m["mouseSnapNineStarter.digits"]: mg.narrow(int(digits[d])) ctrl.mouse_move(*mg.pos()) except KeyError: pass startCtx = Context("mouseSnapNineStarter") startKeymap = { "(grid | mouse grid | mousegrid) [{mouseSnapNineStarter.digits}+]": [ mg.reset(), mg.start, lambda _: ctx.load(), lambda _: speech.set_enabled(False), do_start_digits, ], # "snap done": [mg.stop, lambda _: ctx.unload()], } startKeymap.update({ "(grid | mouse grid | mousegrid) [{mouseSnapNineStarter.digits}+] click": [ mg.reset(), mg.start, do_start_digits, lambda _: ctrl.mouse_click(button=0), mg.stop, ], "(grid | mouse grid | mousegrid) [{mouseSnapNineStarter.digits}+] right click": [
[mg.stop, lambda _: ctx.unload(), lambda _: speech.set_enabled(True)], } keymap.update({ k: [v, lambda _: print(mg.screen_index), mg.reset(-1)] for k, v in click_keymap.items() }) ctx.keymap(keymap) ctx.set_list("digits", digits.keys()) group.load() ctx.unload() startCtx = Context("mouseSnapNineStarter") startCtx.keymap({ "(grid | mouse grid | mousegrid)": [ mg.reset(0), mg.start, lambda _: ctx.load(), lambda _: speech.set_enabled(False) ], "(secondary | left) (grid | mouse grid | mousegrid)": [ mg.reset(1), mg.start, lambda _: ctx.load(), lambda _: speech.set_enabled(False) ], "(tertiary | right) (grid | mouse grid | mousegrid)": [ mg.reset(2), mg.start, lambda _: ctx.load(), lambda _: speech.set_enabled(False) ], # "snap done": [mg.stop, lambda _: ctx.unload()], }) # mg.start() # Hot reload while grid is active is very confusing without this. speech.set_enabled(True)