Commit graph

3486 commits

Author SHA1 Message Date
Marc Durdin
5ab9574112
Merge pull request #5906 from keymanapp/fix/web/5779-font-scaling-in-osk
fix(web): font size was not consistently set
2021-12-08 19:42:11 +11:00
Marc Durdin
c9dc10cc33 chore(windows): replace mkver with mkver.sh 2021-12-08 07:10:29 +01:00
Marc Durdin
ff01477075 chore(windows): use findstr instead of Borland grep
Removes one more dependency on Delphi tools
2021-12-08 07:10:07 +01:00
Marc Durdin
dfaa0bb005 chore(windows): fix build for setup locale data 2021-12-08 05:14:01 +01:00
Marc Durdin
6a0b4636c8 chore(windows): fix builds for oskbulkrenderer and etl2log 2021-12-08 05:12:45 +01:00
Marc Durdin
261fae7edd chore(windows): fixup devsetup makefile whitespace 2021-12-07 19:31:00 +01:00
Marc Durdin
dee896b4c6 chore(windows): move from Borland make to nmake
While it may be smarter to move to a different build system altogether,
it is also a *lot* more work. This was a fairly minor syntax refresh to
get nmake working with our existing Makefile system. This is now no
longer compatible with Borland make, so you will need to use `nmake` to
build.

The presence of NMAKE.md informs builds systems that nmake should be
used instead of make.
2021-12-06 12:47:31 +04:00
Ross
c26e1f3485 chore(common): buf now uses decxstr so remove comment
remove comment about it splitting surrogate pairs and
deadkeys
2021-12-06 10:37:49 +10:00
Marc Durdin
bf65ecf82b chore(windows): path fixes for version.rc includes 2021-12-05 17:24:28 +11:00
Marc Durdin
e00ff063c8 chore(windows): version.rc use macros instead of mkver 2021-12-05 17:12:56 +11:00
Marc Durdin
312dee762b
Update windows/src/developer/TIKE/xml/layoutbuilder/builder.js
Co-authored-by: Eberhard Beilharz <ermshiperete@users.noreply.github.com>
2021-12-05 06:42:37 +11:00
rc-swag
faff079e2e
chore(common):fix typos in commments 2021-12-03 15:18:59 +10:00
Ross
884c249286 chore(common): add more description to Buf method
Also updated the doxy to remove the brief tag.
Made mirror change to appint.h
2021-12-03 10:01:53 +10:00
Marc Durdin
bf42bc4141
Merge pull request #5972 from keymanapp/fix/developer/kmcomp-build-js-message
fix(developer): building kmw keyboard had wrong message callback signature
2021-12-03 08:47:46 +11:00
Marc Durdin
4b3405fef9 fix(developer): debugger crash with empty group
As the array length properties are unsigned integers, taking -1 from
them resulted in an integer overflow when the array was empty. A gotcha
with Delphi-style for loops!
2021-12-02 05:12:52 +11:00
Marc Durdin
88ea17e0ba feat(developer): support for Caps Lock layer 🍆
Relates to #3620.

Allows keyboard developers to add a Caps Lock layer (called 'caps'),
which will be accessible through double-tap of Shift key, in an upcoming
PR.

Also adds test keyboards to exercise the functionality when it is
available.
2021-12-01 08:53:23 +11:00
Marc Durdin
67f7839e72 feat(developer): support for start-of-sentence in IDE
Relates to #3621.

Adds `&layoutChanged`, `begin newcontext`, `begin postkeystroke` support
to IDE editor and keyword help.
2021-11-30 14:56:51 +11:00
Marc Durdin
25dfdf3a88
Merge pull request #5978 from keymanapp/chore/developer/tweak-lang-metadata-message
chore(developer): tweak language metadata message
2021-11-29 16:10:56 +11:00
Marc Durdin
e296eb8a67 chore(windows): Merge branch 'master' into chore/windows-setup-notes 2021-11-29 16:09:36 +11:00
Ross
059af9efd1 feat(windows): add MapUSCharToVK to kmx processor 2021-11-29 10:52:16 +10:00
Ross
31d7200a63 feat(windows): replace insert_or_assign with[] for hashmap
Also update issue comment for future removal of winows processor code
2021-11-29 10:52:07 +10:00
rc-swag
4e1ccfdd4f feat(windows): apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2021-11-29 10:52:04 +10:00
Ross
ac16abdb18 feat(windows): rename key_rules -> key_list 2021-11-29 10:52:02 +10:00
Ross
9f44cf49fc feat(windows): fix pkeys index add comments
The pkeys was using the wrong counter as a index
in the map check therefore matching the incorrect key
2021-11-29 10:52:01 +10:00
Ross
72d8188a38 feat(windows): complete common core get rules api 2021-11-29 10:51:59 +10:00
Marc Durdin
3f35cc0bf8 chore(web): Merge branch 'master' into feat/web/3621-newcontext-group 2021-11-29 10:22:22 +11:00
Marc Durdin
e98930dedb
Merge branch 'master' into fix/web/5779-font-scaling-in-osk 2021-11-29 09:12:15 +11:00
Marc Durdin
b930d8199a chore(developer): tweak language metadata message
Relates to https://community.software.sil.org/t/why-does-the-details-tab-in-keyman-developer-still-refer-to-keyman-10/5612/3
2021-11-29 08:27:21 +11:00
Marc Durdin
d4186b5093
Merge pull request #5971 from keymanapp/chore/developer/move-kcframe
chore(developer): move kcframe into its own folder
2021-11-29 06:38:39 +11:00
Marc Durdin
94cfbae33d
Merge pull request #5923 from keymanapp/fix/developer/5905-debugger-render-on-touch-devices
fix(developer): render OSK nicely on touch devices
2021-11-29 06:37:15 +11:00
Marc Durdin
9fc9d9391e fix(developer): building kmw keyboard had wrong message callback signature
Picked up during #5963 development.

