Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time
85 lines (50 sloc) 2.26 KB

Silvius on Windows and Mac

Silvius uses the 'xdotool' utility to send keystrokes to the active window in your X session. This tool is Linux only; while 'xdotool' is available on Windows and OS X, the functionality is reduced compared to 'xdotool' on Linux, and on OS X it requires XQuartz to be running. On the other hand, each platform has native tools that accomplish the same thing:

A few modifications were made to Silvius (and the Automator class in particular), because these tools have slightly different command-line formats.

Additionally, NirCmd (Windows) uses the concept of virtual key codes ( which are translated into characters differently, depending on your keyboard layout. This means that you may have to modify the virtual key codes in NirCmdAutomator if you use a different keyboard layout. (See the NirCmdAutomator class in

Mac: Prepare your environment

There are two prerequisites we'll need to install in order to be able to install all necessary components:

  • Homebrew (

    We'll use this package manager for mac to install a couple of components.

  • PIP

    The package manager for python. Install it by running this command in the Terminal:

    sudo easyinstall pip

Then, we install the components themselves:

brew install portaudio

pip install pyaudio ws4py

brew install cliclick

Windows: Prepare your environment

On Windows, you'll need to install a few components as well:

Then, install the components:

pip install pyaudio ws4py

Install Silvius

Clone the git repository to get a local copy:

git clone

Upon startup, Silvius will detect the OS it's running on, and select the appropriate Automator.

Run Silvius

python stream/ -s | python grammar/