Commit graph

33096 commits

Author SHA1 Message Date
Marc Durdin
bb351a7d0b chore(developer): hide debug events panel
Relates to #5013.

Hide the debug events panel by default, and add
a Tools menu item to make it visible for dev purposes
(Ctrl+Shift+click on Tools menu to view).
2021-08-18 09:05:53 +10:00
Marc Durdin
9f0ba213aa fix(developer): null check 2021-08-18 08:31:00 +10:00
Marc Durdin
11043b62c9 fix(developer): get Test Mode working again
Relates to #5013.

This resolves the broken Test Mode with Keyman Core. Previously, Test
Mode just dumped the keyboard into Keyman for Windows, and let it do its
thing. Given that we no longer have the dependency on Keyman for
Windows, the Test window must use Keyman Core to process keystrokes, and
that means there are some differences in how Test Mode operates in 15.0:

* Behind the scenes, the Test mode is just the Debug mode with
  breakpoints and single step disabled, and the Debug Status window
  hidden
* Test mode requires debug information in the keyboard (see note below)
* You can always switch between Test and Debug mode
* Deadkeys are always shown in the debug window

Test Mode now requires debug information to be included in the keyboard
in order for deadkeys to be tracked correctly in the editor. While it
would be possible to remove the need for this, it does not add any
significant benefit to do so -- doing so would mean that the tester
would have less visibility into deadkeys, and complicate the Core
marker tracking in the debug window.

I considered removing Test Mode altogether, but it still feels like a
useful view for playing with a keyboard without all the debugging
paraphernalia cluttering the display. It's a little slower than full
native Keyman for Windows (aka the 14.0 Test Mode), because the debug
hooks are still running in the background, but it is quite usable.

Note the removal of `Application.ProcessMessages`. This resolves the
issue of keystrokes being swallowed by the debugger during
non-interactive debug runs, making rapid input work properly in both
Debug Mode and Test Mode.
2021-08-18 07:46:39 +10:00
Marc Durdin
6845dee3b9
Merge pull request #5586 from keymanapp/fix/windows/5574-restore-hint-window
fix(windows): handle restoring modal dialogs consistently
2021-08-18 07:06:43 +10:00
Marc Durdin
77dc2ae749 chore(developer): refactor forcekeyboard in debug 2021-08-18 07:02:22 +10:00
Marc Durdin
db0f432b1c chore(developer): debug deadkey 1-based values 2021-08-18 06:24:27 +10:00
Eberhard Beilharz
163874b81d
Merge pull request #5585 from keymanapp/fix/linux/5584-badimage
fix(linux): Handle corrupt icon file
2021-08-17 11:43:58 +02:00
Eberhard Beilharz
ce132dbc8a
Merge pull request #5583 from keymanapp/fix/linux/5575-badzipfile
fix(linux): Check for valid kmp file
2021-08-17 11:42:43 +02:00
Marc Durdin
265d3e0b83 chore(developer): remove unused TDebugEventCursor 2021-08-17 19:13:43 +10:00
Marc Durdin
cbe99922eb fix(developer): debugger cleanup
Relates to #5013.

Before starting on new functionality in the debugger, I wanted to
cleanup a bunch of bits and pieces, including:

1. Correct handling of text selection and deletion
2. Refactor of character grid at bottom of debug window
3. Deadkey realignment after text changes
4. Correct tracking of cursor position between events
5. Handling a few destruction edge cases
2021-08-17 19:04:32 +10:00
Joshua Horton
2bed4d9105
Merge pull request #5587 from keymanapp/fix/android/build-fail-from-duped-line
fix(android): removes duplicated line
2021-08-17 14:31:17 +07:00
jahorton
7a570307cb fix(web): another TouchEvent instanceof check 2021-08-17 14:20:18 +07:00
Ross
3b3ea6e75b feat(windows): clean up formating 2021-08-17 17:16:56 +10:00
jahorton
603fc8bbd5 fix(android): removes duplicated line 2021-08-17 13:52:51 +07:00
jahorton
2ef9593a9f chore(web): Merge branch 'refactor/web/vkbd-touch-events' into refactor/web/vkbd-mouse-events 2021-08-17 13:48:47 +07:00
jahorton
52c0897761 fix(android): fix accidentally duplicated lines 2021-08-17 13:48:22 +07:00
jahorton
85167994ee fix(web): unit-test issue, TouchEvent compat for desktop 2021-08-17 13:35:39 +07:00
Ross
4bf4106a37 chore(windows): Merge branch 'master' into feat/windows/keyman-core-integration-2 2021-08-17 16:23:38 +10:00
Ross
0f4e3d1768 feat(windows): core saving context null pointer check 2021-08-17 14:10:44 +10:00
jahorton
b26ea21915 chore(web): Merge branch 'refactor/web/vkbd-touch-events' into refactor/web/vkbd-mouse-events 2021-08-17 10:22:36 +07:00
jahorton
7dd7adb323 chore(web): minor cleanup 2021-08-17 10:21:54 +07:00
Darcy Wong
2dcd40f67e fix(android/engine): Remove unneeded keyboardPickerEnabled var 2021-08-17 10:03:07 +07:00
Darcy Wong
a027277ed7 chore(android/engine): Address additional review comments 2021-08-17 09:37:03 +07:00
jahorton
8656393478 chore(web): Merge branch 'master' into refactor/web/vkbd-touch-events 2021-08-17 08:46:20 +07:00
Joshua Horton
ed135f7861
Merge pull request #5521 from keymanapp/fix/android/5252-keyboard-black-bar
fix(android): keyboard's black bar bug
2021-08-17 08:43:34 +07:00
Joshua Horton
c35c003762
Merge pull request #5462 from keymanapp/refactor/web/vkbd-layout-key-calc-merger
refactor(web): overhaul of OSK key layout calcs + styling, merges desktop & touch logic 📐
2021-08-17 08:36:15 +07:00
Joshua Horton
b5789d2b6a
Merge pull request #5459 from keymanapp/refactor/web/vkbd-layout-calcs
refactor(web): reworks VisualKeyboard layout spec design 📐
2021-08-17 08:36:02 +07:00
Joshua Horton
4ccf48b678
Merge pull request #5451 from keymanapp/refactor/web/vkbd-layout-encapsulation
refactor(web): OSK layout hierarchy encapsulation 📐
2021-08-17 08:35:49 +07:00
Joshua Horton
30296fe113
Merge pull request #5557 from keymanapp/feat/ios/simulator-build-artifact
feat(ios): adds option for Simulator-compatible testing artifact
2021-08-17 08:26:15 +07:00
Darcy Wong
5214c75aab
Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2021-08-17 08:10:01 +07:00
Marc Durdin
d90f382499 fix(windows): handle restoring modal dialogs consistently
Fixes #5574.

