Commit graph

33096 commits

Author SHA1 Message Date
Joshua A. Horton
4dcfc34fbf chore(web): Merge branch 'feat/web/recognizer-input-unit-testing' into feat/web/recognizer-input-unit-testing-2 2022-07-27 09:51:39 +07:00
Joshua A. Horton
c7fa2e7a16 change(web): recording update to TrackedInput format 2022-07-27 09:49:56 +07:00
Joshua A. Horton
7906cb7a94 change(web): recording object type update 2022-07-27 09:43:41 +07:00
Joshua A. Horton
c83271e6af change(web): recorder code - InputSequence -> TrackedPoint 2022-07-27 09:39:57 +07:00
Joshua A. Horton
20e9d387fa change(web): _replacer -> toJSON 2022-07-27 09:35:52 +07:00
Joshua A. Horton
1fc19b048e chore(web): Merge branch 'feat/web/recognizer-multipoint-tracking' into feat/web/recognizer-input-unit-testing 2022-07-27 09:34:08 +07:00
Joshua A. Horton
8ffe563615 docs(web): documents some classes 2022-07-27 09:32:19 +07:00
Joshua A. Horton
9854660832 change(web): path method rename 2022-07-27 09:32:18 +07:00
Joshua A. Horton
a12746d2f8 fix(web): updates testing host-page 2022-07-27 09:32:17 +07:00
Joshua A. Horton
5728721c36 change(web): incomplete -> TrackedInput, heavy reorg 2022-07-27 09:32:08 +07:00
Joshua A. Horton
8b1196bacc chore(web): minor cleanup before big transition 2022-07-27 09:25:37 +07:00
Joshua A. Horton
6a8eb31dc6 change(web): TrackedPath class 2022-07-27 09:24:24 +07:00
Joshua A. Horton
b67eed9d5c feat(web): stronger event typing 2022-07-27 09:22:21 +07:00
Joshua A. Horton
a769306bd0 change(web): better EventEmitter declaration 2022-07-27 09:22:14 +07:00
Joshua A. Horton
70b2e2fec6 change(web): TrackedPoint docs, clearer JSON serialization 2022-07-27 09:21:42 +07:00
Joshua A. Horton
5caea32bad change(web): InputSequence -> TrackedPoint 2022-07-27 09:21:33 +07:00
Joshua A. Horton
fd39da0be9 change(web): _replacer -> toJSON 2022-07-27 09:19:30 +07:00
Keyman Server
e9b0ea6558
Merge pull request #6998 from keymanapp/auto/version-master-16.0.39
auto: increment master version to 16.0.39
2022-07-27 04:02:54 +10:00
Keyman Build Agent
7254a27ecb auto: increment master version to 16.0.39 2022-07-26 14:02:07 -04:00
Eberhard Beilharz
2a55ffb024
chore(linux): Update info for uploading to Debian 2022-07-26 15:48:49 +02:00
Eberhard Beilharz
85486144fa
chore(linux): Update debian changelog 2022-07-26 15:40:40 +02:00
Eberhard Beilharz
ae61410cc9
chore(linux): Add script to upload to debian
- Create and sign source package
- Upload to mentors.debian.net
- Create (and optionally push) commit with updated changelog file
  based on stable branch
- Create (and optionally push) commit with updated changelog file
  based on master branch
