Commit graph

221 commits

Author SHA1 Message Date
Steven R. Loomis
c3e55e3e56
Merge pull request #9049 from keymanapp/feat/core-7377-reorder-parse-epic-ldml
feat(common,developer,core): add uset section 🙀
2023-06-23 12:45:48 -05:00
Steven R. Loomis
8a3a08dcf7 feat(core): update documentation and builder for uset 🙀
- pre-sort the uset items instead of copying the patterns and re-finding
- update docs on the uset subtable

#7377
2023-06-23 10:52:34 -05:00
Steven R. Loomis
d7e0c286e4
Update core/src/ldml/ldml_processor.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-06-23 10:32:33 -05:00
Steven R. Loomis
9ce4f0eaa8 fix(core): fix ldml enter 🙀
- pass unknown keys back to OS

#7377
2023-06-22 18:43:34 -05:00
Steven R. Loomis
6e97c40f26 fix(core): fix ldml backspace 🙀
- don't pop state->context() if we know it is empty

#7377
2023-06-22 18:09:53 -05:00
Steven R. Loomis
877070d07e fix(core): fix ldml transforms 🙀
- document transform calling code in ldml_transform
- remove obsolete portions
- optimize keystroke code when no transforms are present
2023-06-22 17:55:18 -05:00
Steven R. Loomis
248d423535 feat(common,developer,core): add uset section 🙀
- not emitted yet, basic scaffolding
- expanded type field in elem:  str/char/set

For: #7377
2023-06-20 18:23:54 -05:00
Steven R. Loomis
9eff1eb1d4 feat(core): document transform algorithm 🙀
For: #7377
2023-06-20 16:37:38 -05:00
Steven R. Loomis
903fd7e82b feat(core): transform fixes 🙀
- refactor matching per review comments
- move global fcn into class statics

#7377
2023-06-19 18:27:36 -05:00
Steven R. Loomis
3014b9e98e feat(core): transform fixes 🙀
- fix sample files
- break out on first match in a group

#7377
2023-06-16 20:16:29 -05:00
Steven R. Loomis
c74be813b1
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-06-16 20:10:50 -05:00
Steven R. Loomis
954b29dfd0 feat(core): fix kmx_plus loading 🙀
- vars was missed
- meminit for kmx_plus
2023-06-15 13:52:56 -05:00
Steven R. Loomis
e6f0f0e894 chore(core): reduce logging a little 🙀 2023-06-15 13:17:39 -05:00
Steven R. Loomis
be32377864 feat(core): steps to implement tran 🙀
- fix missing include

For: #7377
2023-06-14 10:27:14 -05:00
Steven R. Loomis
c90c7aaa64 feat(core): non-regex implementation of tran 🙀
- some scaffolding for loading transforms
- add transform_test
- simple test, simple impl - non-regex, simple strings
- scaffolding for bksp
- bksp transform test, but disabled for now

For: #7377
2023-06-14 10:14:33 -05:00
Steven R. Loomis
e5d7b3f835
Update core/src/kmx/kmx_plus.cpp
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-06-07 12:46:43 -05:00
Steven R. Loomis
2c172e89ce feat(core): validate tran 🙀
- new helper for tran
- also for bksp

For: #7377
2023-06-06 18:39:11 -05:00
Steven R. Loomis
46b4b7f5cc feat(core): fixups to C++ side 🙀
- builds, passes tests for now

For: #7377
2023-06-06 18:38:44 -05:00
Steven R. Loomis
e37e4d0cd3 feat(developer): vars: binary builder 🙀
- no, not basic.txt yet…

For: #7377
2023-05-11 19:54:45 -05:00
Steven R. Loomis
284b062811 spec(core): update to spec for transforms and vars 🙀
- updates to constants .ts/.h
- doc updates

For: #7377
2023-05-11 10:41:37 -05:00
Steven R. Loomis
74e46db364 spec(core): update to spec for transforms and vars 🙀
For: #7377
2023-05-11 10:41:37 -05:00
Steven R. Loomis
47e844b2cc spec(core): spec for transform 🙀
- first pass, may need more

For: #7377
2023-05-11 10:41:37 -05:00
Marc Durdin
4838ba1ffe chore: rename kmc-keyboard to kmc-ldml
Part of #8719.
2023-05-09 14:08:45 +07:00
Steven R. Loomis
07392ed460 feat(developer): update tests and reader for transforms 🙀
- not working yet, but 'update' some XML

for #7377
2023-04-27 12:21:03 -05:00
Marc Durdin
9152ab52e9
Merge branch 'master' into feat/core-8435-repertoire-test-epic-ldml 2023-04-10 15:15:00 +10:00
Steven R. Loomis
6bc70d832d
Update core/src/kmx/kmx_plus.h
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2023-04-05 13:28:18 -05:00
Steven R. Loomis
82944c447b
Update core/src/kmx/kmx_plus.h
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2023-04-05 13:27:57 -05:00
Steven R. Loomis
ab614677ce feat(core): ldml repertoire test 🙀
- wip: simple lookup for an exact key

