Commit graph

3302 commits

Author SHA1 Message Date
Marc Durdin
f55f3fec1e chore: additional sentry.io links 2021-10-04 15:08:28 +11:00
Marc Durdin
3219b44624 chore: sentry.io dsn 2021-10-04 15:01:36 +11:00
Marc Durdin
b700cf334b
Merge pull request #5709 from keymanapp/fix/windows/5091-default-language
fix(windows): handle edge cases using default language
2021-10-02 11:12:46 +10:00
Marc Durdin
6882e97ae0
Merge pull request #5749 from keymanapp/fix/web/2924-variable-stores-and-fat-fingering
fix(web): support variable stores with predictive text
2021-10-02 11:12:34 +10:00
Darcy Wong
55bd82ecd7
Merge pull request #5722 from keymanapp/chore/common/crowdin-update-am
chore(ios,android,windows): Update crowdin strings for Amharic
2021-10-01 06:53:36 +07:00
Marc Durdin
e075550f0e
Merge pull request #5769 from keymanapp/chore/windows/keyman-core-ui-and-settings
chore(windows): Keyman Core UI and Settings 🥑
2021-09-30 14:25:07 +10:00
rc-swag
96da136a95
Merge pull request #5443 from keymanapp/feat/windows/keyman-core-integration-2
feat(windows): Keyman Core integration 🥑
2021-09-30 10:54:17 +10:00
Marc Durdin
3a53d662d2 fix(developer): handle shortcut keys in debugger
Fixes #5718.

The debugger memo control will now filter out action shortcut keys such
as Ctrl+A, Ctrl+O, so that the keyboard being debugged can get the first
chance to look at them and handle them if it wishes.

If the keyboard does not handle the keystroke, then a set of editor
shortcut keys will be handled by the debugger, namely:

* Ctrl+A - select all
* Ctrl+C - copy
* Ctrl+V - paste
* Ctrl+X - cut
* Ctrl+Z - undo

Note that undo semantics are a little weird with the debugger, but that
is not related to this fix. By a little weird, I mean that characters
emitted by the keyboard being debugged do not flow into the undo buffer,
so undo often has no effect. I am not planning to fix this idiosyncrasy
at this time.
2021-09-30 07:51:07 +10:00
Marc Durdin
1b16a0d957
Merge pull request #5746 from keymanapp/fix/developer/5702-shift-6-ampersand
fix(developer): move ampersand to shift+7 on touch
2021-09-30 06:09:24 +10:00
Marc Durdin
4523a04409 chore(windows): address review comments and fix installer bug 2021-09-29 15:05:41 +10:00
Marc Durdin
f82fa96449 chore(windows): Keyman Core UI and Settings
* Adds a taskbar icon to highlight to user when Keyman Core library is
  in use, with a crummy core.ico. This visual feedback will be removed
  in late beta.
* Renames the 'use common core' registry setting to match other flags
* Adds a System Setting to make the Keyman Core setting visible in
  System Settings and kmconfig.
2021-09-29 13:51:51 +10:00
Darcy Wong
ef1be0cecb chore(common): Check in crowdin strings for Hausa 2021-09-29 10:47:56 +07:00
Darcy Wong
0d366637a8 chore(android,windows): Update Amharic strings 2021-09-29 10:20:28 +07:00
Marc Durdin
211f8ef806
Merge pull request #5765 from keymanapp/chore/windows/help-broken-links
chore(windows): fix broken links in help
2021-09-29 12:35:04 +10:00
Darcy Wong
db7e7beec4
Merge pull request #5734 from keymanapp/chore/common/crowdin-shu-latn-ng
chore(common): Check in crowdin strings for Shuwa Latin
2021-09-29 09:18:10 +07:00
Marc Durdin
6d94dba5d9 fix(windows): unit test os version 2021-09-29 12:12:48 +10:00
Marc Durdin
56d18bfab3 fix(windows): change canonicalization strategy for Windows 7
On Windows 7, we will no longer attempt to canonicalize BCP 47 tags in
the same was as on later OS versions, because there appear to be some
significant differences in how they work, for example, zh-CN is not
converted to zh-Hans-CN on Windows 7, whereas it is on Windows 10.

This commit also refreshes the `KLog` unit which is useful for debugging
these types of scenarios.
2021-09-29 11:34:16 +10:00
Marc Durdin
c0ac074618
Merge pull request #5720 from keymanapp/fix/developer/5327-touch-remove-empty-rows
fix(developer): remove empty touch rows on save
2021-09-29 07:38:31 +10:00
Marc Durdin
b69bb30adf chore(windows): fix broken links in help 2021-09-29 07:18:43 +10:00
rc-swag
b71fde66f9
Merge branch 'master' into feat/windows/keyman-core-integration-2 2021-09-27 21:40:22 +10:00
rc-swag
8eeaef9ae5
Merge branch 'feat/windows/keyman-core-integration-2' into feat/windows/preserving-keyboard-options-in-engine 2021-09-27 21:21:56 +10:00
Marc Durdin
a65b55e1b5 fix(web): support variable stores with predictive text
Fixes #2924.

When a keyboard includes variable stores, predictive text fat-fingering
tests will no longer affect the variable store values.
2021-09-27 06:54:24 +10:00
Marc Durdin
d4b9f18106 fix(developer): move ampersand to shift+7 on touch
Fixes #5702.

