Commit graph

33096 commits

Author SHA1 Message Date
Eberhard Beilharz
062de1c6e7
Merge pull request #7434 from keymanapp/fix/linux/7397_debian-build-has-man-in-wrong-place
fix(linux): Fix make install
2022-10-12 16:06:20 +02:00
Eberhard Beilharz
c891f870b6
fix(linux): Fix make install
Several fixes for building and installing locally.

Fixes #7397. Closes #7398. Closes #7400.
2022-10-12 12:28:46 +02:00
Eberhard Beilharz
1e8e598cd3
chore(linux): Update readme
This change adds separate READMEs for the legacy projects, and
removes mentioning of the legacy projects in the current READMEs.
The motivation is to make it later easier to remove the legacy
projects, as well as reducing the efforts to testing the README with
legacy projects. Since legacy projects aren't maintained anymore
it doesn't make sense to still have them in the regular README,
suggesting that the instructions work for the legacy projects as
well.
2022-10-12 12:28:46 +02:00
Marc Durdin
b7000f5b7f chore(common): builder_start_action wildcard support 2022-10-12 13:28:37 +11:00
Marc Durdin
30121d9793 chore(common): remove space for builder_..._action param 2022-10-12 13:28:37 +11:00
Marc Durdin
d803d47d1d chore(common): handle missing files in path expansion 2022-10-12 13:28:16 +11:00
Marc Durdin
1cecb87f7f feat(common): builder dependency support 2022-10-12 12:50:26 +11:00
Steven R. Loomis
71ed48ba2e chore(linux): Add Node.js to the docker container
- used in feature-ldml

Relates to #7102
2022-10-11 15:57:55 -05:00
Steven R. Loomis
35799e2306 feat(core): kmx_plus: add accessors for elem 🙀
- other refactor and cleanup in kmx_plus

