carnac icon indicating copy to clipboard operation
carnac copied to clipboard

A utility to give some insight into how you use your keyboard

Carnac the Magnificent Keyboard Utility

Join the chat at https://gitter.im/Code52/carnac

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

Build Status

Build status

Installation

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.

Updating

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.

Usage

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.

Contributing

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.

Resources

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

Install Carnac with ClickOnce (Auto-update)

  • https://github.com/doggy8088/carnac/releases

Publish a new version using ClickOnce

Steps to setup dev environment:

  1. cd /D G:\Projects
  2. git clone https://github.com/doggy8088/carnac.git carnac -b dev
  3. git clone https://github.com/doggy8088/carnac.git carnac-publish -b gh-pages
  4. cd carnac-publish
  5. git config --local core.autocrlf false (Important!!)
  6. cd ..\carnac\src
  7. Open Carnac.sln in Visual Studio 2017

Steps to publish a new version

  1. Modify some code
  2. Build / Test
  3. Publish
    1. Hit Publish in Carnac project in the Solution Explorer. ( You MUST be publish first to increment the Publish version number automatically. )
    2. git add .
    3. git commit -m "Write Some Release Notes"
    4. git push
    5. cd ..\..\carnac-publish
    6. git add .
    7. git commit -m "Carnac_1_0_0_X"
    8. git push