- Updated both FuncMaps to use Soft Replace
- Only used for layers, default and base maps are not affected by soft replace (works like a normal replace)
Adding Lock and Latch symbolic names (e.g. Function)
- Like Function, these are not valid USB codes, but can be used to easily refer a particular key (no possible with exact name)
U"Lock1" : layerLock( 1 );
U"Latch1" : layerLatch( 1 );
- Required changing the ScanCode node datastructure
- Interconnect Id's must be stored until the end as it's not possible to calculate the max per node ScanCode until after all the assignments are complete
- Should make future additions more straight-forward (that require per ScanCode information to be stored)
- Name and kll filenames are treated as special variables
- Using the order of the stacks the compilation order can be inferred (useful for debugging)
- Layer names are finally implemented (instead of Layer 1, Layer 2, etc.)
- Adding latest kll git commit rev
- Adding list of changed files since latest git rev
- Adding list of all command line arguments during generation
- Adding generation timestamp
- Updating copyrights
Don't explode into a 20 line stack trace if the kll file is formatted
incorrectly. Instead simply show the error message and exit with an
error code (which will stop the rest of a make command).
A misformatted file is most likely a user error so showing the full
backtrace for debugging is not necessary. The file and line number
should (hopefully) be enough to fix the parsing error.
Adding support for firstScanCode calculation and initial Variable container implementation
- To better support RAM/Flash packing adding support for first scan code calculation
- This way if the first scan code is high (e.g. 0x40) RAM is not used for the scan codes without keys assigned
- Some initial work for KLL variables
- Will be used to influence runtime and compiler features of the firmware