- spec: change caps value to 0x100 #7533
- add a 'mod_all' for validating valid modifier keys, plus tests
- add asserts on C++ side mapping modifiers to keyman constants
- use 'mod_all' to validate modifiers
- further fix modifier -> mod in binary
For: #7985 and related to #7533
- make ldml.cpp print FAILED on failure especially because of https://github.com/microsoft/vscode-cpptools/issues/487
- add vkey validation (#7135)
- add disp validation
- fix: a latent bug in disp! disp.count was === vkey.count, oops. Fix and test cases.
For: #7985
- add HardwareToKeymap in common/web/types
- add a mt-iso keyboard, very close to stock mt.xml
- add machinery for parsing modifier key sequences
- more test machinery
- add assertions against invalid modifier sequences
Fixes: #7965
- spec: update spec for layr.mod field
- core/include/ldm: update constants
- bitfield modelled after s_modifier_names[] / LCTRLFLAG etc.
- new test case k_004_tinyshift, also update k_010_mt
- update const builder to ignore all *_map properties
- split utility out to utils, add test
For: #7533
(cherry picked from commit 0346bea488)
- Apply suggestions from code review
- move m() into common code
- rename several error-related fields and types
- drop the 'unknown AJV error' - we expect errors to be populated
- halt compilation if validation fails, don't press on
For: #7534
Co-authored-by: Marc Durdin <marc@durdin.net>
(cherry picked from commit 05cc200f2027ee3c61280812a2de85ef20ea8b51)
- more refactor into common/web/types
- refactor test harness
- use reportMessage instead of throwing
For: #7964
(cherry picked from commit a112b847c4)
- use hexy and git-diff to show a rich diff when files are changed
- add additional round trip tests
- initialize the underlyingLayout to undefined to promote round tripping
- fix an issue with the CompilerCallbacks in the xml tests (broken in #8107)
- fix an issue with the kvk file writer where it should set strings irregardless (#7955)
Fixes#7967, again
add tests:
- k_100, k_101, k_102 all failed for different reasons.
- rename test cases from 'fail' to 'keytest' since they don't fail anymore
For: #7401
- update k101_fail.xml / k102_fail.xml to use an implied import
- update build.sh to bring over the imports from CLDR
For #7534
- make CompilerCallbacks an interface
- concrete implementations for Node (CLI) and for Testing
- change loadFile to take a string|URL 🙀
supports #7964
comon/web/types:
- the USVirtualKeyMap was actually somewhat ISO-ish. Correct it.
- also, add the spacebar row.
- create a new ISOVirtualKeyMap, but not linked in anywhere.
core/tests:
- add a new test keyboard, k_010_mt.xml which is Maltese 47-key
- update k_003 which was impacted by this
For: #7965
- generate coverage/lcov.info files in several places that were already using c8
- change kmc-package's 'npm test' to include coverage, leave 'coverage' as alias
- gitignore the lcov files
Fixes#8060