For: #8435
2023-03-16 15:49:00 -05:00
Steven R. Loomis
ec68f6ce0f feat(core): ldml repertoire test 🙀
- wip: right now passes, because it emits the repertoire text as it goes

For: #8435
2023-03-16 14:28:51 -05:00
Marc Durdin
d1c8061b5f chore: Merge branch 'feature-kmcompx' into chore/merge-master-into-kmcompx 2023-03-16 12:29:17 +07:00
Steven R. Loomis
f7499238a2 fix(core): ldml more TODO-LDML fixes 🙀
- drop some TODO-LDMLs, document others.

For: #8069
2023-03-14 18:54:28 -05:00
Marc Durdin
ef80f0f6b5 chore(developer): shared meson config for kmcmplib 2023-03-09 12:14:15 +07:00
Marc Durdin
691dc8e618 chore(core): split flags into standard.meson.build 2023-03-09 11:34:54 +07:00
Eberhard Beilharz
0c2c4f4206
Merge pull request #8375 from keymanapp/chore/core/linuxstatic
chore(core): Create both dynamic and static libs on Linux
2023-03-07 13:21:11 +01:00
Eberhard Beilharz
03bb0c5fcc
chore(core): Create both dynamic and static libs on Linux 2023-03-06 16:51:19 +01:00
Steven R. Loomis
812fd1713a spec(core): ldml tests for either shift/ctrl/alt 🙀
- lookup needs to handle either/neither/both cases for alt and ctrl
- and a bug in the test runner: would 'pass' if failed on exactly line 256 (0x100 & 0xFF == 0)

#7533
2023-03-02 17:13:47 -06:00
Steven R. Loomis
f7b2530f33 spec(core): ldml update spec for either shift/ctrl/alt 🙀
- match Keyman constanats

#7533
2023-02-25 08:20:12 -06:00
Steven R. Loomis
77a76a2f54 fix(developer): ldml TODO-LDML cleanup 🙀
- add check for missing flicks
- remove a tray #include

chore(common): ldml TODO-LDML cleanup 🙀  #8069
2023-02-24 18:55:28 -06:00
Steven R. Loomis
e1e5eea469 feat(core): ldml rename key2 to keys 🙀
- So in summary, since before #7532 basically keys was restructured, and the old 'keys' was moved into 'keys.kmap'.

#8069
2023-02-20 17:40:34 -06:00
Steven R. Loomis
4689c04533 feat(core): ldml json test executor 🙀
- can now use the new key2.kmap table to lookup keys. Basic test passes

#7535
2023-02-16 13:04:33 -06:00
Steven R. Loomis
47b222e8a8 feat(core): ldml json test executor 🙀
- intermediate, does not process context or actions yet
- embedded (non-json) tests pass
- utf-8 parsing
- bring in kmx+ into ldml_test_source for parsing, but key2 is not ready eyt
- temporary scaffolding mapping key ids to vkeys
- build fixes
- getting closer.
2023-02-16 12:33:32 -06:00
Steven R. Loomis
8ea87aa828 feat(common): ldml: merge keys into key2 🙀 2023-02-16 12:29:19 -06:00
Steven R. Loomis
bf15661fd0 spec(core): ldml: merge keys into key2 🙀
- rename keys to key2.kmap (vkey+mod -> key)
- drop key2.keys.vkey

#7042
2023-02-16 12:02:08 -06:00
Steven R. Loomis
cace5cf596 feat(core): ldml C++ helper for list / key2 🙀
For: #7985
2023-02-15 19:00:54 -06:00
Steven R. Loomis
4a2bb6b3da Review comments 2023-02-15 09:49:54 -06:00
Steven R. Loomis
e5620e83f1 feat(core): ldml C++ validate list / key2 🙀
- need helper objs still

For: #7985
2023-02-14 09:23:51 -06:00
Steven R. Loomis
aa0da57b70 fix(core): fix double precision err 2023-02-14 09:23:03 -06:00
Steven R. Loomis
ac2366f460 feat(core): ldml C++ updates to modifiers 🙀
- 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
2023-02-14 09:23:03 -06:00
Steven R. Loomis
7983fd9609 fix(developer): ldml spec: layr…mod needs to be a bitfield 🙀
- layr.layers.layer.mod needs to be a bit field just as keys.key.mod

Related to #7533
2023-02-14 09:23:03 -06:00
Steven R. Loomis
7c02ab85af feat(core): ldml C++ feature support 🙀
- 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
2023-02-14 09:23:03 -06:00