Capsicain Versions Save

Powerful low-level keyboard remapping tool for Windows

v97

2 months ago

New global lets you disable the Windows shortcut for "LWIN -> open Start menu" See GLOBAL DeactivateWinkeyStartmenu

Previous minor builds: v96: print trace output on device change (to troubleshoot issues with some bluetooth keyboard blocking after 10 re-connects)
v95: new Option Ex-/IncludeDeviceId (to assign a config to one keyboard) v94: abandoned test

I don't always build a full release package for every minor version. Usually only the .exe file changes, you can get it straight from the repository: the exe

v93

2 years ago

Ronald Smits enabled configSwitch in sequence(), see https://github.com/cajhin/capsicain/wiki/Function%3A-sequence%28%29

Otherwise, just minor fixes that came up last year. See the commits for details.

v89

3 years ago

New features

  • 20 configurable macros, see record/playMacro and Macros
  • traybar icon indicates "macro recording ongoing"
  • GLOBAL capsicainOnOffKey can now control the LED for ScrLock, NumLock, CapsLock. See Keyword GLOBAL The OnOff key is not forwarded to Windows anymore.
  • Enable unicode hex input for altChar, like > altChar(+11D). This requires registry entry. See Function altChar

Breaking Changes

  • the key label SYSRQ is now PRINT

Cleanup

  • Lot of cleanup around Messy keys
  • removed dedicated ESC+U ESC+P shortcuts for key/password macros

Fixes several minor fixes for special cases. See the commit log for details.

Other

  • compile flag for Precision performance timers.
  • average keypress is processed in 0.020 milliseconds. With logging on that increases to 2ms

v80

3 years ago

Changed .ini syntax and code to make more sense.

Old .ini settings with "Layer" in it are now deprecated, but still supported.
( e.g. [LAYER_1] is now [CONFIG_1], and layerName is now configName )

Why? The word "layer" no longer describes what it is. I chose this word back then, when you could 'stack' multiple configs and turn them on/off dynamically. Today you have up to 9 configs you can switch, each of them is complete and only one is active. Now I use the word "layer" more in a TMK sense, for example, holding CapsLock in my config gives you a temporary 'Cursor Control Layer'.

v79

3 years ago

Biggest new version in a long time.

New features:

  • A Manual. See the wiki https://github.com/cajhin/capsicain/wiki

  • Traybar icon that indicates the state (on/off, layer#)
    ESC+T to toggle Traybar<>Taskbar

  • dead keys før Dïãçrîtícš (and my own config in capsicain.ini)

  • modstring has new symbol | for OR (nice for LShift or RShift)

  • configure your own shortcuts for switching layers

  • GLOBAL capsicainOnOffKey (e.g. turn on/off with ScrollLock)
    GLOBAL startMinimized
    GLOBAL startInTray
    GLOBAL startAHK

  • REWIRE with new options for 'ifTapped' and 'ifTapAndHold'

  • COMBO with pure modifiers like 'if Shift and MOD9'

Breaking Changes

  • removed OPTION ShiftShiftToShiftLock (obsolete)
  • removed OPTION AltAltToAlt (obsolete)
  • in sequence(): PAUSE:10 is now SLEEP:1000

Changes:

  • reworked the ESC key. Rewiring from and to ESC should be clean now.
  • "reset keyboard state" is now ESC+Backspace. ESC tapped does nothing special.
  • the two Visual Studio .dlls are no longer needed (I hope)
  • moddedKey() releases all real pressed keys first
  • removed GLOBAL delayOnStartup (obsolete)
  • removed 'sticky modifiers with ESC+modifier'. (messy, not worth it)
  • lots and lots of cleanup

Behind the curtains:

  • major restructuring (code was tailored too closely to my particular workflows)
  • internal keys are now ints. Much easier to define new virtual keys for special functions
  • upgrade from VS2017 to VS2019
  • static linking, no more vc DLLs

v58

3 years ago

Will warn about unknown tokens in .ini (like obsolete MODIFIER; this was simply ignored). Scancode 0 = NOP (No OPeration) can now be used with every command. key(NOP) will drop the current keypress. Old example.ini still talked about MODIFIER which is obsolete since about forever.

v56

3 years ago

Added labels for scancodes "LANG2", "LANG1" and "F17-23". Any undefined scancode now gets a default label "SC_0XNN" where "NN" stands for a hex code. [ESC] + [C] prints a list of all labels. Minor documentation cleanup.

v55

3 years ago

Various smaller features and improvements that came up during 18 months of intense use. Check the git log for details. Now includes two Visual Studio Runtime DLLs that are required, but not installed on every Windows.

v46

5 years ago

NEW

  • Sequences (key macros)
  • Flexible layer configuration system with includes

CHANGED

  • Modifier status symbols
  • Section labels
  • Line tags

42

5 years ago

Feature complete for my use cases.

This would be v 2.0.0 in traditional versioning schemes.

Next: assign specific modifier mappings to layers