Skip to content


Repository files navigation

Carnac the Magnificent Keyboard Utility

Join the chat at

A keyboard logging and presentation utility for presentations, screencasts, and to help you become a better keyboard user.

Build Status

Build status


You can install the latest version of Carnac via Chocolatey:

cinst carnac

Alternatively, you can grab the latest zip file from here, unpack it and run Setup.exe.

Note: Carnac requires .NET 4.5.2 to work - you can install that from here if you don't have it already.


We use Squirrel.Windows to update your carnac application.

The application will check for updates in the background, if a new version has been released, it will automatically install the new version and once you restart carnac you will be up-to-date.


Enabling silent mode

If you want to stop Carnac from recording certain key strokes, you can enter silent mode by pressing Ctrl+Alt+P. To exit silent mode you simply press Ctrl+Alt+P again.


Getting started with Git and GitHub

Once you're familiar with Git and GitHub, clone the repository and run the .\build.cmd script to compile the code and run all the unit tests. You can use this script to test your changes quickly.


This blog series covers a series of refactorings which have recently happened in Carnac to make better use of Rx. If you are learning Rx and want to be shown through Carnac's codebase then this blog series may help you.

Part 1 - Refactoring the InterceptKeys class
Part 2 - Refactoring the MessageProvider class
Part 3 - Introducing the MessageController class