Commit graph

27982 commits

Author SHA1 Message Date
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
Joshua A. Horton
6dec90c868 chore(web): and another 2022-10-07 08:57:01 +07:00
Joshua A. Horton
c60f2f5d4e chore(web): more dead code cleanup 2022-10-07 08:56:29 +07:00
Keyman Server
64c29654a3
Merge pull request #7416 from keymanapp/auto/version-master-16.0.77
auto: increment master version to 16.0.77
2022-10-07 05:17:20 +11:00
Keyman Build Agent
5dc53e25dd auto: increment master version to 16.0.77 2022-10-06 14:16:44 -04:00
Sabine
2738052264 chore(developer): check for '_' after Errornumber in Filename 2022-10-06 16:38:49 +02:00
Sabine
d879761de7 chore(developer): change ErrExtra, change CompileMsg, change _finddata in FileExists 2022-10-06 16:33:52 +02:00
Eberhard Beilharz
3a0541d2e3
Merge pull request #7396 from keymanapp/chore/linux/6385_unnecessarySurrogateCheck
chore(linux): Cleanup unnecessary surrogate check
2022-10-06 10:09:05 +02:00
Darcy Wong
14b306e943 modify(android/engine): Stop logging if keyboard index not found
In displaying  some language lists, it's expected for a languageID not to be found. (e.g. "Add languages to installed keyboard")
2022-10-06 15:08:04 +07:00
Darcy Wong
b11145c3ce chore(android): Remove unnecessary build action 2022-10-06 14:26:30 +07:00
Marc Durdin
1dd4fe5315 chore(developer): enable source maps for kmc commands
Fixes #7408.

For kmc*.cmd, enables source maps. If you are running kmc from node on
your own system, you may need to enable source maps in other ways.

Note that error reports should be going through to Sentry, and source
maps should already be used for those.
2022-10-06 17:48:22 +11:00
Darcy Wong
ba08ababfe fix(android/engine): Fix casing of Samples path 2022-10-06 08:45:29 +07:00
Darcy Wong
619d833ccf chore(android): Add temporary .build-builder file for CI 2022-10-06 07:12:33 +07:00
Keyman Server
0191d9a3ac
Merge pull request #7409 from keymanapp/auto/version-master-16.0.76
auto: increment master version to 16.0.76
2022-10-06 05:02:09 +11:00
Keyman Build Agent
5762cd6f68 auto: increment master version to 16.0.76 2022-10-05 14:01:30 -04:00