Commit graph

1985 commits

Author SHA1 Message Date
Marc Durdin
54a655e92e feat(developer): add hint and displayHint to touch layout validation and parsing 2022-07-14 10:58:55 +10:00
Marc Durdin
51a94a1d7d feat(developer): cleanup touch layout files on load and save
Improves the .keyman-touch-layout clean schema and adds additional
cleanup during load and save in the Touch Layout Editor.

The compiler already does transforms for the relevant fields to the
formats that KeymanWeb is expecting (in particular, width, pad to
string).

This is preparation for adding hint data to the format as well.
2022-07-14 10:57:39 +10:00
Marc Durdin
60dabb5284 feat(developer): add support for flick and multitap to compiler 2022-07-14 10:57:25 +10:00
Marc Durdin
b702b7dbc3 fix(developer): fix issues with template and presentation 2022-07-14 10:55:03 +10:00
Marc Durdin
d29468441d chore(developer): remove multitap icon cleanly 2022-07-14 10:55:02 +10:00
Marc Durdin
f9241f4cd7 chore(developer): minor cleanup 2022-07-14 10:55:01 +10:00
Marc Durdin
268ba98219 feat(developer): Support new touch layout definitions in Delphi
Also minor tweaks to allow jquery-ui images to load, fixup for broken
file path for node.exe.
2022-07-14 10:55:01 +10:00
Marc Durdin
feee081f6f feat(developer): tweaks ui for selected key cap
* Separates out the 'command' icon key cap controls
* Fixes selection of last active element with undo
2022-07-14 10:55:00 +10:00
Marc Durdin
a637b58066 feat(developer): rework touch layout editor
* Restrucure touch layout editor to make space for additional gesture
  types:
  * Move control bar to right hand side
  * Move key cap edits to control bar.
* Adds flick and multitap gestures:
  * Adds buttons to add longpress keys, flicks or multitaps.
* Adds Unicode value boxes which mirror the key cap text box.
* Updates key width values in real time when resizing
* Maintain selected key as far as possible across layer switch, platform
  switch and presentation view switch.
* Starts to split 'special' key cap icons from normal key caps.
2022-07-14 10:54:59 +10:00
Marc Durdin
5875cf504f chore(developer): update jquery-ui version to 1.13.1 2022-07-14 10:54:58 +10:00
Marc Durdin
054423fbef chore(developer): refactor subkeys out of builder.js 2022-07-14 10:54:57 +10:00
Marc Durdin
83bf20cb44 chore(developer): refactor 'constants' out of builder.js 2022-07-14 10:54:56 +10:00
Marc Durdin
f8f271577b chore(developer): refactor undo actions out of builder.js 2022-07-14 10:54:55 +10:00
Marc Durdin
c88826ccaa chore(developer): refactor builder.js 2022-07-14 10:54:54 +10:00
Marc Durdin
d4c3dd89a3
Merge pull request #6918 from keymanapp/feat/developer/build-kmcomp-distributable-in-release
feat(developer): compiler regression support (build kmcomp-$version.zip during release build) 🚦
2022-07-14 10:52:45 +10:00
Sabine
0a66df6914 changes in meson + include-paths of several files 2022-07-13 14:36:27 +02:00
Marc Durdin
05b3c23b98 fix(developer): QR Code for Package Editor had wrong path 2022-07-12 15:04:58 +10:00
Marc Durdin
9a3d11e9ff feat(developer): Option to skip embed of compiler version
If `-no-compiler-version` is specified, then we skip the embedding of
the `TSS_COMPILEDVERSION` and `TSS_KEYMANCOPYRIGHT` stores. This is
intended for use with regression test builds of keyboards when we want
to verify changes to the compiler.

This patch introduces the new export `SetCompilerOptions` in kmcmpdll,
which should make it easier to include new options like this in future
versions.
2022-07-11 12:01:13 +10:00
Marc Durdin
b700432583 fix(developer): kmdecomp stability tweaks
Adds kmdecomp to kmcomp-<version>.zip and fixes a couple of stability
issues:

* Increase buffer sizes (this fix very much a hack)
* Ensures that .bmp/.ico files are saved to correct output folder
* Disable loading sentry.dll when running on WINE
2022-07-11 10:42:33 +10:00
Marc Durdin
e38cc79efc feat(developer): build kmcomp-$version.zip during release build
Replaces the script building kmcomp-$version.zip in TeamCity. Will be
used for more automated keyboard testing shortly.

Means kmcomp-$version.zip will be available as an artifact in all test
builds.

@keymanapp-test-bot skip
2022-07-09 15:45:44 +10:00
Marc Durdin
27eb1b9f19 fix(developer): add no-ops for symbol builds for components
Fixes the release build where we do `nmake symbols` for developer/src,
which was failing on calls to these two sets of components. (In
windows/src, the build structure is different due to an additional layer
of folders, so we end up with no `nmake symbols` call on the common
components).
2022-07-08 05:04:10 +10:00
Marc Durdin
de4dc1a6e1 fix(developer): set contextDevice in web debugger
With the fix in fix/web/context-only-device, we need to ensure that the
debugger correctly tells KeymanWeb which device is active.

@keymanapp-test-bot skip
2022-07-07 13:09:00 +10:00
Marc Durdin
da89fe4b9b
Merge pull request #6866 from keymanapp/fix/developer/show-version-number
fix(developer): Show full version number
2022-07-06 05:41:26 +10:00
Marc Durdin
a0d6150922
Merge pull request #6865 from keymanapp/fix/developer/6799-readonly-groups-never-emit
fix(developer): readonly groups should never emit output
2022-07-06 05:41:08 +10:00
Marc Durdin
5d9aea7094 chore(developer): increase label height in setup 2022-06-29 12:54:22 +10:00
Marc Durdin
7ec9859838 fix(developer): Show full version number
Updated various places in Keyman Developer to show the full
VersionWithTag rather than the short version number we had been
previously showing:

