Aenea Compatibility
Caster can be used with Aenea, a client-server library for using voice macros from Dragon NaturallySpeaking and Dragonfly on remote/non-Windows hosts (Linux or MacOS).
Aenea-Caster compatibility includes:
- Using Aenea's
Key
,Text
andMouse
actions in place of Dragonfly's so that input occurs on the Aenea server instead. - Importing
aenea.ProxyAppContext
as Dragonfly'sAppContext
class so that some app grammars will use the server's context instead. - Supporting Caster's clipboard functionality, such as the
"stoosh"
and"spark"
commands, by synchronising the Aenea server's clipboard with the client system's clipboard. This requires a server plugin.
To use Aenea-Caster compatibility, do the following:
- Make sure that Aenea is setup correctly with following the instructions.
- Copy
aenea.json
, which is usually created inC:\NatLink\NatLink\MacroSystem
in the course of the Aenea install, to your NatLink User Directory. You can find this directory by runningConfigure NatLink by GUI
and looking for the box titled UserDirectory. Often it isC:\Users\<YourUsername>\Documents\Caster
. - Change the
use_aenea
setting in your Caster settings.toml file to true. You may find settings.toml inC:\Users\<YourUsername>\AppData\Local\caster\settings
. - Copy the copypaste.py and copypaste.yapsy-plugin files from magneto-host/server/linux_x11/plugins into your server plugins directory (usually aenea/server/linux_x11/plugins or aenea/server/osx/plugins).
- Install dependencies for the copypaste plugin:
python -m pip install yapsy subprocess32 pyperclip
- Start/restart Dragon and the Aenea server.
To use this functionality in your own grammar files, import Key
, Text
, Mouse
, and/or Clipboard
as below:
from castervoice.lib.actions import Key, Text, Mouse
from castervoice.lib.clipboard import Clipboard
If using ContextAction
include the following import.
from castervoice.lib.context import AppContext
If the use_aenea
setting is false, the above lines will just import Dragonfly's classes.
App grammars for Windows-only programs such as Dragon and cmd.exe still import from Dragonfly. If you have other grammars that should run actions on the client instead, just import the classes from dragonfly
normally instead of from caster.lib.X
.
Note: Caster's mouse grid features currently will not work through Aenea, although it is probably possible to make them work through an additional server plugin.