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.
[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`.
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.
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.
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
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.
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.
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.