If you ran `kmcomp <file.kmn> <out.js>`, compiler messages were passed
to a function with an incorrect signature, resulting in an exception.
This was a mode that was not widely used, which is why we haven't
picked it up earlier.
2021-11-25 14:37:47 +11:00
Marc Durdin
ac30b280ae chore(developer): move kcframe into its own folder 2021-11-25 14:35:51 +11:00
Marc Durdin
2de8c145c0 fix(developer): kmdecomp string overflow
Picked up in development of #5963.
2021-11-25 14:32:24 +11:00
Marc Durdin
e24b7561c6 feat(developer): add readonly group support
Relates to #3621.

Adds `readonly` group support and verifies that keyboards meet
constraints around usage of these groups.

(Note: fixes test_valid.kps and test.bat which seemed to have some
invalid tests?)
2021-11-25 14:27:05 +11:00
Marc Durdin
ce2aa9a166 feat(web): support for &layerChanged
Relates to #3621.

Add support for `&layerChanged` system store. This store is set to `1`
before a `begin postKeystroke`, if the keystroke it follows resulted in
a layer change, either programatically through a keyboard rule, or
through a `nextlayer` property of the touched key.
2021-11-24 06:45:20 +11:00
Marc Durdin
80db98a5f9 feat(web): compiler support for newContext, postKeystroke
Relates to #3621.

This adds basic compiler support for the `begin newContext` and
`begin postKeystroke` statements, along with the corresponding `gn` and
`gpk` entry points in the compiled JavaScript keyboard.

TODO: `readonly` semantics, usage constraints, `&layerChanged`.
2021-11-23 10:13:14 +11:00
Ross
eb080e1b15 fix(windows): address review comments 2021-11-23 07:57:24 +10:00
rc-swag
46042987df
fix(windows): commit review suggestions
Co-authored-by: Marc Durdin <marc@durdin.net>
2021-11-23 07:20:22 +10:00
Ross
ec98070775 fix(windows): remove set default registry value 2021-11-22 21:37:41 +10:00
Ross
de966aa5c5 fix(windows): fix loadkeyboardoptions core memory error
LoadKeyboardOptionsCore no longer frees memory that
has not been allocated.
2021-11-22 15:33:47 +10:00
Marc Durdin
9259ba5827 fix(developer): move web osk beneath text area
Fixes #5926.

This gives space for the popups to appear, even if they are large.
2021-11-18 15:00:44 +11:00
Marc Durdin
68135b9a5e fix(developer): use correct tike icon
Fixes #5924.

I'm not sure when this happened. But it should be right now.
2021-11-17 16:48:42 +11:00
Marc Durdin
5789d39deb fix(developer): render osk nicely on touch devices
Fixes #5905.

Touch devices now use a touch keyboard only in the web debugger.
2021-11-17 15:46:04 +11:00
Darcy Wong
c98ac9880c
Merge pull request #5841 from keymanapp/chore/common/crowdin-ff-ng
chore(common): Check in crowdin strings for Fulfulde Nigeria
2021-11-17 09:24:35 +07:00
Darcy Wong
31b4fee7d0
Merge pull request #5857 from keymanapp/common/crowdin-mfi
chore(common): Check in crowdin strings for Mandara (Wandala)
2021-11-16 09:24:07 +07:00
Darcy Wong
a44b300adb Merge remote-tracking branch 'origin/master' into chore/common/crowdin-ff-ng 2021-11-15 09:15:43 +07:00
Darcy Wong
0c03a8b65a
Merge pull request #5839 from keymanapp/chore/common/crowdin-bwr
chore(android,linux,windows): Check in crowdin strings for Bura-Pabir
2021-11-15 08:10:31 +07:00
Marc Durdin
9da4ffa77a fix(web): font size was not consistently set
Fixes #5779.
Fixes #5731 (I believe mitigation is sufficient to close this issue).

A variety of interrelated font and font size display issues resolved:
1. KVK font was not applied early enough for size calculations, which
   meant that we were calculating font scaling per key based on a
   default font when transforming from the KVK data for desktop devices
   (defaultLayout.ts)
2. Font scaling for non-default layers was calculated when elements were
   not visible and had no size information, giving incorrect values. To
   resolve this, font scaling is now calculated when a layer is made
   visible, which had performance impacts; resolved by reducing
   unnecessary `layer.refreshLayout()` calls; see performance point 1
   below (oskView.ts:layerChangeHandler())
3. `getViewportScale()` would return an incorrect scaled value when
   emulating touch devices on a desktop browser (kmwutils.ts)
4. After switching keyboards, the device-specific scaling factor was not
   maintained (oskView.ts:refreshLayout())

Related performance improvements:
1. Multiple calls to `layer.refreshLayout()` in `refreshLayout()` have
   been eliminated, and only the currently visible layer is now
   refreshed. This dramatically reduces the number of calls to
   `getIdealFontSize()` which was the primary concern of #5731.
   (visualKeyboards.ts)
2. Unnecessary use of `innerHTML` replaced with `innerText`
   (oskBaseKey.ts)

Minor Keyman Developer performance improvement:
1. The web debugger no longer recalculates the OSK twice (test.js)
2021-11-15 10:08:18 +11:00
Marc Durdin
a25b9cd8eb
Merge pull request #5894 from keymanapp/feat/developer/2858-u_xxxx_yyyy
feat(developer): support for U_xxxx_yyyy
2021-11-14 15:47:55 +11:00
Marc Durdin
97f60c7f40
Merge pull request #5895 from keymanapp/feat/developer/5464-validate-kps-file
feat(developer): validate .kps files during compile
2021-11-13 09:54:54 +11:00