Carnac, Keystroke Visualization in Windows.

scinart posted @ 2013年5月25日 20:21 in software with tags keystroke visualization software , 3137 阅读

Hi, I'm Scinart, and today I'll recommand a great software for keystroke visualization, Carnac.

you can get it from

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

Carnac is a free and open source software under Microsoft Public License (MS-PL), which means you are definitely free to modify, distribute and sell derivative works.


It is a wonderful alternative for KeyCastr in Mac OS.

If you are not using a standard keyboard and Carnac fails to recognize your keyboard(e.g. Programmer's Dvorak Keyboard or the one you created), you can modify ReplaceKey.cs. If you want to change How Ctrl or Alt is presented, modify KeyProvider.cs. Here is a piece of code that I modified for Programmer's Dvorak Keyboard and Emacs style Ctrl and Meta.

//KeyProvider.cs Line 100
if (controlPressed)
    yield return "C";//"Ctrl";
if (altPressed)
    yield return "M";//"Alt";
if (isWinKeyPressed)
    yield return "Win";
// emacs style.
if ((controlPressed || altPressed) &&
      interceptKeyEventArgs.Key.Sanitise().Length==1 &&
    //Ctrl+Shift+e to be C-S-e, and Ctrl+Shift+/ to be C-?
    if (shiftPressed)
        yield return "S";//"Shift";
    yield return interceptKeyEventArgs.Key.Sanitise().ToLower();

private static readonly Dictionary<Keys, string> ShiftReplacements = new Dictionary<Keys, string>
    //Programmer's Dvorak Keyboard.
    {Keys.D0, "6"},
    {Keys.D1, "%"},
    {Keys.D2, "7"},
    {Keys.D3, "5"},
    {Keys.D4, "3"},
    {Keys.D5, "1"},
    {Keys.D6, "9"},
    {Keys.D7, "0"},
    {Keys.D8, "2"},
    {Keys.D9, "4"},
    {Keys.OemOpenBrackets, "8"},
    {Keys.Oem6, "`"},
    {Keys.OemMinus, "_"},
    {Keys.Oemplus, "^"},
    {Keys.OemBackslash, "|"},
    {Keys.Oem5, "|"},
    {Keys.OemQuestion, "?"},
    {Keys.OemPeriod, ">"},
    {Keys.Oemcomma, "<"},
    {Keys.Oem1, "\""},
    {Keys.Oem7, ":"},
    {Keys.Oemtilde, "~"},
    {Keys.Insert, "INS"},
    {Keys.Delete, "del"}

private static readonly Dictionary<Keys, string> Replacements = new Dictionary<Keys, string>
    {Keys.Space, " "},
    {Keys.D0, "]"},
    {Keys.D1, "&"},
    {Keys.D2, "["},
    {Keys.D3, "{"},
    {Keys.D4, "}"},
    {Keys.D5, "("},
    {Keys.D6, "="},
    {Keys.D7, "*"},
    {Keys.D8, ")"},
    {Keys.D9, "+"},
    {Keys.NumPad0, "0"},
    {Keys.NumPad1, "1"},
    {Keys.NumPad2, "2"},
    {Keys.NumPad3, "3"},
    {Keys.NumPad4, "4"},
    {Keys.NumPad5, "5"},
    {Keys.NumPad6, "6"},
    {Keys.NumPad7, "7"},
    {Keys.NumPad8, "8"},
    {Keys.NumPad9, "9"},
    {Keys.OemOpenBrackets, "!"},
    {Keys.Oem6, "#"},
    {Keys.OemMinus, "-"},
    {Keys.Oemplus, "@"},
    {Keys.Oem5, "\\"},
    {Keys.OemBackslash, "\\"},
    {Keys.OemQuestion, "/"},
    {Keys.OemPeriod, "."},
    {Keys.Oemcomma, ","},
    {Keys.Oem1, "'"},
    {Keys.Oem7, ";"},
    {Keys.Oemtilde, "$"},
    {Keys.Decimal, "."},
    {Keys.Divide, " / "},
    {Keys.Multiply, " * "},
    {Keys.Subtract, " - "},
    {Keys.Add, " + "},
    {Keys.LShiftKey, "S"},
    {Keys.RShiftKey, "S"},
    {Keys.LControlKey, "C"},
    {Keys.RControlKey, "C"},
    {Keys.LMenu, "M"},
    {Keys.RMenu, "M"},
    {Keys.Alt, "M"},
    {Keys.LWin, "H"},
    {Keys.RWin, "Win"},
agc 说:
2019年12月06日 18:58

Our academic pursuits, along with a range of extracurricular activities, help in honing a child's skills and ensuring that he/she grows to be a mature and responsible citizen.
top public school in greater noida

agc 说:
2020年1月27日 19:23

We offers end-to-end technical consultancy and know-how as well as know-why to broad spectrum of different requirements of broadcasting industry.
ipad air reseller in kolkata
mac pro service center in guwahati
mac mini reseller in Kolkata
MacBook Air reseller in kolkata
MacBook pro reseller in delhi
iMac reseller in guwahati
ipad service center in Kolkata

fdf 说:
2020年2月26日 16:13

Welcome to the world of gaming, where life is fast paced and interesting. There is always an adventure waiting for you online.
csgo smurf

agc 说:
2020年2月26日 16:13

Our approach brings together best-in-class virtualized compute, storage, and networking infrastructure.
IT solutions company in uae
vmware Partner in uae
security partner in uae
IT managed services in uae

agc 说:
2020年2月26日 16:14

We provide the cheapest and most reliable csgo accounts compared to anywhere on the internet. This site is run by people who have boosted their way up the ladder.
cheap csgo accounts

Shoun 说:
2020年6月05日 19:45

We are best Professional SEO, Digital Marketing, Web Designing and Web Development Company in Bangalore. [url=]top seo agency in bangalore[/url] [url=]digital marketing company in bangalore[/url] [url=]best seo expert in bangalore[/url] [url=]PPC agency in bangalore[/url]

登录 *

loading captcha image...
or Ctrl+Enter