Commit graph

1032 commits

Author SHA1 Message Date
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
cf69b6da57
chore(linux): Merge remote-tracking branch 'origin/master' into chore/linux/5981_addBuild.sh 2023-02-06 17:50:25 +01: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
3dbdef651d
chore(linux): Add build.sh to ibus-keyman 2023-02-01 08:49: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
Steven R. Loomis
513f4581da feat(core): ldml: updates to C++ 🙀
- fix c++ to match spec

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-12-20 21:37:41 -06:00
Steven R. Loomis
343f234a8e feat(core): ldml: updates to basic.txt and builders 🙀
- strs and ALL TESTS pass

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-12-20 19:16:41 -06:00
Steven R. Loomis
63fa53a028 feat(core): ldml: updates to basic.txt and builders 🙀
- layr now passes comparison

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-12-20 17:05:29 -06:00
Steven R. Loomis
b036fc5840 feat(core): ldml: basic: updates to basic.txt for layr 🙀
- key2 now passes!
- starting on layr

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #753
2022-12-16 17:53:14 -06:00
Steven R. Loomis
b850e3f7d8 chore(core): ldml: fix merge 🙀
- correct merge issue with km_kbp_process_event()

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7042
2022-12-16 14:07:08 -06:00
Steven R. Loomis
bc14f18460 Merge remote-tracking branch 'origin/master' into chore/core/mergemaster4-epic-ldml 2022-12-15 17:55:13 -06:00
Eberhard Beilharz
cbe0dd944b chore(core): Update meson version
We no longer support Ubuntu 18.04 Bionic, so we can update to a newer meson
version. The oldest supported platform is now Ubuntu 20.04 Focal which
comes with Meson 0.53, so we make that the minimal required version.
2022-12-08 09:45:37 +01:00
Steven R. Loomis
2d7aa026af feat(core): ldml: updating guide updates 🙀
- update notes on updating fixtures

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-29 18:05:04 -06:00
Steven R. Loomis
e5ec3cbb6a feat(core): ldml: spec updates 🙀
layr.keys is now a list of string ids

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-25 18:01:41 -06:00
Steven R. Loomis
273075c1f3 feat(core): ldml: updates to layr compiler 🙀
- layr compiler working

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-25 15:55:11 -06:00
Steven R. Loomis
8b77d1f764 feat(core): ldml: make sect builder an object 🙀
- remove one hardcoded list

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-23 15:25:51 -06:00
Steven R. Loomis
e0dcb30b51 spec(core): ldml: more document KMXPlus update process 🙀
- add some comments to kmx-plus.ts

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-22 19:11:53 -06:00