Steven R. Loomis
c40c19db3f
feat(core): refactor ldml test 🙀
...
- rearrange classes so we can get to dynamic subtests
2023-02-16 12:32:57 -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
c191f0a0b5
feat(core): auto generate test json 🙀
...
- example testdata for k_001_tiny
- meson to generate test json to ./build/arch/release/tests/unit/ldml/keyboards/k_001_tiny-test.json
#7535
2023-02-15 17:58:52 -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
Steven R. Loomis
db272e08e7
Merge remote-tracking branch 'upstream/master' into chore/merge-master-20230210-epic-ldml
2023-02-10 11:01:27 -06:00
Steven R. Loomis
a8832ea893
Merge pull request #8172 from keymanapp/feat/developer/7965-morehardware-epic-ldml
...
feat(common): ldml different hardware support 🙀
2023-02-07 17:06:35 -06:00
Steven R. Loomis
8d6366921b
Update core/include/ldml/keyboardprocessor_ldml.ts
...
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-02-07 17:04:09 -06:00
Steven R. Loomis
5e445b32a1
feat(developer): ldml: modifier key updates 🙀
...
- per review comments
- drop opt, cmd, and shiftL/shiftR
For: #7533
2023-02-06 15:47:18 -06:00
Eberhard Beilharz
1ef7db5a04
Merge pull request #8111 from keymanapp/chore/linux/5981_ibus-keyman_meson
...
chore(linux): Build with meson instead of autotools 🏗️
2023-02-06 17:47:37 +01:00
Steven R. Loomis
41f77a874c
feat(common): ldml different hardware support 🙀
...
- 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
2023-02-03 19:00:57 -06:00
Steven R. Loomis
af10312f84
feat(common): ldml modifier support 🙀
...
- 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 )
2023-02-03 18:54:22 -06:00
Steven R. Loomis
ae45295dc6
Merge remote-tracking branch 'upstream/master' into chore/merge-master-a17s5-REDO-epic-ldml
2023-02-03 16:53:35 -06:00
Eberhard Beilharz
95aa92ff9a
chore(core): Merge remote-tracking branch 'origin/master' into chore/core/mesonversion
2023-02-02 19:37:26 +01:00
Eberhard Beilharz
1c602b8e6b
chore(linux): Build static library only on Linux
...
The static library is currently only needed for the ibus-keyman
tests, so we only build it on Linux. It can't build with
emscripten, and on Windows it'd need some additional work.
2023-02-01 08:38:33 +01:00
Eberhard Beilharz
d39ba178fa
chore(linux): Fix wasm build
...
emscripten doesn't support static libraries, so we explicitly
build a static library unless we're building for wasm.
2023-01-31 20:59:28 +01:00
Eberhard Beilharz
c176ebc6af
chore(linux): Address code review comments
2023-01-31 17:38:29 +01:00
Eberhard Beilharz
eb076c08c8
chore(linux): Build with meson instead of autotools
...
This change introduces meson for building ibus-keyman instead of
autotools.
Closes #5981 .
2023-01-30 16:32:38 +01:00
Steven R. Loomis
ed30de2642
feat(core): ldml: add cldr version to constants 🙀
...
- also improve constant builder
- also fix build.sh so it uses sourcemaps
supports #7964
2023-01-27 12:45:00 -06:00
Steven R. Loomis
3eb7f05df6
feat(developer): ldml implied keys work 🙀
...
- update test cases per review
- review comment
2023-01-27 12:42:18 -06:00
Steven R. Loomis
0b497be277
chore(core): update tests per merge conflicts
2023-01-27 12:41:47 -06:00
Steven R. Loomis
727056cb87
feat(developer): ldml support implied keys 🙀
...
- automatically add the import
Fixes : #7964
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-01-27 12:41:39 -06:00
Steven R. Loomis
6fd2e418bc
feat(common): ldml implement imports 🙀
...
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
2023-01-27 12:40:22 -06:00
Steven R. Loomis
592d4b0b5e
Merge pull request #7969 from keymanapp/feat/developer-7965-epic-ldml-spacebar
...
fix(common): update USVirtualKeyMap to actually be US🙀
2023-01-26 17:02:57 -06:00
Steven R. Loomis
1d7e0d1922
Merge pull request #8030 from keymanapp/spec/core/7986-hardware-enum-epic-ldml
...
spec(core): ldml: make hardware be an enum 🙀
2023-01-26 14:05:26 -06:00
Steven R. Loomis
631cd5007e
chore(developer): disable mt 🙀
...
- disable mt for now, as it will depend on imports
For: #7965
2023-01-26 13:49:49 -06:00
Steven R. Loomis
a1cfd7253d
fix(common): update USVirtualKeyMap to actually be US 🙀
...
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
2023-01-26 13:49:49 -06:00
Steven R. Loomis
666d71f342
chore(core): ldml: update unit tests 🙀
...
- add hardware="us"
For: #7986
2023-01-19 21:36:04 -06:00
Steven R. Loomis
d7ce2191bf
feat(core): ldml: make hardware be an enum 🙀
...
For: #7986
2023-01-19 12:24:47 -06:00
Steven R. Loomis
5cf1a1fad3
spec(core): ldml: make hardware be an enum 🙀
...
- drop layers.flags as unneeded
- defer to UTS35 for hardware definitions
For: #7986
2023-01-18 18:20:08 -06:00
Steven R. Loomis
8a579a1650
Merge pull request #7992 from keymanapp/feat/core/7984-cxx-assert-on-invalid-epic-ldml
...
fix(core): ldml: add asserts to C++ 🙀
2023-01-18 08:58:34 -06:00
Steven R. Loomis
e58669008a
feat(core): ldml: Drop all padding: common,core 🙀
...
- not even 32 bit padding
For: #7987
2023-01-16 19:22:34 -06:00
Steven R. Loomis
c0541c40c7
spec(core): ldml: make hardware be an enum 🙀
...
For: #7986
2023-01-16 19:07:05 -06:00
sgschantz
22f8ca1466
replace sprintf with snprintf
2023-01-16 13:51:23 +07:00
Steven R. Loomis
cbb5af2ae7
feat(core): ldml: Drop padding: common,core 🙀
...
- also add some checking in the builder
- add a Constants.str_section_id() for debugging
- update basic.txt
For: #7987
2023-01-09 16:35:47 -06:00
Steven R. Loomis
fbbed6d970
spec(core): ldml: Drop padding 🙀
...
- only guarantee is 32 bit alignment
- also note a cross ref TODO for #7533
For: #7987
2023-01-09 15:08:11 -06:00
Steven R. Loomis
e4799d2498
Merge pull request #7956 from keymanapp/fix/core/maqtugha
...
fix(core): ldml: fix spelling of maqtugħa 🙀
2023-01-07 22:54:48 -06:00
Steven R. Loomis
57d4dfea75
Apply suggestions from code review
...
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-01-07 22:46:41 -06:00
Steven R. Loomis
d552a46104
Merge pull request #7630 from keymanapp/feat/core/7532-layr-epic-ldml
2023-01-06 17:40:06 -06:00
Steven R. Loomis
2f44780e87
fix(core): ldml: add asserts to C++ 🙀
...
- found a logic bug in kmx_plus.cpp
Fixes #7984
2023-01-06 16:54:24 -06:00
Steven R. Loomis
564f98cc30
Apply suggestions from code review
...
Co-authored-by: Marc Durdin <marc@durdin.net>
2023-01-06 11:46:17 -06:00
Steven R. Loomis
f7f40a2bb8
fix(core): ldml: fix spelling of maqtugħa 🙀
...
- maqtua should be maqtugħa (cut) but spelled as maqtugha where used as an NMTOKEN
2022-12-30 17:01:48 -06:00
Steven R. Loomis
efef796d75
feat(core): ldml: fix C++ layr helper 🙀
...
- reenable layr/key2/list in c++
- minor update to layr helper, missed ptr assignment
For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-12-22 13:43:53 -06:00
Steven R. Loomis
05656ac499
feat(core): ldml: fix off-by-one on section count 🙀
...
- yes, sect was counting itself. Too much automation!
- disable layr/key2/list loading in C++ for now
For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-12-22 13:12:08 -06:00