2022-07-26 15:39:10 +02:00
Marc Durdin
e71a0d86c3
Merge pull request #6988 from keymanapp/chore/linux/cherry-pick/changelog
chore(linux): Update changelog 🍒
2022-07-26 13:57:58 +10:00
Marc Durdin
eb8fa4c294
Merge pull request #6984 from keymanapp/fix/android/6981-longpress-movement-threshold
fix(android): rework longpress movement trigger 🎁
2022-07-26 13:57:44 +10:00
Marc Durdin
66e07aed48
Merge pull request #6989 from keymanapp/fix/developer/improve-error-for-multi-part-key-ids
fix(developer): improve error message for multi-part key ids on <15.0 🎾
2022-07-26 13:55:04 +10:00
Marc Durdin
b5bddc025f chore(core): rename json.hpp to jsonpp.hpp
The name json.hpp conflicts with the JSON for Modern C++ library that
is also used by Developer. Renames json.hpp and json.cpp to jsonpp.hpp
and jsonpp.cpp aka "JSON Pretty Printer".
2022-07-26 13:06:16 +10:00
Marc Durdin
5895d26e64
Merge pull request #6884 from keymanapp/feat/developer/touch-layout-editor-flick-and-multitap
feat(developer): Rework Touch Layout Editor to support flick and multitap 🙊
2022-07-26 07:14:02 +10:00
Marc Durdin
9d82419aac fix(developer): improve error message for multi-part key ids on <15.0
Relates to https://community.software.sil.org/t/rule-for-touch-layout-question/6482/6
2022-07-26 06:19:02 +10:00
Marc Durdin
b438a2089a
Merge pull request #6936 from keymanapp/feat/developer/5079-touch-layout-hints
feat(developer): add hint support to Touch Layout Editor and schema 🙊
2022-07-25 19:58:28 +10:00
Marc Durdin
dfb97766e1
Merge pull request #6925 from keymanapp/feat/developer/touch-layout-compiler-flick-and-multitap
feat(developer): add support for flick and multitap to compiler 🙊
2022-07-25 19:58:10 +10:00
Marc Durdin
ca47fce5b2
Merge pull request #6917 from keymanapp/feat/developer/touch-layout-schema-high-quality
feat(developer): cleanup touch layout files on load and save 🙊
2022-07-25 19:57:53 +10:00
Eberhard Beilharz
e16f4813f7
chore(linux): Update changelog
This change updates the changelog to keep it in sync with Debian
where PR #6966 got applied to the current stable version.

(cherry picked from commit c45dea856d)
2022-07-25 09:50:05 +02:00
Marc Durdin
ab54c0ecb9 chore(common): more bin bashes 2022-07-25 16:03:22 +10:00
Marc Durdin
767927bf16 chore(common): use /usr/bin/env bash
Fixes up scripts (except under /linux) to use `#!/usr/bin/env bash`
instead of `#!/bin/bash` or `#!/bin/sh` so that we don't end up with
the ancient version of bash supplied with macOS.

This became urgent with this PR, because of bash-4.xisms in
build-utils.sh, for example on line 572:

```
if [[ -v _builder_params[$e] ]]; then
```
2022-07-25 14:59:37 +10:00
Marc Durdin
93a03acb9f chore(common): builder script :target and --option support
Adds support for :target and --option to the builder_() functions in
build-utils.sh, along with a consistent way of describing command line
parameters in short-hand form, so we can avoid the display_usage getting
out of sync with actual command line parameters.

I opted to tweak the existing usage slightly, reversing parameter order
for `builder_report`, so that we could extend `builder_report` cleanly
to support targets.

The new builder_() functions are `builder_describe` and `builder_parse`,
which should be used in place for `builder_init` where you want to
provide more detailed command-line options (for many scripts, the
defaults provided through `builder_init` may suffice).

`builder_describe` lets you set a single-line description of the script,
along with a list of parameters: `actions`, `:targets` and `--options`.
Options may also specify a shorthand form, e.g. `--option,-o`. Each
parameter may optionally include a short description, separated by
space(s) from the parameter name.

build-utils.test.sh tests the functionality of the various functions,
and provides some examples of using them.

Defaults:
* If a target is not specified in `builder_describe`, a standard target
  of `:project` will be available.
* If the user does not pass an action on the command line, then `build`
  will be used.
* If the user does not pass a target on the command line, all targets
  will have the actions applied.

Note, it is possible to have targets which do not use all actions. These
may be still be specified, but can be ignored. For example, `test:tools`
may not be an action:target that you handle in the script. At this time,
the builder_() functions do not attempt to check for this.
2022-07-25 14:31:58 +10:00
Ross
d0456e724f fix(windows): place TODO for file access check 2022-07-25 14:03:06 +10:00
Marc Durdin
ae45b69b5f fix(android): rework longpress movement trigger
Fixes #6981.

