Commit graph

85 commits

Author SHA1 Message Date
Marc Durdin
773ed6224b fix(developer): keyboard_info merge mobile wrong
The .keyboard_info merge of `platformSupport` would not always give the
right result, for .js keyboards. We have a certain lack of information
in the .js which makes it a little tricky to determine precisely what
the set of supported platforms are. Thus, if we find a .js within a
.kmp, we'll assume it supports mobile; if we find a .js by itself,
we'll assume it supports web. (Thus, a keyboard that builds a .js
is assumed to always support web -- but not necessarily mobile now).

Some keyboards that have incorrectly added a .js into a package, e.g.
sil_cipher_music, will be marked as supporting mobile even though they
don't. The correct fix here is to remove the .js from the package for
that keyboard.
2019-11-13 13:23:55 +11:00
Marc Durdin
a36b6d3557 fix(developer): nul in context caused incorrect deletion for 10.0 2019-11-06 07:00:03 +11:00
Marc Durdin
9c5e30d82a [Windows] Update build scripts, compiler conditionals, and address hints arising with move to Delphi 10.3.2 2019-10-24 20:43:17 +07:00
Marc Durdin
fd302b0197 [Developer] Cleanup logging and support colour messages in kmcomp. Fixes #2016. 2019-09-24 15:41:40 +10:00
Marc Durdin
c55097ab2a [Developer] Only apply fix is the LadderLength registry value != 0 2019-04-02 16:56:22 +11:00
Marc Durdin
cf1cde65fa [Developer] Fix mismatch of shift/key state for grouping rules 2019-04-01 10:36:54 +11:00
Marc Durdin
ebc2263a0b [Developer] Simplify rule construction in web compiler to avoid errors in emitted javascript 2019-04-01 10:25:35 +11:00
Marc Durdin
30a30d1ab0 [Windows] Fix incorrect assumption around rule order 2019-03-31 08:34:40 +11:00
Marc Durdin
abb1cbabbb [Developer] Regression testing just paid for itself. 2019-03-29 17:22:50 +11:00
Marc Durdin
e8d0210da0 [Developer] Cleanup and address review comments 2019-01-31 09:25:11 -06:00
Marc Durdin
8b1199b4fb [Developer] Fix hints 2019-01-30 16:41:18 -06:00
Marc Durdin
95cdd73fdc [Developer] Fixes #183 - workaround for Chrome ladder limitation 2019-01-30 15:54:10 -06:00
Marc Durdin
5f81681458 [Web] [Developer] Fixes #1117. displayUnderlying flag is now separate for different platforms. 2019-01-15 15:01:35 +11:00
Darcy Wong
52f9bc0589 More cleanup for review comments 2018-12-17 12:04:38 +07:00
Darcy Wong
e8ba0944ea Update languages objects to add subtag names 2018-12-17 09:58:07 +07:00
Darcy Wong
f55a9477e3 Address review comments
Cleanup and fixes null pointer exception
2018-12-17 09:00:00 +07:00
Darcy Wong
7ceb1f175f Add Script/Region back 2018-12-15 22:12:12 +07:00
Darcy Wong
846c05693b Tweak Free 2018-12-15 22:09:07 +07:00
Darcy Wong
03ac003f47 Fix check for scriptName / regionName 2018-12-15 21:01:37 +07:00
Darcy Wong
abb1b9f7bd Try to fix NPE 2018-12-14 23:33:52 +07:00
Darcy Wong
56cf43f210 clean up unused var 2018-12-14 16:30:37 +07:00
Darcy Wong
c31c180610 Start writing subtag names 2018-12-14 16:17:28 +07:00
Darcy Wong
430ff3ecf4 Revert ValidateKeyboardInfo 2018-12-14 12:52:12 +07:00
Darcy Wong
a9e1c59274 Move migration code to MergeKeyboardInfo 2018-12-14 12:49:36 +07:00
Darcy Wong
2e5fd959c1 Staged the wrong file 2018-12-13 23:34:44 +07:00
Darcy Wong
50a5e091ea Start trying to generate displayName and languageName 2018-12-13 21:00:05 +07:00
Darcy Wong
7563cbedce Add MigrateLanguagesArray function 2018-12-13 15:58:23 +07:00
Darcy Wong
4a8b645e97 Add "-add-help-link" parameter to kmcomp
Cherrypick of #1346
2018-11-27 15:51:28 +07:00
Marc Durdin
eb53d4065c [Developer] Rename project units, adding namespaces 2018-09-23 13:10:22 +10:00
Darcy Wong
bbc42a4830 Final cleanup
* Remove unneeded line
* Update history.md
2018-09-11 19:08:49 +07:00
Darcy Wong
ff7ed21eff Resolve more review comments
* Consolidate `AddJSFile` into `LoadJSFile`
* Cleanup unnecessary vars, indentation
* Add TODO on adding 'android' and 'ios' platformSupports for the time being
* Revert .kxx in `utilfiletypes.pas`
2018-09-10 10:41:32 +07:00
Darcy Wong
cc932a0bea Lower-case a typo 2018-09-07 22:54:20 +07:00
Darcy Wong
23f95e4352 Revert how LoadKMPFile handles legacy keyboards
Since some legacy keyboards aren't listed in a keyboards section of kmp.inf, need to revert how those kmx files get added.
2018-09-07 16:34:54 +07:00
Darcy Wong
5dbf98c641 Update CheckPackageKeyboardFilename
Validation that  kmx / js file exists moved to apply only to release/ keyboards
2018-09-07 14:57:48 +07:00
Darcy Wong
8f0a4b4fea Refactor MergeKeyboardInfo
Refactor MergeKeyboardInfo to handle these keyboard scenarios:

* JS file not in package (web only)
* KMP package with kmx files (desktop only)
* KMP package with JS files (mobile only)
* KMP package with kmx and JS files (desktop, android, ios)

## Changes ##
* Rename `FKMXFiles` to `FPackageKMXFileInfos`
* Create private var `FPackageJSFileInfos`
* Update `TMergeKeyboardInfo.LoadKMPFile` to populate `FPackageJSFileInfos`
* Rename `FJSFiles` to `FJSFileInfo`, change it from array to scalar, and apply only to js files outside package
* Update `LoadKMPFile` to use the Keyboards structure in `FKMPInfFile` to determine which files inside the package are keyboards (`FKMPInfFile.Keyboards`)
* Rename `CheckKMXFilenames` to `CheckPackageKetyboardFilenames` and update to report on .js and .kmx file inside the .kmp
* Update `kmxfile.GetKeyboardInfo` to read targets store and persist in KeyboardInfo
* Update `AddPlatformSupport` to account for targets
2018-09-07 14:19:01 +07:00
Marc Durdin
a979016795 Fixes #920. A deadkey match in KeymanWeb 10.0 keyboards should not be skipped in context indexing 2018-06-19 13:34:03 +07:00
Joshua A. Horton
a893768716 Incorporates Developer and corrects the application of the KMW side. 2018-05-07 14:39:12 +07:00
Marc Durdin
800042af65 Fixup other projects 2018-04-30 14:24:11 +07:00
Marc Durdin
3c34286b0a Fixes #719 - web compiler not escaping quote char 2018-03-31 10:29:44 +07:00
Marc Durdin
9d9cd7e440 Test that project is present before attempting to check project options in build 2018-03-12 14:09:16 +07:00
Marc Durdin
aac2070c9b
Merge pull request #662 from keymanapp/developer-dont-write-js-output-for-failed-warning-builds
Don't product output js file if warnings are found and fail-on-warning is set
2018-03-12 13:21:51 +07:00
Marc Durdin
b097302075
Merge pull request #660 from keymanapp/developer-allow-t_and-u_-keys-in-mnemonic-layouts
Rework test for virtual keys in mnemonic layouts. Still not completely supported but a step in the right direction
2018-03-11 19:13:04 +07:00
Marc Durdin
17daeb3f39 Don't product output js file if warnings are found and fail-on-warning is set 2018-03-11 19:07:43 +07:00
Marc Durdin
6d5cc68a4a Rework test for virtual keys in mnemonic layouts. Still not completely supported but a step in the right direction 2018-03-09 13:13:47 +07:00
Joshua Horton
81071ab95e
Merge pull request #627 from keymanapp/developer-281-web-deadkeys
10.0 Deadkey compilation for Web
2018-03-07 12:08:38 +07:00
Joshua A. Horton
ad52d39cb7 Fixes KDC length calculations when IF store ops are present in output. 2018-03-07 10:38:33 +07:00
Joshua A. Horton
67ddb50fe1 Moves 'KLS' to within the 'KV' object for ease of KMW layout building. 2018-03-05 14:44:12 +07:00
Joshua A. Horton
84da1cd556 Safer fix along the lines of last commit. 2018-03-05 13:12:41 +07:00
Joshua A. Horton
b9aff7f5a9 Fixes issue with keys-as-sentinels in stores. 2018-03-05 13:03:31 +07:00
Joshua A. Horton
5cd722db71 Tweaked the 'index' rule object to be simpler and smaller. 2018-03-01 08:35:10 +07:00