On the phone layout for two templates, ampersand (`&`) was on Shift+6
instead of on Shift+7.
2021-09-24 14:01:24 +10:00
Marc Durdin
39a4fe75fe fix(windows): escape strings embedded in JS 2021-09-24 13:44:46 +10:00
Darcy Wong
fa0b973aee chore(common): Update strings 2021-09-24 07:02:22 +07:00
Marc Durdin
eee06e18be chore(developer): cleanup links and display attributes 2021-09-23 14:03:39 +10:00
Marc Durdin
896b922865 chore(developer): refactoring - minor 2021-09-23 13:51:54 +10:00
Ross
71f97d46aa feat(windows): add link to mem leak github repo 2021-09-22 16:51:14 +10:00
Ross
1c405c5142 feat(windows): Address review comments 2021-09-22 16:33:30 +10:00
rc-swag
64dbaad371
feat(windows): Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2021-09-22 16:11:36 +10:00
Ross
deb358de5a feat(windows): add memory leak tests - fix memory leaks 2021-09-22 11:28:28 +10:00
Marc Durdin
05cefaf9f8 feat(developer): improve look and feel of test view 2021-09-22 11:02:54 +10:00
Marc Durdin
6b39383743 feat(developer): touch layout testing
Adds support for testing touch layouts without requiring use of device
emulation. Uses new InlinedOSKView.

Does not yet add a view within Keyman Developer; this will come shortly.
2021-09-22 11:02:53 +10:00
Marc Durdin
3eda9dd3a1
Merge pull request #5727 from keymanapp/fix/developer/kmlmc-debug-path
fix(developer): run kmlmc from Keyman source path
2021-09-22 09:44:55 +10:00
Darcy Wong
d089b962af chore(common): Check in crowdin strings for Shuwa Latin 2021-09-21 14:42:58 +07:00
rc-swag
00d4bcded8
feat(windows): Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2021-09-21 11:48:56 +10:00
Darcy Wong
dd15e68a0e
Merge pull request #5681 from keymanapp/chore/common/crowdin-zh
chore(common): Check in crowdin strings for Simplified Chinese
2021-09-21 07:14:42 +07:00
Ross
d450543253 feat(windows): address review comments
Add test fixture to allow Setup and Teardown methods to be used
for all km process action tests.
Modified the DebugAssert macro to not do the early return on its own.
2021-09-21 09:59:17 +10:00
Marc Durdin
6b8d941f9e chore: add KeymanDeveloperPaths to kmcomp project 2021-09-21 06:45:26 +10:00
Marc Durdin
e6190ee05f fix(developer): run kmlmc from Keyman source path
Makes it possible to run the kmlmc.cmd compiler wrapper script from
Keyman Developer while debugging from source.

Adds a new class `TKeymanDeveloperPaths` which is similar to
`TKeymanPaths`, to provide a future single location for all Keyman
Developer path-related functions. There are a number scattered through
the source at present, e.g. in `RedistFiles.pas`, so this is just a
starting point.
2021-09-21 06:25:35 +10:00
Marc Durdin
ffd66e32e1
Merge pull request #5697 from keymanapp/fix/developer/5013-debugger-ralt-not-working
fix(developer): support chiral modifiers in debugger 🐞
2021-09-20 16:12:47 +10:00
Marc Durdin
41a9e8c26d
Merge pull request #5696 from keymanapp/feat/developer/5695-debugger-track-set-option-value
feat(developer): track changes to option values better in debugger 🐞
2021-09-20 16:12:39 +10:00
rc-swag
9305bae3ba
fix(windows): commit review suggestions
Co-authored-by: Marc Durdin <marc@durdin.net>
2021-09-20 11:34:06 +10:00
Marc Durdin
6de2238a25 fix(developer): remove empty touch rows on save
Fixes #5327.
2021-09-20 09:15:09 +10:00
Darcy Wong
8e64b8f7d6 fix(windows): Update language names 2021-09-17 13:47:58 +07:00
Marc Durdin
547ede3a9b fix(developer): add version info to Core
Fixes #5672.

* Adds version information to meson build for Keyman Core DLL
* Removes verify.dpr patch added in #5649 so it will be tested at build
2021-09-17 12:47:01 +10:00
Marc Durdin
6fa5399cda
chore(windows): Apply suggestion
Co-authored-by: Darcy Wong <darcy_wong@sil.org>
2021-09-17 10:30:41 +10:00
Marc Durdin
838693d132
Merge pull request #5647 from keymanapp/feat/developer/debugger-keyboard-options
feat(developer): Debugger keyboard options 🐞
2021-09-17 10:11:29 +10:00
Marc Durdin
7295ea9af3
Merge pull request #5640 from keymanapp/feat/developer/debugger-platform-option
feat(developer): Debugger platform option 🐞
2021-09-17 10:10:53 +10:00
Marc Durdin
a8a19b2a2e fix(windows): handle edge cases using default language
Fixes #5091.

If the user has a default language that is not a minimal BCP47 tag, such
as `zh-Hans-CN` vs `zh-CN`, or if the default language does not have a
mapping in our `TLanguageCodeUtils.TranslateWindowsLanguagesToBCP47`
function, then kmshell would crash on install of a keyboard that had no
language metadata specified (i.e. neither legacy metadata in .kmx nor
modern metadata in .kmp).

This crash arose because the elevated instance of kmshell would install
a local-machine reference to `zh-CN` (as it back-translated from a
LangID), but the current user install would look for `zh-Hans-CN`, read
from the Windows registry `HKCU\Control Panel\International\User Profile`.

To further complicate matters, it is possible for the current user to
have a different default language than the elevated user on the machine.
Keyman was assuming that the default language was the same in both
cases.

This fix passes in the current user's default BCP47 and LangID to the
elevated portion of the keyboard install, so we can guarantee that
keyboard install which needs to use the default language, actually
installs for the current user's actual language code, and not a
canonicalized version (or a totally different code in the case of
elevation to an alternate admin user account).
2021-09-17 06:37:23 +10:00