Longpress menus were being triggered on any detected movement on keys on
Android. This would cause rapid typing to periodically fail as the user
would make a single-pixel movement while typing, which would then block
subsequent key events.

This issue was introduced in #6637, which resolved a somewhat related
problem with sticky longpress menus.

The fix is in three parts:

1. Remove the touch movement detection which caused the primary problem
2. Address some logic issues around visibility of `subkeysWindow`
3. Introduce a new 'scroll' gesture handler which detects a negative-y
   movement above a 5px threshold, to open the longpress menu.

The 5px threshold is the minimum default used by Keyman Engine for Web.
However, it may not be ideal, and we should consider moving to using the
0.25 x row height value that Keyman Engine for Web uses in a future
update. However, I do not consider this to be a reason to block this
fix, as it would require significant extra engineering.
2022-07-25 08:03:02 +10:00
Keyman Server
16a63d84ea
Merge pull request #6983 from keymanapp/auto/version-master-16.0.38
auto: increment master version to 16.0.38
2022-07-23 04:03:00 +10:00
Keyman Build Agent
c5a5967275 auto: increment master version to 16.0.38 2022-07-22 14:02:12 -04:00
Eberhard Beilharz
1f10b187d3
Merge pull request #6956 from keymanapp/feat/linux/issue-6785
fix(linux): Implement refresh after keyboard installation
2022-07-22 10:46:28 +02:00
Eberhard Beilharz
6ee11d6b9b
fix(linux): Fix build on Bionic
Python 3.6 (used in Bionic) accepts `@dbus.service.signal(BUS_NAME)`,
and it accepts the `-> None` syntax, but not both together!?
2022-07-22 09:47:37 +02:00
Eberhard Beilharz
ac763ed9bd
fix(linux): Implement refresh after keyboard installation
This will refresh the list of installed keyboards even when we
install a keyboard from a command line tool, or from a second
km-config instance.

Closes #6785.
2022-07-22 09:47:34 +02:00
Marc Durdin
0d7e998bb6
Merge pull request #6943 from keymanapp/fix/developer/6897-timeouts-when-server-shutdown
fix(developer): reduce timeouts if server shut down 🎾
2022-07-22 16:42:50 +10:00
Eberhard Beilharz
c060ecfec7
Merge pull request #6975 from keymanapp/chore/linux/kinetic
chore(linux): Add support for Ubuntu 22.10 "Kinetic Kudu"
2022-07-22 06:44:45 +02:00
Eberhard Beilharz
94a4e5facd
Merge pull request #6973 from keymanapp/chore/linux/changelog-master
chore(linux): Update Debian changelog 🍒
2022-07-22 06:44:28 +02:00
Eberhard Beilharz
34f29bae76
Merge pull request #6968 from keymanapp/fix/linux/6967-permissions
fix(linux): Catch PermissionError exception
2022-07-22 06:43:40 +02:00
Joshua A. Horton
93ae6878db change(web): updates mobile screen-dim detection code 2022-07-21 15:12:20 +07:00
Keyman Server
16643d7479
Merge pull request #6977 from keymanapp/auto/version-master-16.0.37
auto: increment master version to 16.0.37
2022-07-21 04:02:44 +10:00
Keyman Build Agent
797ee56a6b auto: increment master version to 16.0.37 2022-07-20 14:01:59 -04:00
Marc Durdin
6c12bbc6cd refactor(developer): fixup path to tests
tidied up +removed unnecessary files
checked contents of files+included a few new functions needed for myVersion
changed datatypes in CheckForDuplicates
tidy up more paths
CheckFileConsistency: not able to fully adapt for use of char16_t on non windows p.
	-> used char16_t + commented out some AddWarning().
2022-07-20 17:49:17 +02:00