- About dialog
- Welcome screen
- Installer
- kmcomp help
- kmconvert help
- kmanalyze help
- kmdecomp help

This should help when testing to verify that we are testing the right
version.

Also fixed the keymansentry path when running command line C++ programs
from source repo.
2022-06-29 10:58:40 +10:00
Marc Durdin
2fc74ce8e0 fix(developer): dist path for server
Fixes #6859.

The production path needed to have all files under the build/dist/
folder, not just the build/ folder. Broken in the refactor in #6630.
2022-06-29 06:17:12 +10:00
Marc Durdin
17f11dfff0 fix(developer): readonly groups should never emit output
Fixes #6799.

For KeymanWeb compiled keyboards, readonly groups should never emit any
output. Rules in these groups permitted only to:
  * `use` other readonly groups
  * `call` external functions (which MUST NOT emit output)
  * `set`, `reset` or `save` store values

The base kmx compiler does emit output for rules in readonly groups.
Thus, the KeymanWeb compiler, when it transpiles from the generated
.kmx, needs to omit output for any readonly group, while avoiding any
other potential change in behaviour.
2022-06-29 06:06:12 +10:00
Marc Durdin
6466b1d68d chore(developer): +x for scripts 2022-06-25 09:32:57 +10:00
Marc Durdin
4f36c3c2df chore(developer): Merge branch 'master' into chore/developer/js-to-lmc 2022-06-25 05:48:57 +10:00
Marc Durdin
3464cbac35 chore(windows): Merge branch 'chore/developer/js-to-lmc' into chore/windows/move-general-developer-files 2022-06-25 05:42:39 +10:00
Marc Durdin
018eb6cd53 chore(windows): Merge branch 'chore/developer/js-to-lmc' into chore/windows/move-common-packages-files 2022-06-25 05:41:23 +10:00
Marc Durdin
4eaee2217a
Merge branch 'chore/developer/js-to-lmc' into chore/windows/move-common-keyboards-files 2022-06-25 05:40:25 +10:00
Marc Durdin
c108008440 chore(windows): Merge branch 'chore/developer/js-to-lmc' into chore/windows/move-common-general-files 2022-06-25 05:39:26 +10:00
Marc Durdin
f22ed1a4a7
Merge pull request #6815 from keymanapp/chore/windows/delete-unused-general-files
chore(windows): delete unused files from global/delphi/general 🎢
2022-06-25 05:32:03 +10:00
Marc Durdin
a0fe8b16f8
Merge branch 'chore/developer/js-to-lmc' into chore/developer/move-common-components 2022-06-24 14:23:02 +10:00
Marc Durdin
360fc6e5e2
Merge pull request #6800 from keymanapp/chore/developer/move-developer-components
chore(developer): move Developer-specific components 🎢
2022-06-24 09:36:19 +10:00
Marc Durdin
fde9aa213f
Update developer/src/tike/Tike.dpr
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2022-06-24 09:36:12 +10:00
Marc Durdin
d8b5e214cf
Merge pull request #6781 from keymanapp/chore/windows/remove-unused-components
chore(windows): remove unused components 🎢
2022-06-24 09:35:59 +10:00
Marc Durdin
34d4706a9b
Merge pull request #6760 from keymanapp/chore/windows/move-delphi-global-ui-units
chore(windows): rearrange global/delphi/ui units 🎢
2022-06-24 09:35:52 +10:00
Marc Durdin
1910ac85f5 chore(windows): Merge branch 'chore/developer/js-to-lmc' into chore/windows/move-delphi-common-units 2022-06-23 15:56:15 +10:00
Marc Durdin
f1f4e35bba
Merge pull request #6758 from keymanapp/chore/windows/move-delphi-developer-units
chore(windows): move Delphi developer units to developer 🎢
2022-06-23 15:55:27 +10:00
Marc Durdin
4eb21ad7ef
Merge pull request #6757 from keymanapp/chore/windows/remove-onlineconstants-pas
chore(windows): remove unused OnlineConstants 🎢
2022-06-23 15:55:15 +10:00
Marc Durdin
0902c730c0
Merge pull request #6756 from keymanapp/chore/windows/move-keymanversion-h
chore(windows): move keymanversion.h to common 🎢
2022-06-23 15:55:06 +10:00
Marc Durdin
45969da17b chore(windows): Merge branch 'chore/developer/js-to-lmc' into chore/windows/cleanup-keyman64-h 2022-06-23 15:54:11 +10:00
Marc Durdin
5075b54343
Merge branch 'chore/developer/js-to-lmc' into chore/windows/move-common-headers 2022-06-23 15:52:06 +10:00
Marc Durdin
ca17d9e313 chore(developer): README and more path fixups 2022-06-23 10:58:58 +10:00
Marc Durdin
385045e978 chore(windows): fixup refs and move StockFileNames
* StockFileNames.pas was missed in earlier moves.
* Cleaned up references in various dproj files
* Fixed up broken references to common files
2022-06-23 09:47:59 +10:00
Marc Durdin
393083509a chore(windows): move tike files from global to developer
These files used only by TIKE so moved into that project.

Noticed obsolete refs to UMD5Hash and removed those at the same time.
2022-06-23 09:34:03 +10:00
Marc Durdin
9bb4c27e61 chore(windows): move general developer files to developer/ 2022-06-23 09:28:34 +10:00