Skip to content

Latest commit



85 lines (50 loc) · 2.26 KB

File metadata and controls

85 lines (50 loc) · 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/