Commit graph

621 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
bc14f18460 Merge remote-tracking branch 'origin/master' into chore/core/mergemaster4-epic-ldml 2022-12-15 17:55:13 -06: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
Steven R. Loomis
2d05c8f379 spec(core): ldml: document KMXPlus update process 🙀
For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-22 18:45:33 -06:00
Steven R. Loomis
3496939073 feat(core): ldml: steps for list/key2 🙀
- update kmx-plus.ts for key2 and list sections
- add tests for key2
- TODO: binary write, basic fixture, layr

For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532
2022-11-22 18:39:25 -06:00
Steven R. Loomis
bccb64c911 feat(core): ldml: kmx-plus.ts for layr/key2/list 🙀
- update kmx-plus for layr/key2/list

For #7532
2022-11-17 15:37:25 -06:00
Steven R. Loomis
208a6e40a0 feat(core): ldml: C++ builds 🙀
For #7532
2022-11-17 14:17:55 -06:00
Steven R. Loomis
06308a26da feat(core): ldml: spec: correct length of list 🙀
For #7532
2022-11-17 14:17:07 -06:00
Steven R. Loomis
b639d80a01 feat(core): ldml: spec: correct padding key2 🙀
- also document key2.flicks.flags

For #7532
2022-11-16 19:05:14 -06:00
Steven R. Loomis
0e6aa6566f feat(core): ldml: First steps for layr 🙀
For feat(developer): ldml: include all LDML data in kmx+ 🙀 #7532

- dummy Layr class for compilation
- fleshed out Layr class
- CPP validation side
2022-11-16 19:04:55 -06:00
Eberhard Beilharz
108e849459
fix(linux): Fix lintian warnings 2022-11-16 18:45:34 +01:00
Ross
2fcc0feed0 chore(windows): rearrange mock_options_update add commment 2022-11-15 11:03:41 +10:00
Steven R. Loomis
2b9a90f6eb
Merge pull request #7561 from keymanapp/feat/core/7532-fullspec-epic-ldml 2022-11-14 09:13:10 -06:00
rc-swag
9117b391e3
chore(windows): address review comments
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-11-14 16:15:40 +10:00
Ross
578a9017f4 chore(windows): add unit test for SetupCoreEnvironment 2022-11-14 12:55:13 +10:00
Steven R. Loomis
34013b3fe9 feat(core): ldml: spec, add 'list' section, others 🙀
- multiTap
- flicks
- longPress

New 'list' section for string lists

For #7532
2022-11-10 18:24:11 -06:00
Marc Durdin
42a9f2ca72 fix(core): emit keystroke was writing to wrong queue
Fixes #7649.

emit_keystroke code path in kmx processor was writing directly to the
core queue instead of to the internal kmx processor queue. This caused
it to be out-of-order in the actions sent to the engine/debugger.

Engines didn't really care but it broke the debugger, for example if
only a deadkey was in the buffer and backspace was pressed, Developer
would assert as it would get unexpected context for the deletions.
2022-11-08 16:31:30 +11:00
Steven R. Loomis
57648d87a2 fix(core): ldml: spec WIP 🙀
For #7532
2022-11-07 15:30:23 -06:00
Steven R. Loomis
d2546060d5
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-11-07 11:26:09 -06:00
Marc Durdin
8e5c26bc2a fix(core): m_actions already existed in KMX_Options 2022-11-07 10:50:14 +11:00
Marc Durdin
a8c3854431 fix(core): save() should be on internal kmx action queue
Fixes #7643.

The kmn statement `save()` action was being written directly to the
state queue, bypassing the internal kmx action queue. This caused two
issues:

1. save() actions were out-of-order with other actions on the same key
   event.
2. The number of items in the internal action queue became out of sync
   with the debug item queue, which would cause the debugger to fail
   with an assertion.

The new test in debug_api.cpp validates this second issue as the number
of items in the action queue now matches the expected count in the
corresponding debug item.
2022-11-07 10:28:58 +11:00
Steven R. Loomis
670791d3a9 fix(core): ldml spec typo 2022-11-04 15:28:26 -05:00
Steven R. Loomis
1f2d8e782a fix(core): sprintf to snprintf 2022-11-04 15:06:12 -05:00