Releases: cajhin/capsicain
v97: new global DeactivateWinkeyStartmenu
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: minor updates
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: Macros, LEDs, Unicode chars
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 nowPRINT
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
Renamed everything "Layer" to "Config", including .ini keywords
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 Major new version 02-Jan-2021
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
Syntax check, fix NOP, fix examples
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.
Scancode labels reworked
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.
Release July 2020 v55
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.
Second clean stable complete release
NEW
- Sequences (key macros)
- Flexible layer configuration system with includes
CHANGED
- Modifier status symbols
- Section labels
- Line tags
First clean stable complete version
Feature complete for my use cases.
This would be v 2.0.0 in traditional versioning schemes.
Next: assign specific modifier mappings to layers