for #7234
2022-10-11 15:43:44 -05:00
Eberhard Beilharz
0cf307066d
chore: Ignore .devcontainer folder
[VSCode dev containers](https://code.visualstudio.com/docs/remote/containers)
allows to develop in a container and is configured through files
in `.devcontainer`. However, that directory falls in the same
category as `.vscode` in that it might be different on each
developer's machine, depending on preference and platform he's
working on. Therefore we exclude this directory similar to
`.vscode`.
2022-10-11 20:21:43 +02:00
Eberhard Beilharz
3053ebf67d
Merge pull request #7079 from keymanapp/feat/linux/outputOrdering
fix(linux): Fix reordering of output
2022-10-11 20:09:42 +02:00
Eberhard Beilharz
bcd29634bf
feat(linux): Address code review comments
Co-authored-by: Marc Durdin <marc@durdin.net>
2022-10-11 18:44:30 +02:00
Eberhard Beilharz
908dfbeefb
feat(linux): Optimize if surrounding text is supported
Only send fake event if client does not support surrounding text.
2022-10-11 18:44:30 +02:00
Eberhard Beilharz
e6601f205c
feat(linux): match state of original event when creating fake event
We forward a fake event for both keydown and keyup. This change
will set the flag on the fake event so that we get keydown and keyup.
This is probably not technically necessary, but it helps in
debugging because you can then see that both fake events still
belong to the same keypress.
2022-10-11 18:44:30 +02:00
Eberhard Beilharz
dba2002287
feat(linux): Still support older ibus versions
If we're dealing with an older ibus version that doesn't have the
necessary patches we fall back to the old behaviour. Otherwise
we use the new output reordering.
2022-10-11 18:44:29 +02:00
Eberhard Beilharz
e1d4169eeb
feat(linux): Optimizations 2022-10-11 18:44:29 +02:00
Eberhard Beilharz
18d0711ff3
fix(linux): Fix reordering of output
This change implements a commit queue which allows to control the
order of the output. This ensures that any backspace we generate
will be processed before the character we're adding.

Requires changes in ibus (surrounding text fix (see #7072) and
prefilter change)

Fixes #1489, #4028, #4029, #4030, #4505, #5510, #6639
2022-10-11 18:44:28 +02:00
Sabine
b56bb286a1 Merge branch 'refactor/developer/6026-kmcompx-compiler-cross-platform-part-2-NEW_VERSION' of https://github.com/keymanapp/keyman into refactor/developer/6026-kmcompx-compiler-cross-platform-part-2-NEW_VERSION
# Conflicts:
#	common/test/keyboards/invalid/README.md
#	developer/src/kmcmpdll/CompMsg.cpp
#	developer/src/kmcmpdll/Compiler.cpp
chore(developer): solve conflicts
2022-10-11 17:01:13 +02:00
Sabine
a6870f0816 chore(developer): re-include AddCompilerVersionStore in Compiler.cpp 2022-10-11 16:41:07 +02:00
Ross
a3645dde43 feat(windows): seperate localisation strings
Use a different string id for a button and header
as in other languages they may translate differently
2022-10-11 21:10:11 +10:00
Joshua Horton
9e17e1802f
Merge pull request #7432 from keymanapp/chore/web/feature-gestures-merge-master
chore(web): merges master into feature-gestures, updates branch scripts
2022-10-11 10:46:49 +07:00
Joshua A. Horton
b982afc5a9 chore(web): fixed typo in failing unit test 2022-10-11 08:30:12 +07:00
Joshua A. Horton
85b2c93c01 chore(web): builder script updates, karma version update match 2022-10-11 08:20:23 +07:00
Joshua A. Horton
5780da2cbf chore(web): Merge branch 'master' into chore/web/feature-gestures-merge-master 2022-10-11 08:11:44 +07:00
Joshua Horton
32b8263468
Merge pull request #7157 from keymanapp/feat/web/segmentation-headless-tests
feat(web): headless segmentation unit tests 🐵
2022-10-11 08:10:17 +07:00
Joshua Horton
0387c09b2d
Merge pull request #7142 from keymanapp/feat/web/segment-synthesis
feat(web): touchpath segment objects 🐵
2022-10-11 08:10:10 +07:00
Joshua Horton
c2e846524b
Merge pull request #7058 from keymanapp/feat/web/touchpath-segmentation
feat(web): gesture touchpath segmentation core 🐵
2022-10-11 08:10:03 +07:00
Marc Durdin
54fcdb2ec4
Merge pull request #7422 from keymanapp/feat/developer/epic-ldml/7238-generate-keymanweb-js
feat(developer): generate .js from ldml .xml 🙀
2022-10-11 11:43:10 +11:00
Marc Durdin
48378f8bef
Merge pull request #7421 from keymanapp/feat/common/epic-ldml/7238-keyman-touch-layout
feat(common): add keyman-touch-layout format and readers/writers for typescript 🙀
2022-10-11 11:42:53 +11:00
Marc Durdin
b274706646
Merge pull request #7420 from keymanapp/chore/developer/epic-ldml/7408-kmc-enable-sourcemaps-follow-up
chore(developer): enable sourcemaps for kmc 🙀
2022-10-11 11:40:20 +11:00
Marc Durdin
f054b06014 chore(developer): minor tweaks for usability
move Clear All button in read-only view
don't show a dialog for invalid graphics
2022-10-11 07:29:46 +11:00
Marc Durdin
bf8f636a14 fix(developer): Handle invalid graphics in icon editor
Fixes #7419.

If the user attempts to add an invalid graphic (e.g. a .png file saved
with a .ico extension), Keyman Developer will no longer crash when
trying to load the file.

Note that while the keyboard will still compile with an invalid graphic,
Keyman for Windows will refuse to install it. I have not tested other
platform handling of such a situation.
2022-10-11 07:18:09 +11:00
Marc Durdin
51a3679a90 fix(developer): Ctrl key to select key was conflicting with shortcuts
Fixes #7425.

In the layout editor, the "Select Key" dialog was being shown sometimes
when using shortcuts such as Ctrl+V. The reason this happened was that
the shortcut handler in Delphi was capturing the keydown of the V key,
so the Ctrl event handler never saw it. Then, if you pressed Ctrl+V, and
released the Ctrl key before releasing the V key (which often happens
when you press a shortcut rapidly), the Ctrl event handler would receive
notification of the Ctrl key release and trigger the "Select Key"
dialog.

This fix shifts the Ctrl key event handler out of the keyboard editor
and into the top-level application events handler -- this is the best
place where we can preview key events before they are passed to the
shortcut handler and controls for processing.

This necessitated adding a general `ControlKeyPressedAndReleased` event
function to the TIKE editor base class. This is currently only used by
`UfrmKeymanWizard` and `UfrmOSKEditor`.

I noted that the OSK editor did not currently support the Ctrl key
event to select a new key. As a part of this fix, I added support for
this, to bring it into line with the Layout Editor and the Touch Layout
Editor.
2022-10-11 06:39:38 +11:00
Keyman Server
0d3ec51398
Merge pull request #7429 from keymanapp/auto/version-master-16.0.78
auto: increment master version to 16.0.78
2022-10-11 05:02:13 +11:00
Keyman Build Agent
872ba555f3 auto: increment master version to 16.0.78 2022-10-10 14:01:30 -04:00
Joshua A. Horton
773a619ccf chore(web): null catches on observer toggle methods 2022-10-10 14:15:54 +07:00
Joshua A. Horton
ce6c05a2fb fix(web): inputMode masking on control enablement, not just attachment 2022-10-10 09:54:48 +07:00
Joshua A. Horton
068869c431 feat(web): enables text-selection unit tests for mobile 2022-10-10 09:11:20 +07:00
Joshua A. Horton
f8438d2117 chore(web): Merge branch 'master' into change/web/drop-touch-aliases 2022-10-10 09:04:24 +07:00
Joshua Horton
9e2fcde7a2
Merge pull request #7381 from keymanapp/chore/web/unit-test-polish-pass
chore(web): unit test polishing pass
2022-10-10 09:01:45 +07:00
Joshua Horton
d979cd1ee7
Merge pull request #7359 from keymanapp/fix/web/contextEditable-undefined-select
fix(web): possible error on change of context to a contextEditable
2022-10-10 08:59:41 +07:00
Marc Durdin
47da67a742 chore(developer): fixup import 2022-10-10 11:51:55 +11:00
Marc Durdin
faa37f24a9 chore(developer): handle EOL diff in tests 2022-10-10 10:55:35 +11:00
Marc Durdin
b4641efe69 feat(developer): generate .js from ldml .xml
Compiles a LDML keyboard .xml down to a KeymanWeb .js file. Currently
only supports some metadata.

Next step is to generate touch layout data, then to embed the binary kmx
data.
2022-10-10 10:08:37 +11:00
Marc Durdin
73586bada7 chore(common): fixup test comment 2022-10-10 07:38:16 +11:00
Marc Durdin
07dde4df3e chore(common): fix typos, add tests, simplify writer options 2022-10-10 07:36:14 +11:00
Marc Durdin
da72845da3 feat(common): add keyman-touch-layout format and readers/writers for typescript 2022-10-10 07:23:38 +11:00
Marc Durdin
8d7ea6dcbb chore(developer): enable sourcemaps for kmc 2022-10-10 05:42:18 +11:00
Marc Durdin
f8cc04b880
Merge pull request #7413 from keymanapp/chore/developer/epic-ldml/7408-kmc-enable-sourcemaps
chore(developer): enable source maps for kmc commands 🙀
2022-10-10 05:37:59 +11:00
Joshua A. Horton
5acb8f2ec1 fix(web): touch-drag selection 2022-10-07 09:10:30 +07:00