When a user presses Win+M, Win+D, or clicks the desktop button on the
taskbar, all windows get minimized, even those that do not have the
WS_MINIMIZE flag. Delphi modal dialog forms are not expecting this, and
do not restore correctly later.

This scenario arises only when a form is created with a `nil` owner and
then `form.ShowModal` is called.

The fix was already implemented on Splash and HTML forms, but
differently; I have chosen to use the implementation from the Splash
form as it is simpler and seems to work correctly.
2021-08-17 06:31:31 +10:00
Eberhard Beilharz
c8049a0cd2
fix(linux): Handle corrupt icon file
Fixes #5584.
2021-08-16 15:55:36 +02:00
Eberhard Beilharz
a98300f769
fix(linux): Fix failing tests 2021-08-16 11:56:05 +02:00
Eberhard Beilharz
58742b1a46
fix(linux): Check for valid zip file in km-package-install as well 2021-08-16 11:03:23 +02:00
Eberhard Beilharz
d48b5194e1
fix(linux): Check for valid kmp file
Before trying to install we now check if it's a valid zip file.
This fixes #5575.
2021-08-16 10:58:50 +02:00
Marc Durdin
4eac85907f
Merge pull request #5582 from keymanapp/feat/web/test-artifacts
feat(web): setup build artifacts for manual tests
2021-08-16 13:27:22 +10:00
Marc Durdin
0bf9089227 feat(web): setup build environment for manual tests
This is work arising from the spacebarText postmortem. The only changes
in this commit at present are in the readme, just to give us a pull
request to play with.
2021-08-16 10:33:16 +10:00
Ross
ae9ba52ab9 fix(windows): meson build for static lib 2021-08-10 17:43:55 +10:00
Darcy Wong
973a2d3f86 chore(android): Remove runConfigurations.xml files 2021-08-09 17:17:26 +07:00
Darcy Wong
c69dddf8a8 chore(android/engine): Refactor globe key actions 2021-08-09 14:53:39 +07:00
Darcy Wong
d9a5d05cbc fix(android/engine): Override keyboard switch when only 1 installed 2021-08-09 14:53:39 +07:00
Darcy Wong
2b3921c95d chore(android): Update help 2021-08-09 14:53:39 +07:00
Eberhard Beilharz
3f8d8f5cff
Merge pull request #5564 from keymanapp/chore/core/uninstall
chore(common/core): Add uninstall option to build script
2021-08-09 08:15:20 +02:00
Eberhard Beilharz
5e6de93e42
Merge pull request #5565 from keymanapp/docs/linux/ibus
docs(linux): Fix readme for ibus-keyman
2021-08-09 08:14:40 +02:00
Joshua Horton
0997dc34a8
chore(ios): Apply suggestions from code review
Co-authored-by: Marc Durdin <marc@durdin.net>
2021-08-09 08:22:57 +07:00
Keyman Server
05a15673a9
Merge pull request #5566 from keymanapp/auto/version-master-15.0.96
auto: increment master version to 15.0.96
2021-08-07 04:03:31 +10:00
Keyman Build Agent
dfa16719e7 auto: increment master version to 15.0.96 2021-08-06 14:02:51 -04:00
Eberhard Beilharz
7d15f74181
Merge pull request #5497 from keymanapp/chore/core/issue-5052
chore(common/core): Linux side of caps-lock stores 🚧
2021-08-06 16:58:18 +02:00
Eberhard Beilharz
3f9c1a380a
docs(linux): Fix readme for ibus-keyman
Turns out setting `KEYMAN_PROC_CFLAGS` isn't sufficient to use header
files from source repo.
2021-08-06 16:55:02 +02:00
Eberhard Beilharz
3509ddeb7c
chore(common/core): Add uninstall option to build script 2021-08-06 16:53:33 +02:00